aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/libghostty-vt
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-24 10:01:26 +0200
committeruser <user@clank>2026-08-24 10:01:26 +0200
commit75774b64ecfdbbfc6df78e34fb489ed21e401386 (patch)
treeea713049d88e140ebfaa23cc4b34cd1127b80ccf /vendor/libghostty-vt
parentslosh: a pane arriving in a zoomed tab ends the zoom (diff)
downloadslosh-75774b64ecfdbbfc6df78e34fb489ed21e401386.tar.gz
slosh-75774b64ecfdbbfc6df78e34fb489ed21e401386.tar.xz
slosh-75774b64ecfdbbfc6df78e34fb489ed21e401386.zip
vendor: an unanchored build/ ignore was eating libghostty-vt's build tooling
The build/ pattern matched every directory of that name, not just our build output at the root -- so vendor/libghostty-vt/src/build/ (the library's own build.zig helpers) never made it into git, and make vendor broke on fresh clones. Anchor the ignore to /build/ and restore the 284 files it had silently dropped.
Diffstat (limited to 'vendor/libghostty-vt')
-rw-r--r--vendor/libghostty-vt/src/apprt/gtk/build/blueprint.zig146
-rw-r--r--vendor/libghostty-vt/src/apprt/gtk/build/gresource.zig276
-rw-r--r--vendor/libghostty-vt/src/apprt/gtk/build/info.zig18
-rw-r--r--vendor/libghostty-vt/src/build/CombineArchivesStep.zig50
-rw-r--r--vendor/libghostty-vt/src/build/Config.zig803
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyBench.zig55
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyDist.zig257
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyDocs.zig124
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyExe.zig120
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyFrameData.zig75
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyI18n.zig200
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyLib.zig300
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyLibVt.zig651
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyResources.zig442
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyWebdata.zig119
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyXCFramework.zig75
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyXcodebuild.zig203
-rw-r--r--vendor/libghostty-vt/src/build/GhosttyZig.zig146
-rw-r--r--vendor/libghostty-vt/src/build/GitVersion.zig86
-rw-r--r--vendor/libghostty-vt/src/build/HelpStrings.zig56
-rw-r--r--vendor/libghostty-vt/src/build/LibsystemOverrideStep.zig51
-rw-r--r--vendor/libghostty-vt/src/build/LibtoolStep.zig78
-rw-r--r--vendor/libghostty-vt/src/build/LipoStep.zig42
-rw-r--r--vendor/libghostty-vt/src/build/MetallibStep.zig73
-rw-r--r--vendor/libghostty-vt/src/build/SharedDeps.zig1131
-rw-r--r--vendor/libghostty-vt/src/build/UnicodeTables.zig92
-rw-r--r--vendor/libghostty-vt/src/build/XCFrameworkStep.zig77
-rw-r--r--vendor/libghostty-vt/src/build/combine_archives.zig55
-rw-r--r--vendor/libghostty-vt/src/build/docker/debian/Dockerfile43
-rw-r--r--vendor/libghostty-vt/src/build/docker/lib-c-docs/Dockerfile38
-rwxr-xr-xvendor/libghostty-vt/src/build/docker/lib-c-docs/entrypoint.sh32
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_001.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_002.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_003.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_004.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_005.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_006.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_007.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_008.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_009.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_010.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_011.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_012.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_013.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_014.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_015.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_016.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_017.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_018.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_019.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_020.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_021.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_022.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_023.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_024.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_025.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_026.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_027.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_028.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_029.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_030.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_031.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_032.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_033.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_034.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_035.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_036.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_037.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_038.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_039.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_040.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_041.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_042.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_043.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_044.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_045.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_046.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_047.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_048.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_049.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_050.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_051.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_052.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_053.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_054.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_055.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_056.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_057.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_058.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_059.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_060.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_061.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_062.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_063.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_064.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_065.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_066.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_067.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_068.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_069.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_070.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_071.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_072.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_073.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_074.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_075.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_076.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_077.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_078.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_079.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_080.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_081.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_082.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_083.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_084.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_085.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_086.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_087.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_088.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_089.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_090.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_091.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_092.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_093.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_094.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_095.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_096.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_097.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_098.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_099.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_100.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_101.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_102.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_103.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_104.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_105.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_106.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_107.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_108.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_109.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_110.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_111.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_112.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_113.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_114.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_115.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_116.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_117.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_118.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_119.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_120.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_121.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_122.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_123.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_124.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_125.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_126.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_127.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_128.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_129.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_130.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_131.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_132.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_133.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_134.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_135.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_136.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_137.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_138.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_139.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_140.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_141.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_142.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_143.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_144.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_145.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_146.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_147.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_148.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_149.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_150.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_151.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_152.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_153.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_154.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_155.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_156.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_157.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_158.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_159.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_160.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_161.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_162.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_163.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_164.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_165.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_166.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_167.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_168.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_169.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_170.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_171.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_172.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_173.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_174.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_175.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_176.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_177.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_178.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_179.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_180.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_181.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_182.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_183.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_184.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_185.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_186.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_187.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_188.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_189.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_190.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_191.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_192.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_193.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_194.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_195.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_196.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_197.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_198.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_199.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_200.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_201.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_202.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_203.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_204.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_205.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_206.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_207.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_208.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_209.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_210.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_211.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_212.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_213.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_214.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_215.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_216.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_217.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_218.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_219.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_220.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_221.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_222.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_223.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_224.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_225.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_226.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_227.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_228.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_229.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_230.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_231.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_232.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_233.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_234.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/frames/frame_235.txt41
-rw-r--r--vendor/libghostty-vt/src/build/framegen/main.c168
-rw-r--r--vendor/libghostty-vt/src/build/gtk.zig27
-rwxr-xr-xvendor/libghostty-vt/src/build/libsystem_override.sh123
-rw-r--r--vendor/libghostty-vt/src/build/main.zig34
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/ghostty_1_footer.md64
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/ghostty_1_header.md23
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/ghostty_5_footer.md43
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/ghostty_5_header.md122
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/main_ghostty_1.zig15
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/main_ghostty_5.zig15
-rw-r--r--vendor/libghostty-vt/src/build/mdgen/mdgen.zig117
-rw-r--r--vendor/libghostty-vt/src/build/uucode_config.zig138
-rw-r--r--vendor/libghostty-vt/src/build/wasm_patch_growable_table.zig268
-rw-r--r--vendor/libghostty-vt/src/build/webgen/main_actions.zig9
-rw-r--r--vendor/libghostty-vt/src/build/webgen/main_commands.zig53
-rw-r--r--vendor/libghostty-vt/src/build/webgen/main_config.zig134
-rw-r--r--vendor/libghostty-vt/src/build/xcframework.zig3
-rw-r--r--vendor/libghostty-vt/src/build/zig.zig18
284 files changed, 16923 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/apprt/gtk/build/blueprint.zig b/vendor/libghostty-vt/src/apprt/gtk/build/blueprint.zig
new file mode 100644
index 0000000..fb3f6ae
--- /dev/null
+++ b/vendor/libghostty-vt/src/apprt/gtk/build/blueprint.zig
@@ -0,0 +1,146 @@
+//! Compiles a blueprint file using `blueprint-compiler`. This performs
+//! additional checks to ensure that various minimum versions are met.
+//!
+//! Usage: blueprint.zig <major> <minor> <output> <input>
+//!
+//! Example: blueprint.zig 1 5 output.ui input.blp
+
+const std = @import("std");
+const adw_c = @import("adw_c");
+
+pub const blueprint_compiler_help =
+ \\
+ \\When building from a Git checkout, Ghostty requires
+ \\version {f} or newer of `blueprint-compiler` as a
+ \\build-time dependency. Please install it, ensure that it
+ \\is available on your PATH, and then retry building Ghostty.
+ \\See `HACKING.md` for more details.
+ \\
+ \\This message should *not* appear for normal users, who
+ \\should build Ghostty from official release tarballs instead.
+ \\Please consult https://ghostty.org/docs/install/build for
+ \\more information on the recommended build instructions.
+;
+
+const adwaita_version = std.SemanticVersion{
+ .major = adw_c.ADW_MAJOR_VERSION,
+ .minor = adw_c.ADW_MINOR_VERSION,
+ .patch = adw_c.ADW_MICRO_VERSION,
+};
+
+const required_blueprint_version = std.SemanticVersion{
+ .major = 0,
+ .minor = 16,
+ .patch = 0,
+};
+
+pub fn main(init: std.process.Init) !void {
+ var debug_allocator: std.heap.DebugAllocator(.{}) = .init;
+ defer _ = debug_allocator.deinit();
+ const alloc = debug_allocator.allocator();
+
+ // Get our args
+ var it = try init.minimal.args.iterateAllocator(alloc);
+ defer it.deinit();
+ _ = it.next(); // Skip argv0
+ const arg_major = it.next() orelse return error.NoMajorVersion;
+ const arg_minor = it.next() orelse return error.NoMinorVersion;
+ const output = it.next() orelse return error.NoOutput;
+ const input = it.next() orelse return error.NoInput;
+
+ const required_adwaita_version = std.SemanticVersion{
+ .major = try std.fmt.parseUnsigned(u8, arg_major, 10),
+ .minor = try std.fmt.parseUnsigned(u8, arg_minor, 10),
+ .patch = 0,
+ };
+ if (adwaita_version.order(required_adwaita_version) == .lt) {
+ std.debug.print(
+ \\`libadwaita` is too old.
+ \\
+ \\Ghostty requires a version {f} or newer of `libadwaita` to
+ \\compile this blueprint. Please install it, ensure that it is
+ \\available on your PATH, and then retry building Ghostty.
+ , .{required_adwaita_version});
+ std.process.exit(1);
+ }
+
+ // Version checks
+ {
+ const blueprint_compiler = std.process.run(alloc, init.io, .{
+ .argv = &.{ "blueprint-compiler", "--version" },
+ }) catch |err| switch (err) {
+ error.FileNotFound => {
+ std.debug.print(
+ \\`blueprint-compiler` not found.
+ ++ blueprint_compiler_help,
+ .{required_blueprint_version},
+ );
+ std.process.exit(1);
+ },
+ else => return err,
+ };
+ defer {
+ alloc.free(blueprint_compiler.stdout);
+ alloc.free(blueprint_compiler.stderr);
+ }
+
+ switch (blueprint_compiler.term) {
+ .exited => |rc| if (rc != 0) std.process.exit(1),
+ else => std.process.exit(1),
+ }
+
+ const version = try std.SemanticVersion.parse(std.mem.trim(
+ u8,
+ blueprint_compiler.stdout,
+ &std.ascii.whitespace,
+ ));
+ if (version.order(required_blueprint_version) == .lt) {
+ std.debug.print(
+ \\`blueprint-compiler` is the wrong version.
+ ++ blueprint_compiler_help,
+ .{required_blueprint_version},
+ );
+ std.process.exit(1);
+ }
+ }
+
+ // Compilation
+ {
+ const blueprint_compiler = std.process.run(alloc, init.io, .{
+ .argv = &.{
+ "blueprint-compiler",
+ "compile",
+ "--output",
+ output,
+ input,
+ },
+ }) catch |err| switch (err) {
+ error.FileNotFound => {
+ std.debug.print(
+ \\`blueprint-compiler` not found.
+ ++ blueprint_compiler_help,
+ .{required_blueprint_version},
+ );
+ std.process.exit(1);
+ },
+ else => return err,
+ };
+ defer {
+ alloc.free(blueprint_compiler.stdout);
+ alloc.free(blueprint_compiler.stderr);
+ }
+
+ switch (blueprint_compiler.term) {
+ .exited => |rc| {
+ if (rc != 0) {
+ std.debug.print("{s}", .{blueprint_compiler.stderr});
+ std.process.exit(1);
+ }
+ },
+ else => {
+ std.debug.print("{s}", .{blueprint_compiler.stderr});
+ std.process.exit(1);
+ },
+ }
+ }
+}
diff --git a/vendor/libghostty-vt/src/apprt/gtk/build/gresource.zig b/vendor/libghostty-vt/src/apprt/gtk/build/gresource.zig
new file mode 100644
index 0000000..57c32a3
--- /dev/null
+++ b/vendor/libghostty-vt/src/apprt/gtk/build/gresource.zig
@@ -0,0 +1,276 @@
+//! This file contains a binary helper that builds our gresource XML
+//! file that we can then use with `glib-compile-resources`.
+//!
+//! This binary is expected to be run from the Ghostty source root.
+//! Litmus test: `src/apprt/gtk` should exist relative to the pwd.
+
+const std = @import("std");
+const Allocator = std.mem.Allocator;
+
+const build_info = @import("info.zig");
+
+/// The path to the Blueprint files. The folder structure is expected to be
+/// `{version}/{name}.blp` where `version` is the major and minor
+/// minimum adwaita version.
+pub const ui_path = "src/apprt/gtk/ui";
+
+/// The path to the CSS files.
+pub const css_path = "src/apprt/gtk/css";
+
+/// The possible icon sizes we'll embed into the gresource file.
+/// If any size doesn't exist then it will be an error. We could
+/// infer this completely from available files but we wouldn't be
+/// able to error when they don't exist that way.
+pub const icon_sizes: []const comptime_int = &.{ 16, 32, 128, 256, 512, 1024 };
+
+/// The blueprint files that we will embed into the gresource file.
+/// We can't look these up at runtime [easily] because we require the
+/// compiled UI files as input. We can refactor this lator to maybe do
+/// all of this automatically and ensure we have the right dependencies
+/// setup in the build system.
+///
+/// These will be asserted to exist at runtime.
+pub const blueprints: []const Blueprint = &.{
+ .{ .major = 1, .minor = 0, .name = "clipboard-confirmation-dialog" },
+ .{ .major = 1, .minor = 4, .name = "clipboard-confirmation-dialog" },
+ .{ .major = 1, .minor = 2, .name = "close-confirmation-dialog" },
+ .{ .major = 1, .minor = 2, .name = "config-errors-dialog" },
+ .{ .major = 1, .minor = 2, .name = "debug-warning" },
+ .{ .major = 1, .minor = 3, .name = "debug-warning" },
+ .{ .major = 1, .minor = 5, .name = "imgui-widget" },
+ .{ .major = 1, .minor = 5, .name = "inspector-widget" },
+ .{ .major = 1, .minor = 5, .name = "inspector-window" },
+ .{ .major = 1, .minor = 2, .name = "resize-overlay" },
+ .{ .major = 1, .minor = 2, .name = "search-overlay" },
+ .{ .major = 1, .minor = 2, .name = "key-state-overlay" },
+ .{ .major = 1, .minor = 5, .name = "split-tree" },
+ .{ .major = 1, .minor = 5, .name = "split-tree-split" },
+ .{ .major = 1, .minor = 2, .name = "surface" },
+ .{ .major = 1, .minor = 5, .name = "surface-scrolled-window" },
+ .{ .major = 1, .minor = 3, .name = "surface-child-exited" },
+ .{ .major = 1, .minor = 5, .name = "tab" },
+ .{ .major = 1, .minor = 5, .name = "title-dialog" },
+ .{ .major = 1, .minor = 5, .name = "window" },
+ .{ .major = 1, .minor = 5, .name = "command-palette" },
+};
+
+/// CSS files in css_path
+pub const css = [_][]const u8{
+ "style.css",
+ "style-dark.css",
+ "style-hc.css",
+ "style-hc-dark.css",
+};
+
+pub const Blueprint = struct {
+ major: u16,
+ minor: u16,
+ name: []const u8,
+};
+
+/// The list of filepaths that we depend on. Used for the build
+/// system to have proper caching.
+pub const file_inputs = deps: {
+ const total = (icon_sizes.len * 2) + blueprints.len + css.len;
+ var deps: [total][]const u8 = undefined;
+ var index: usize = 0;
+ for (icon_sizes) |size| {
+ deps[index] = std.fmt.comptimePrint("images/gnome/{d}.png", .{size});
+ deps[index + 1] = std.fmt.comptimePrint("images/gnome/{d}.png", .{size * 2});
+ index += 2;
+ }
+ for (blueprints) |bp| {
+ deps[index] = std.fmt.comptimePrint("{s}/{d}.{d}/{s}.blp", .{
+ ui_path,
+ bp.major,
+ bp.minor,
+ bp.name,
+ });
+ index += 1;
+ }
+ for (css) |name| {
+ deps[index] = std.fmt.comptimePrint("{s}/{s}", .{ css_path, name });
+ index += 1;
+ }
+ break :deps deps;
+};
+
+/// Returns the matching blueprint resource path for the given blueprint
+/// definition. This will fail at compile time if the blueprint is not
+/// found.
+///
+/// Must be called at comptime.
+pub fn blueprint(comptime bp: Blueprint) [:0]const u8 {
+ // The comptime block around this whole thing forces an error if
+ // the caller attempts to call this function at runtime.
+ comptime {
+ for (blueprints) |candidate| {
+ if (candidate.major == bp.major and
+ candidate.minor == bp.minor and
+ std.mem.eql(u8, candidate.name, bp.name))
+ {
+ return std.fmt.comptimePrint("{s}/ui/{d}.{d}/{s}.ui", .{
+ build_info.resource_path,
+ candidate.major,
+ candidate.minor,
+ candidate.name,
+ });
+ }
+ }
+
+ @compileError("invalid blueprint");
+ }
+}
+
+pub fn main(init: std.process.Init) !void {
+ const alloc = init.arena.allocator();
+
+ // Collect the UI files that are passed in as arguments.
+ var ui_files: std.ArrayList([]const u8) = .empty;
+ defer {
+ for (ui_files.items) |item| alloc.free(item);
+ ui_files.deinit(alloc);
+ }
+
+ var it = try init.minimal.args.iterateAllocator(alloc);
+ defer it.deinit();
+ while (it.next()) |arg| {
+ if (!std.mem.endsWith(u8, arg, ".ui")) continue;
+ try ui_files.append(
+ alloc,
+ try alloc.dupe(u8, arg),
+ );
+ }
+
+ var buf: [4096]u8 = undefined;
+ var stdout = std.Io.File.stdout().writer(init.io, &buf);
+ const writer = &stdout.interface;
+ try writer.writeAll(
+ \\<?xml version="1.0" encoding="UTF-8"?>
+ \\<gresources>
+ \\
+ );
+
+ try genRoot(init.io, writer);
+ try genIcons(init.io, writer);
+ try genUi(alloc, writer, &ui_files);
+
+ try writer.writeAll(
+ \\</gresources>
+ \\
+ );
+
+ try stdout.end();
+}
+
+/// Generate the icon resources. This works by looking up all the icons
+/// specified by `icon_sizes` in `images/icons/`. They are asserted to exist
+/// by trying to access the file.
+fn genIcons(io: std.Io, writer: *std.Io.Writer) !void {
+ try writer.print(
+ \\ <gresource prefix="{s}/icons">
+ \\
+ , .{build_info.resource_path});
+
+ const cwd: std.Io.Dir = .cwd();
+ inline for (icon_sizes) |size| {
+ // 1x
+ {
+ const alias = std.fmt.comptimePrint("{d}x{d}", .{ size, size });
+ const source = std.fmt.comptimePrint("images/gnome/{d}.png", .{size});
+ try cwd.access(io, source, .{});
+ try writer.print(
+ \\ <file alias="{s}/apps/{s}.png">{s}</file>
+ \\
+ ,
+ .{ alias, build_info.base_application_id, source },
+ );
+ }
+
+ // 2x
+ {
+ const alias = std.fmt.comptimePrint("{d}x{d}@2", .{ size, size });
+ const source = std.fmt.comptimePrint("images/gnome/{d}.png", .{size * 2});
+ try cwd.access(io, source, .{});
+ try writer.print(
+ \\ <file alias="{s}/apps/{s}.png">{s}</file>
+ \\
+ ,
+ .{ alias, build_info.base_application_id, source },
+ );
+ }
+ }
+
+ try writer.writeAll(
+ \\ </gresource>
+ \\
+ );
+}
+
+/// Generate the resources at the root prefix.
+fn genRoot(io: std.Io, writer: *std.Io.Writer) !void {
+ try writer.print(
+ \\ <gresource prefix="{s}">
+ \\
+ , .{build_info.resource_path});
+
+ const cwd: std.Io.Dir = .cwd();
+ inline for (css) |name| {
+ const source = std.fmt.comptimePrint(
+ "{s}/{s}",
+ .{ css_path, name },
+ );
+ try cwd.access(io, source, .{});
+ try writer.print(
+ \\ <file compressed="true" alias="{s}">{s}</file>
+ \\
+ ,
+ .{ name, source },
+ );
+ }
+
+ try writer.writeAll(
+ \\ </gresource>
+ \\
+ );
+}
+
+/// Generate all the UI resources. This works by looking up all the
+/// blueprint files in `${ui_path}/{major}.{minor}/{name}.blp` and
+/// assuming these will be
+fn genUi(
+ alloc: Allocator,
+ writer: *std.Io.Writer,
+ files: *const std.ArrayList([]const u8),
+) !void {
+ try writer.print(
+ \\ <gresource prefix="{s}/ui">
+ \\
+ , .{build_info.resource_path});
+
+ for (files.items) |ui_file| {
+ for (blueprints) |bp| {
+ const expected = try std.fmt.allocPrint(
+ alloc,
+ "/{d}.{d}/{s}.ui",
+ .{ bp.major, bp.minor, bp.name },
+ );
+ defer alloc.free(expected);
+ if (!std.mem.endsWith(u8, ui_file, expected)) continue;
+ try writer.print(
+ " <file compressed=\"true\" preprocess=\"xml-stripblanks\" alias=\"{d}.{d}/{s}.ui\">{s}</file>\n",
+ .{ bp.major, bp.minor, bp.name, ui_file },
+ );
+ break;
+ } else {
+ // The for loop never broke which means it didn't find
+ // a matching blueprint for this input.
+ return error.BlueprintNotFound;
+ }
+ }
+
+ try writer.writeAll(
+ \\ </gresource>
+ \\
+ );
+}
diff --git a/vendor/libghostty-vt/src/apprt/gtk/build/info.zig b/vendor/libghostty-vt/src/apprt/gtk/build/info.zig
new file mode 100644
index 0000000..fc6478d
--- /dev/null
+++ b/vendor/libghostty-vt/src/apprt/gtk/build/info.zig
@@ -0,0 +1,18 @@
+const builtin = @import("builtin");
+
+/// Base application ID
+pub const base_application_id = "com.mitchellh.ghostty";
+
+/// GTK application ID
+pub const application_id = switch (builtin.mode) {
+ .Debug, .ReleaseSafe => base_application_id ++ "-debug",
+ .ReleaseFast, .ReleaseSmall => base_application_id,
+};
+
+pub const resource_path = "/com/mitchellh/ghostty";
+
+/// GTK object path
+pub const object_path = switch (builtin.mode) {
+ .Debug, .ReleaseSafe => resource_path ++ "_debug",
+ .ReleaseFast, .ReleaseSmall => resource_path,
+};
diff --git a/vendor/libghostty-vt/src/build/CombineArchivesStep.zig b/vendor/libghostty-vt/src/build/CombineArchivesStep.zig
new file mode 100644
index 0000000..cebd8e9
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/CombineArchivesStep.zig
@@ -0,0 +1,50 @@
+//! Combines multiple static archives into a single fat archive.
+//! Uses libtool on Darwin and a cross-platform MRI-script build tool
+//! on all other platforms (including Windows).
+const std = @import("std");
+const builtin = @import("builtin");
+const LibtoolStep = @import("LibtoolStep.zig");
+
+/// Combine multiple static archives into a single fat archive.
+///
+/// `name` identifies the library (e.g. "ghostty-internal", "ghostty-vt").
+/// Output uses a `-fat` suffix to distinguish the combined archive from
+/// the single-library archive in the build cache.
+pub fn create(
+ b: *std.Build,
+ target: std.Build.ResolvedTarget,
+ name: []const u8,
+ sources: []const std.Build.LazyPath,
+) struct { step: *std.Build.Step, output: std.Build.LazyPath } {
+ if (target.result.os.tag.isDarwin() and
+ comptime builtin.os.tag.isDarwin())
+ {
+ const libtool = LibtoolStep.create(b, .{
+ .name = name,
+ .out_name = b.fmt("lib{s}-fat.a", .{name}),
+ .sources = @constCast(sources),
+ });
+ return .{ .step = libtool.step, .output = libtool.output };
+ }
+
+ // On non-Darwin, use a build tool that generates an MRI script and
+ // pipes it to `zig ar -M`. This works on all platforms including
+ // Windows (the previous /bin/sh approach did not).
+ const tool = b.addExecutable(.{
+ .name = "combine_archives",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/build/combine_archives.zig"),
+ .target = b.graph.host,
+ }),
+ });
+ const run = b.addRunArtifact(tool);
+ run.addArg(b.graph.zig_exe);
+ const out_name = if (target.result.os.tag == .windows)
+ b.fmt("{s}-fat.lib", .{name})
+ else
+ b.fmt("lib{s}-fat.a", .{name});
+ const output = run.addOutputFileArg(out_name);
+ for (sources) |source| run.addFileArg(source);
+
+ return .{ .step = &run.step, .output = output };
+}
diff --git a/vendor/libghostty-vt/src/build/Config.zig b/vendor/libghostty-vt/src/build/Config.zig
new file mode 100644
index 0000000..07e047e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/Config.zig
@@ -0,0 +1,803 @@
+/// Build configuration. This is the configuration that is populated
+/// during `zig build` to control the rest of the build process.
+const Config = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+
+const ApprtRuntime = @import("../apprt/runtime.zig").Runtime;
+const FontBackend = @import("../font/backend.zig").Backend;
+const RendererBackend = @import("../renderer/backend.zig").Backend;
+const TerminalBuildOptions = @import("../terminal/build_options.zig").Options;
+const XCFrameworkTarget = @import("xcframework.zig").Target;
+const WasmTarget = @import("../os/wasm/target.zig").Target;
+const expandPath = @import("../os/path.zig").expand;
+
+const gtk = @import("gtk.zig");
+const GitVersion = @import("GitVersion.zig");
+
+/// Standard build configuration options.
+optimize: std.builtin.OptimizeMode,
+target: std.Build.ResolvedTarget,
+xcframework_target: XCFrameworkTarget = .universal,
+wasm_target: WasmTarget,
+
+/// Comptime interfaces
+app_runtime: ApprtRuntime = .none,
+renderer: RendererBackend = .opengl,
+font_backend: FontBackend = .freetype,
+
+/// Feature flags
+x11: bool = false,
+wayland: bool = false,
+sentry: bool = true,
+simd: bool = true,
+i18n: bool = true,
+wasm_shared: bool = true,
+
+/// Ghostty exe properties
+exe_entrypoint: ExeEntrypoint = .ghostty,
+version: std.SemanticVersion = .{ .major = 0, .minor = 0, .patch = 0 },
+lib_version: std.SemanticVersion = .{ .major = 0, .minor = 0, .patch = 0 },
+
+/// Binary properties
+pie: bool = false,
+strip: bool = false,
+patchelf: ?PatchElf = null,
+
+/// Artifacts
+flatpak: bool = false,
+snap: bool = false,
+emit_bench: bool = false,
+emit_docs: bool = false,
+emit_exe: bool = false,
+emit_helpgen: bool = false,
+emit_lib_vt: bool = false,
+emit_macos_app: bool = false,
+emit_terminfo: bool = false,
+emit_termcap: bool = false,
+emit_test_exe: bool = false,
+emit_themes: bool = false,
+emit_xcframework: bool = false,
+emit_webdata: bool = false,
+emit_unicode_table_gen: bool = false,
+
+/// True when Ghostty is being built as a dependency of another project
+/// rather than as the root project.
+is_dep: bool = false,
+
+/// Environmental properties
+env: *const std.process.Environ.Map,
+
+pub fn init(b: *std.Build, appVersion: []const u8, libVersion: []const u8) !Config {
+ // Setup our standard Zig target and optimize options, i.e.
+ // `-Doptimize` and `-Dtarget`.
+ const optimize = b.standardOptimizeOption(.{});
+
+ // Default dependency builds to libghostty-vt-only mode. Consumers can
+ // still explicitly disable this to request the full Ghostty build.
+ const is_dep = b.dep_prefix.len > 0;
+ const emit_lib_vt = b.option(
+ bool,
+ "emit-lib-vt",
+ "Set defaults for a libghostty-vt-only build (disables xcframework, macOS app, and docs).",
+ ) orelse is_dep;
+ const target = target: {
+ var result = b.standardTargetOptions(.{});
+
+ // If we're building for macOS and we're on macOS, we need to
+ // use a generic target to workaround compilation issues.
+ if (result.result.os.tag == .macos and
+ builtin.target.os.tag.isDarwin())
+ {
+ result = genericMacOSTarget(b, result.query.cpu_arch);
+ }
+
+ // On Windows, default to the MSVC ABI so that produced COFF
+ // objects (including compiler_rt) are compatible with the MSVC
+ // linker. Zig defaults to the GNU ABI which produces objects
+ // with invalid COMDAT sections that MSVC rejects (LNK1143).
+ // Only override when no explicit ABI was requested.
+ if (result.result.os.tag == .windows and
+ result.query.abi == null)
+ {
+ var query = result.query;
+ query.abi = .msvc;
+ result = b.resolveTargetQuery(query);
+ }
+
+ // The full Ghostty build no longer supports iOS; Fail early
+ // with a clear message rather than partway through the build.
+ if (result.result.os.tag == .ios and !emit_lib_vt) {
+ std.log.err(
+ "iOS is not a supported target for the full Ghostty build; " ++
+ "only libghostty-vt supports iOS (-Demit-lib-vt)",
+ .{},
+ );
+ return error.UnsupportedTarget;
+ }
+
+ // If we have no minimum OS version, we set the default based on
+ // our tag. Not all tags have a minimum so this may be null.
+ if (result.query.os_version_min == null) {
+ result.query.os_version_min = if (emit_lib_vt)
+ osVersionMinLibVt(result.result.os.tag)
+ else
+ osVersionMin(result.result.os.tag);
+ }
+
+ break :target result;
+ };
+
+ // This is set to true when we're building a system package. For now
+ // this is trivially detected using the "system_package_mode" bool
+ // but we may want to make this more sophisticated in the future.
+ const system_package = b.graph.system_package_mode;
+
+ // This specifies our target wasm runtime. For now only one semi-usable
+ // one exists so this is hardcoded.
+ const wasm_target: WasmTarget = .browser;
+
+ // Determine whether GTK supports X11 and Wayland. This is always safe
+ // to run even on non-Linux platforms because any failures result in
+ // defaults.
+ const gtk_targets = gtk.targets(b);
+
+ // Grab the environment from build state
+ const env = &b.graph.environ_map;
+
+ // We use env vars throughout the build so we grab them immediately here.
+ var config: Config = .{
+ .optimize = optimize,
+ .target = target,
+ .wasm_target = wasm_target,
+ .is_dep = is_dep,
+ .env = env,
+ };
+
+ //---------------------------------------------------------------
+ // Target-specific properties
+ config.xcframework_target = b.option(
+ XCFrameworkTarget,
+ "xcframework-target",
+ "The target for the xcframework.",
+ ) orelse .universal;
+
+ //---------------------------------------------------------------
+ // Comptime Interfaces
+ config.font_backend = b.option(
+ FontBackend,
+ "font-backend",
+ "The font backend to use for discovery and rasterization.",
+ ) orelse FontBackend.default(target.result, wasm_target);
+
+ config.app_runtime = b.option(
+ ApprtRuntime,
+ "app-runtime",
+ "The app runtime to use. Not all values supported on all platforms.",
+ ) orelse ApprtRuntime.default(target.result);
+
+ config.renderer = b.option(
+ RendererBackend,
+ "renderer",
+ "The app runtime to use. Not all values supported on all platforms.",
+ ) orelse RendererBackend.default(target.result, wasm_target);
+
+ //---------------------------------------------------------------
+ // Feature Flags
+
+ config.flatpak = b.option(
+ bool,
+ "flatpak",
+ "Build for Flatpak (integrates with Flatpak APIs). Only has an effect targeting Linux.",
+ ) orelse false;
+
+ config.snap = b.option(
+ bool,
+ "snap",
+ "Build for Snap (do specific Snap operations). Only has an effect targeting Linux.",
+ ) orelse false;
+
+ config.sentry = b.option(
+ bool,
+ "sentry",
+ "Build with Sentry crash reporting. Default for macOS is true, false for any other system.",
+ ) orelse sentry: {
+ switch (target.result.os.tag) {
+ .macos, .ios => break :sentry true,
+
+ // Note its false for linux because the crash reports on Linux
+ // don't have much useful information.
+ else => break :sentry false,
+ }
+ };
+
+ config.simd = b.option(
+ bool,
+ "simd",
+ "Build with SIMD-accelerated code paths. Results in significant performance improvements.",
+ ) orelse simd: {
+ // We can't build our SIMD dependencies for Wasm. Note that we may
+ // still use SIMD features in the Wasm-builds.
+ if (target.result.cpu.arch.isWasm()) break :simd false;
+
+ break :simd true;
+ };
+
+ config.wayland = b.option(
+ bool,
+ "gtk-wayland",
+ "Enables linking against Wayland libraries when using the GTK rendering backend.",
+ ) orelse gtk_targets.wayland;
+
+ config.x11 = b.option(
+ bool,
+ "gtk-x11",
+ "Enables linking against X11 libraries when using the GTK rendering backend.",
+ ) orelse gtk_targets.x11;
+
+ config.i18n = b.option(
+ bool,
+ "i18n",
+ "Enables gettext-based internationalization. Enabled by default only for macOS, and other Unix-like systems like Linux and FreeBSD when using glibc.",
+ ) orelse switch (target.result.os.tag) {
+ .macos, .ios => true,
+ .linux, .freebsd => target.result.isGnuLibC(),
+ else => false,
+ };
+
+ //---------------------------------------------------------------
+ // Ghostty Exe Properties
+
+ const version_string = b.option(
+ []const u8,
+ "version-string",
+ "A specific version string to use for the build. " ++
+ "If not specified, git will be used. This must be a semantic version.",
+ );
+
+ config.version = if (version_string) |v|
+ // If an explicit version is given, we always use it.
+ try std.SemanticVersion.parse(v)
+ else version: {
+ const app_version = try std.SemanticVersion.parse(appVersion);
+
+ // Is ghostty a dependency? If so, skip git detection.
+ if (is_dep) break :version .{
+ .major = app_version.major,
+ .minor = app_version.minor,
+ .patch = app_version.patch,
+ };
+
+ // If no explicit version is given, we try to detect it from git.
+ const vsn = GitVersion.detect(b) catch |err| switch (err) {
+ // If Git isn't available we just make an unknown dev version.
+ error.GitNotFound,
+ error.GitNotRepository,
+ => break :version .{
+ .major = app_version.major,
+ .minor = app_version.minor,
+ .patch = app_version.patch,
+ .pre = "dev",
+ .build = "0000000",
+ },
+
+ else => return err,
+ };
+ if (vsn.tag) |tag| {
+ // Tip releases behave just like any other pre-release so we skip.
+ if (!std.mem.eql(u8, tag, "tip")) {
+ const expected = b.fmt("v{d}.{d}.{d}", .{
+ app_version.major,
+ app_version.minor,
+ app_version.patch,
+ });
+
+ if (!std.mem.eql(u8, tag, expected)) {
+ @panic("tagged releases must be in vX.Y.Z format matching build.zig");
+ }
+
+ break :version .{
+ .major = app_version.major,
+ .minor = app_version.minor,
+ .patch = app_version.patch,
+ };
+ }
+ }
+
+ break :version .{
+ .major = app_version.major,
+ .minor = app_version.minor,
+ .patch = app_version.patch,
+ .pre = vsn.branch,
+ .build = vsn.short_hash,
+ };
+ };
+
+ // libghostty-vt properties
+
+ const lib_version_string = b.option(
+ []const u8,
+ "lib-version-string",
+ "A specific version string to use for the build of libghostty-vt. " ++
+ "If not specified, git will be used. This must be a semantic version.",
+ );
+
+ config.lib_version = if (lib_version_string) |v|
+ try std.SemanticVersion.parse(v)
+ else
+ try std.SemanticVersion.parse(libVersion);
+
+ //---------------------------------------------------------------
+ // Binary Properties
+
+ // On NixOS, the built binary from `zig build` needs to patch the interp
+ // and rpath into the built binary for it to be portable across the NixOS
+ // system it was built for. We default this to true if we can detect we're
+ // in a Nix shell.
+ //
+ // Note that this option is only available on Linux and if building
+ // natively.
+ //
+ // NOTE: Zig does now have an option to pass in the dynamic linker
+ // (-Ddynamic-linker), but it does seem to have some issues in 0.16.0 that
+ // may be fixed in 0.17.0. We may want to revisit this afterwards; although
+ // I'm not too sure if that helps to clean up rpath, this may just be the
+ // better option. See https://codeberg.org/ziglang/zig/issues/31760.
+ if (b.option(
+ []const u8,
+ "patch-interp",
+ "Inject the supplied path as the dynamic linker in the built binary. " ++
+ "Under Nix, this defaults to the dynamic linker found in PATH.",
+ )) |interp| {
+ PatchElf.setInterp(&config, interp);
+ } else patch_interp: {
+ if (!(target.result.os.tag == .linux) or !target.query.isNativeCpu()) break :patch_interp;
+ if (env.get("IN_NIX_SHELL") == null) break :patch_interp;
+
+ if (b.findProgram(&.{"ld.so"}, &.{})) |ld_so| {
+ PatchElf.setInterp(
+ &config,
+ std.Io.Dir.realPathFileAbsoluteAlloc(b.graph.io, ld_so, b.allocator) catch break :patch_interp,
+ );
+ } else |_| {}
+ }
+
+ if (b.option(
+ []const u8,
+ "patch-rpath",
+ "Inject the supplied colon-delimited search path as the rpath in the built binary. " ++
+ "This defaults to LD_LIBRARY_PATH if we're in a Nix shell environment.",
+ )) |rpath| {
+ PatchElf.setRpath(&config, rpath);
+ } else patch_rpath: {
+ if (!(target.result.os.tag == .linux) or !target.query.isNativeCpu()) break :patch_rpath;
+ if (env.get("IN_NIX_SHELL") == null) break :patch_rpath;
+
+ if (env.get("LD_LIBRARY_PATH")) |ld_library_path| {
+ if (ld_library_path.len > 0) {
+ PatchElf.setRpath(&config, ld_library_path);
+ }
+ }
+ }
+
+ config.pie = b.option(
+ bool,
+ "pie",
+ "Build a Position Independent Executable. Default true for system packages.",
+ ) orelse system_package;
+
+ config.strip = b.option(
+ bool,
+ "strip",
+ "Strip the final executable. Default true for fast and small releases",
+ ) orelse switch (optimize) {
+ .Debug => false,
+ .ReleaseSafe => false,
+ .ReleaseFast, .ReleaseSmall => true,
+ };
+
+ //---------------------------------------------------------------
+ // Artifacts to Emit
+
+ config.emit_lib_vt = emit_lib_vt;
+
+ config.emit_exe = b.option(
+ bool,
+ "emit-exe",
+ "Build and install main executables with 'build'",
+ ) orelse !config.emit_lib_vt;
+
+ config.emit_test_exe = b.option(
+ bool,
+ "emit-test-exe",
+ "Build and install test executables with 'build'",
+ ) orelse false;
+
+ config.emit_unicode_table_gen = b.option(
+ bool,
+ "emit-unicode-table-gen",
+ "Build and install executables that generate unicode tables with 'build'",
+ ) orelse false;
+
+ config.emit_bench = b.option(
+ bool,
+ "emit-bench",
+ "Build and install the benchmark executables.",
+ ) orelse false;
+
+ config.emit_helpgen = b.option(
+ bool,
+ "emit-helpgen",
+ "Build and install the helpgen executable.",
+ ) orelse false;
+
+ config.emit_docs = b.option(
+ bool,
+ "emit-docs",
+ "Build and install auto-generated documentation (requires pandoc)",
+ ) orelse emit_docs: {
+ // If we are emitting any other artifacts then we default to false.
+ if (config.emit_bench or
+ config.emit_test_exe or
+ config.emit_helpgen or
+ config.emit_lib_vt) break :emit_docs false;
+
+ // We always emit docs in system package mode.
+ if (system_package) break :emit_docs true;
+
+ // We only default to true if we can find pandoc.
+ const path = expandPath(b.graph.io, b.allocator, &b.graph.environ_map, "pandoc") catch
+ break :emit_docs false;
+ defer if (path) |p| b.allocator.free(p);
+ break :emit_docs path != null;
+ };
+
+ config.emit_terminfo = b.option(
+ bool,
+ "emit-terminfo",
+ "Install Ghostty terminfo source file",
+ ) orelse switch (target.result.os.tag) {
+ .windows => true,
+ else => switch (optimize) {
+ .Debug => true,
+ .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false,
+ },
+ };
+
+ config.emit_termcap = b.option(
+ bool,
+ "emit-termcap",
+ "Install Ghostty termcap file",
+ ) orelse switch (optimize) {
+ .Debug => true,
+ .ReleaseSafe, .ReleaseFast, .ReleaseSmall => false,
+ };
+
+ config.emit_themes = b.option(
+ bool,
+ "emit-themes",
+ "Install bundled iTerm2-Color-Schemes Ghostty themes",
+ ) orelse true;
+
+ config.emit_webdata = b.option(
+ bool,
+ "emit-webdata",
+ "Build the website data for the website.",
+ ) orelse false;
+
+ config.emit_xcframework = b.option(
+ bool,
+ "emit-xcframework",
+ "Build and install the xcframework for the macOS library.",
+ ) orelse emit_xcfw: {
+ if (!builtin.target.os.tag.isDarwin() or target.result.os.tag != .macos)
+ break :emit_xcfw false;
+ if (config.emit_lib_vt) {
+ // In lib-vt mode default to whether xcodebuild is available,
+ // since xcodebuild is required to produce the XCFramework.
+ const path = expandPath(b.graph.io, b.allocator, &b.graph.environ_map, "xcodebuild") catch
+ break :emit_xcfw false;
+ defer if (path) |p| b.allocator.free(p);
+ break :emit_xcfw path != null;
+ }
+ break :emit_xcfw config.app_runtime == .none and
+ (!config.emit_bench and
+ !config.emit_test_exe and
+ !config.emit_helpgen);
+ };
+
+ config.emit_macos_app = b.option(
+ bool,
+ "emit-macos-app",
+ "Build and install the macOS app bundle.",
+ ) orelse !config.emit_lib_vt and config.emit_xcframework;
+
+ //---------------------------------------------------------------
+ // System Packages
+
+ // These are all our dependencies that can be used with system
+ // packages if they exist. We set them up here so that we can set
+ // their defaults early. The first call configures the integration and
+ // subsequent calls just return the configured value. This lets them
+ // show up properly in `--help`.
+
+ {
+ // These dependencies we want to default false if we're on macOS.
+ // On macOS we don't want to use system libraries because we
+ // generally want a fat binary. This can be overridden with the
+ // `-fsys` flag.
+ for (&[_][]const u8{
+ "freetype",
+ "harfbuzz",
+ "fontconfig",
+ "libpng",
+ "zlib",
+ "oniguruma",
+ }) |dep| {
+ _ = b.systemIntegrationOption(
+ dep,
+ .{
+ // If we're not on darwin we want to use whatever the
+ // default is via the system package mode
+ .default = if (target.result.os.tag.isDarwin()) false else null,
+ },
+ );
+ }
+
+ // These default to false because they're rarely available as
+ // system packages so we usually want to statically link them.
+ for (&[_][]const u8{
+ "glslang",
+ "spirv-cross",
+ "simdutf",
+ }) |dep| {
+ _ = b.systemIntegrationOption(dep, .{ .default = false });
+ }
+
+ // These are dynamic libraries we default to true, preferring
+ // to use system packages over building and installing libs
+ // as they require additional ldconfig of library paths or
+ // patching the rpath of the program to discover the dynamic library
+ // at runtime
+ for (&[_][]const u8{"gtk4-layer-shell"}) |dep| {
+ _ = b.systemIntegrationOption(dep, .{ .default = true });
+ }
+ }
+
+ return config;
+}
+
+const PatchElf = struct {
+ interp: ?[]const u8 = null,
+ rpath: ?[]const u8 = null,
+
+ fn setInterp(config: *Config, interp: []const u8) void {
+ if (config.patchelf) |*patchelf| {
+ patchelf.interp = interp;
+ return;
+ }
+
+ config.patchelf = .{ .interp = interp };
+ }
+
+ fn setRpath(config: *Config, rpath: []const u8) void {
+ if (config.patchelf) |*patchelf| {
+ patchelf.rpath = rpath;
+ return;
+ }
+
+ config.patchelf = .{ .rpath = rpath };
+ }
+};
+
+/// Add a patchelf step for the supplied `artifact`, depending on the supplied
+/// `step`, if `patchelf` is present in the config.
+pub fn addPatchElf(self: *const Config, artifact: *std.Build.Step.Compile, step: *std.Build.Step) void {
+ const b = artifact.step.owner;
+ std.debug.assert(b == step.owner);
+
+ if (self.patchelf) |patchelf| {
+ const run = std.Build.Step.Run.create(b, "patchelf");
+ run.addArgs(&.{"patchelf"});
+ if (patchelf.interp) |interp| run.addArgs(&.{ "--set-interpreter", interp });
+ if (patchelf.rpath) |rpath| run.addArgs(&.{ "--set-rpath", rpath });
+ run.addArtifactArg(artifact);
+ step.dependOn(&run.step);
+ }
+}
+
+/// Configure the build options with our values.
+pub fn addOptions(self: *const Config, step: *std.Build.Step.Options) !void {
+ // We need to break these down individual because addOption doesn't
+ // support all types.
+ step.addOption(bool, "flatpak", self.flatpak);
+ step.addOption(bool, "snap", self.snap);
+ step.addOption(bool, "x11", self.x11);
+ step.addOption(bool, "wayland", self.wayland);
+ step.addOption(bool, "sentry", self.sentry);
+ step.addOption(bool, "simd", self.simd);
+ step.addOption(bool, "i18n", self.i18n);
+ step.addOption(ApprtRuntime, "app_runtime", self.app_runtime);
+ step.addOption(FontBackend, "font_backend", self.font_backend);
+ step.addOption(RendererBackend, "renderer", self.renderer);
+ step.addOption(ExeEntrypoint, "exe_entrypoint", self.exe_entrypoint);
+ step.addOption(WasmTarget, "wasm_target", self.wasm_target);
+ step.addOption(bool, "wasm_shared", self.wasm_shared);
+
+ // Our version. We also add the string version so we don't need
+ // to do any allocations at runtime. This has to be long enough to
+ // accommodate realistic large branch names for dev versions.
+ var app_version_buf: [1024]u8 = undefined;
+ step.addOption(std.SemanticVersion, "app_version", self.version);
+ step.addOption([:0]const u8, "app_version_string", try std.fmt.bufPrintZ(
+ &app_version_buf,
+ "{f}",
+ .{self.version},
+ ));
+ var lib_version_buf: [1024]u8 = undefined;
+ step.addOption(std.SemanticVersion, "lib_version", self.lib_version);
+ step.addOption([:0]const u8, "lib_version_string", try std.fmt.bufPrintZ(
+ &lib_version_buf,
+ "{f}",
+ .{self.lib_version},
+ ));
+ step.addOption(
+ ReleaseChannel,
+ "release_channel",
+ channel: {
+ const pre = self.version.pre orelse break :channel .stable;
+ if (pre.len == 0) break :channel .stable;
+ break :channel .tip;
+ },
+ );
+}
+
+/// Returns the build options for the terminal module. This assumes a
+/// Ghostty executable being built. Callers should modify this as needed.
+pub fn terminalOptions(
+ self: *const Config,
+ artifact: TerminalBuildOptions.Artifact,
+ optimize: std.builtin.OptimizeMode,
+) TerminalBuildOptions {
+ return .{
+ .artifact = artifact,
+ .simd = self.simd,
+ .oniguruma = true,
+ .c_abi = false,
+ .version = switch (artifact) {
+ .ghostty => self.version,
+ .lib => self.lib_version,
+ },
+ .slow_runtime_safety = switch (optimize) {
+ .Debug => true,
+ .ReleaseSafe,
+ .ReleaseSmall,
+ .ReleaseFast,
+ => false,
+ },
+ };
+}
+
+/// Returns a baseline CPU target retaining all the other CPU configs.
+pub fn baselineTarget(self: *const Config, io: std.Io) std.Build.ResolvedTarget {
+ // Set our cpu model as baseline. There may need to be other modifications
+ // we need to make such as resetting CPU features but for now this works.
+ var q = self.target.query;
+ q.cpu_model = .baseline;
+
+ // Same logic as build.resolveTargetQuery but we don't need to
+ // handle the native case.
+ return .{
+ .query = q,
+ .result = std.zig.system.resolveTargetQuery(io, q) catch
+ @panic("unable to resolve baseline query"),
+ };
+}
+
+/// Rehydrate our Config from the comptime options. Note that not all
+/// options are available at comptime, so look closely at this implementation
+/// to see what is and isn't available.
+pub fn fromOptions() Config {
+ const options = @import("build_options");
+ return .{
+ // Unused at runtime.
+ .optimize = undefined,
+ .target = undefined,
+ .env = undefined,
+
+ .version = options.app_version,
+ .flatpak = options.flatpak,
+ .app_runtime = std.meta.stringToEnum(ApprtRuntime, @tagName(options.app_runtime)).?,
+ .font_backend = std.meta.stringToEnum(FontBackend, @tagName(options.font_backend)).?,
+ .renderer = std.meta.stringToEnum(RendererBackend, @tagName(options.renderer)).?,
+ .snap = options.snap,
+ .exe_entrypoint = std.meta.stringToEnum(ExeEntrypoint, @tagName(options.exe_entrypoint)).?,
+ .wasm_target = std.meta.stringToEnum(WasmTarget, @tagName(options.wasm_target)).?,
+ .wasm_shared = options.wasm_shared,
+ .i18n = options.i18n,
+ };
+}
+
+/// Whether release artifacts should omit frame pointers.
+///
+/// Stripped release builds omit them in general, but we always keep frame
+/// pointers on Apple platforms: the Apple arm64 ABI expects x29 to
+/// be a valid frame pointer and Apple's profiling and crash reporting
+/// tools rely on it for backtraces.
+pub fn omitFramePointer(self: *const Config) bool {
+ if (self.target.result.os.tag.isDarwin()) return false;
+ return self.strip;
+}
+
+/// Returns the minimum OS version for the given OS tag. This shouldn't
+/// be used generally, it should only be used for Darwin-based OS currently.
+pub fn osVersionMin(tag: std.Target.Os.Tag) ?std.Target.Query.OsVersion {
+ return switch (tag) {
+ // We support back to the earliest officially supported version
+ // of macOS by Apple. EOL versions are not supported.
+ .macos => .{ .semver = .{
+ .major = 13,
+ .minor = 0,
+ .patch = 0,
+ } },
+
+ // This should never happen currently. If we add a new target then
+ // we should add a new case here.
+ else => null,
+ };
+}
+
+/// Returns the minimum OS version for lib-vt build.
+///
+/// This should only be used for Darwin targets.
+pub fn osVersionMinLibVt(tag: std.Target.Os.Tag) ?std.Target.Query.OsVersion {
+ // lib-vt is the only thing we still build for iOS, so its deployment
+ // target lives here rather than in osVersionMin.
+ if (tag == .ios) return .{ .semver = .{ .major = 13, .minor = 0, .patch = 0 } };
+ return osVersionMin(tag);
+}
+
+// Returns a ResolvedTarget for a mac with a `target.result.cpu.model.name` of `generic`.
+// `b.standardTargetOptions()` returns a more specific cpu like `apple_a15`.
+//
+// This is used to workaround compilation issues on macOS.
+// (see for example https://github.com/mitchellh/ghostty/issues/1640).
+pub fn genericMacOSTarget(
+ b: *std.Build,
+ arch: ?std.Target.Cpu.Arch,
+) std.Build.ResolvedTarget {
+ return b.resolveTargetQuery(.{
+ .cpu_arch = arch orelse builtin.target.cpu.arch,
+ .os_tag = .macos,
+ .os_version_min = osVersionMin(.macos),
+ });
+}
+
+/// The possible entrypoints for the exe artifact. This has no effect on
+/// other artifact types (i.e. lib, wasm_module).
+///
+/// The whole existence of this enum is to workaround the fact that Zig
+/// doesn't allow the main function to be in a file in a subdirctory
+/// from the "root" of the module, and I don't want to pollute our root
+/// directory with a bunch of individual zig files for each entrypoint.
+///
+/// Therefore, main.zig uses this to switch between the different entrypoints.
+pub const ExeEntrypoint = enum {
+ ghostty,
+ helpgen,
+ mdgen_ghostty_1,
+ mdgen_ghostty_5,
+ webgen_config,
+ webgen_actions,
+ webgen_commands,
+};
+
+/// The release channel for the build.
+pub const ReleaseChannel = enum {
+ /// Unstable builds on every commit.
+ tip,
+
+ /// Stable tagged releases.
+ stable,
+};
diff --git a/vendor/libghostty-vt/src/build/GhosttyBench.zig b/vendor/libghostty-vt/src/build/GhosttyBench.zig
new file mode 100644
index 0000000..fbf8029
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyBench.zig
@@ -0,0 +1,55 @@
+//! GhosttyBench generates all the Ghostty benchmark helper binaries.
+const GhosttyBench = @This();
+
+const std = @import("std");
+const SharedDeps = @import("SharedDeps.zig");
+
+steps: []*std.Build.Step.Compile,
+
+pub fn init(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) !GhosttyBench {
+ var steps: std.ArrayList(*std.Build.Step.Compile) = .empty;
+ errdefer steps.deinit(b.allocator);
+
+ // Our synthetic data generator
+ {
+ const exe = b.addExecutable(.{
+ .name = "ghostty-gen",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main_gen.zig"),
+ .target = deps.config.target,
+ // We always want our datagen to be fast because it
+ // takes awhile to run.
+ .optimize = .ReleaseFast,
+ .link_libc = true,
+ }),
+ });
+ _ = try deps.add(exe);
+ try steps.append(b.allocator, exe);
+ }
+
+ // Our benchmarking application.
+ {
+ const exe = b.addExecutable(.{
+ .name = "ghostty-bench",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main_bench.zig"),
+ .target = deps.config.target,
+ // We always want our benchmarks to be in release mode.
+ .optimize = .ReleaseFast,
+ .link_libc = true,
+ }),
+ });
+ _ = try deps.add(exe);
+ try steps.append(b.allocator, exe);
+ }
+
+ return .{ .steps = steps.items };
+}
+
+pub fn install(self: *const GhosttyBench) void {
+ const b = self.steps[0].step.owner;
+ for (self.steps) |step| b.installArtifact(step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyDist.zig b/vendor/libghostty-vt/src/build/GhosttyDist.zig
new file mode 100644
index 0000000..fe8b863
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyDist.zig
@@ -0,0 +1,257 @@
+const GhosttyDist = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+const SharedDeps = @import("SharedDeps.zig");
+const GhosttyFrameData = @import("GhosttyFrameData.zig");
+
+/// The final source tarball.
+archive: std.Build.LazyPath,
+
+/// The step to install the tarball.
+install_step: *std.Build.Step,
+
+/// The step to depend on
+archive_step: *std.Build.Step,
+
+/// The step to depend on for checking the dist
+check_step: *std.Build.Step,
+
+pub fn init(b: *std.Build, cfg: *const Config) !GhosttyDist {
+ // The name prefix used for all paths in the archive.
+ const name = if (cfg.emit_lib_vt) "libghostty-vt" else "ghostty";
+
+ // Get the resources we're going to inject into the source tarball.
+ // lib-vt doesn't need GTK resources or frame data.
+ const alloc = b.allocator;
+ var resources: std.ArrayListUnmanaged(Resource) = .empty;
+ if (!cfg.emit_lib_vt) {
+ {
+ const gtk = SharedDeps.gtkNgDistResources(b);
+ try resources.append(alloc, gtk.resources_c);
+ try resources.append(alloc, gtk.resources_h);
+ }
+ {
+ const framedata = GhosttyFrameData.distResources(b);
+ try resources.append(alloc, framedata.framedata);
+ }
+ }
+
+ // git archive to create the final tarball. "git archive" is the
+ // easiest way I can find to create a tarball that ignores stuff
+ // from gitignore and also supports adding files as well as removing
+ // dist-only files (the "export-ignore" git attribute).
+ const git_archive = b.addSystemCommand(&.{
+ "git",
+ "archive",
+ "--format=tgz",
+ });
+
+ // embed the Ghostty version in the tarball
+ {
+ const version = b.addWriteFiles().add("VERSION", b.fmt("{f}", .{cfg.version}));
+ // --add-file uses the most recent --prefix to determine the path
+ // in the archive to copy the file (the directory only).
+ git_archive.addArg(b.fmt("--prefix={s}-{f}/", .{
+ name, cfg.version,
+ }));
+ git_archive.addPrefixedFileArg("--add-file=", version);
+ }
+
+ // Add all of our resources into the tarball.
+ for (resources.items) |resource| {
+ // Our dist path basename may not match our generated file basename,
+ // and git archive requires this. To be safe, we copy the file once
+ // to ensure the basename matches and then use that as the final
+ // generated file.
+ const copied = b.addWriteFiles().addCopyFile(
+ resource.generated,
+ std.fs.path.basename(resource.dist),
+ );
+
+ // --add-file uses the most recent --prefix to determine the path
+ // in the archive to copy the file (the directory only).
+ git_archive.addArg(b.fmt("--prefix={s}-{f}/{s}/", .{
+ name, cfg.version,
+ std.fs.path.dirname(resource.dist).?,
+ }));
+ git_archive.addPrefixedFileArg("--add-file=", copied);
+ }
+
+ // Add our output
+ git_archive.addArgs(&.{
+ // This is important. Standard source tarballs extract into
+ // a directory named `project-version`. This is expected by
+ // standard tooling such as debhelper and rpmbuild.
+ b.fmt("--prefix={s}-{f}/", .{ name, cfg.version }),
+ "-o",
+ });
+ const output = git_archive.addOutputFileArg(b.fmt(
+ "{s}-{f}.tar.gz",
+ .{ name, cfg.version },
+ ));
+ git_archive.addArg("HEAD");
+
+ // When building for lib-vt only, exclude large directories that
+ // are not needed to build libghostty-vt. This significantly reduces
+ // the size of the resulting archive.
+ if (cfg.emit_lib_vt) {
+ for (lib_vt_excludes) |exclude| {
+ git_archive.addArg(b.fmt(":(exclude){s}", .{exclude}));
+ }
+ }
+
+ // The install step to put the dist into the build directory.
+ const install = b.addInstallFile(
+ output,
+ b.fmt("dist/{s}-{f}.tar.gz", .{ name, cfg.version }),
+ );
+
+ // The check step to ensure the archive works.
+ const check = b.addSystemCommand(&.{ "tar", "xvzf" });
+ check.addFileArg(output);
+ check.addArg("-C");
+
+ // This is the root Ghostty source dir of the extracted source tarball.
+ // i.e. this is way `build.zig` is.
+ const extract_dir = check
+ .addOutputDirectoryArg(name)
+ .path(b, b.fmt("{s}-{f}", .{ name, cfg.version }));
+
+ // Check that tests pass within the extracted directory. This isn't
+ // a fully hermetic test because we're sharing the Zig cache. In
+ // the future we could add an option to use a totally new cache but
+ // in the interest of speed we don't do that for now and hope other
+ // CI catches any issues.
+ const check_test = step: {
+ // For lib-vt, we run the lib-vt tests instead of the full test suite.
+ const check_cmd = if (cfg.emit_lib_vt)
+ &[_][]const u8{ "zig", "build", "test-lib-vt", "-Demit-lib-vt=true" }
+ else
+ &[_][]const u8{ "zig", "build", "test" };
+ const step = b.addSystemCommand(check_cmd);
+ step.setCwd(extract_dir);
+
+ // Must be set so that Zig knows that this command doesn't
+ // have side effects and is being run for its exit code check.
+ // Zig will cache depending on its extract dir.
+ step.expectExitCode(0);
+
+ // Capture stderr so it doesn't spew into the parent build.
+ // On the flip side, if the test fails we won't know why so
+ // that sucks but we should have already ran tests at this point.
+ // NOTE(mitchellh): temporarily disabled to diagnose heisenbug
+ //_ = step.captureStdErr();
+
+ break :step step;
+ };
+
+ // Check that all our dist resources are at the proper path.
+ for (resources.items) |resource| {
+ const path = extract_dir.path(b, resource.dist);
+ const check_path = b.addCheckFile(path, .{});
+ check_test.step.dependOn(&check_path.step);
+ }
+
+ // For lib-vt, also verify the CMake build works from the tarball.
+ if (cfg.emit_lib_vt) {
+ const cmake_build_dir = extract_dir.path(b, "cmake-build");
+ const cmake_configure = b.addSystemCommand(&.{ "cmake", "-B" });
+ cmake_configure.addDirectoryArg(cmake_build_dir);
+ cmake_configure.setCwd(extract_dir);
+ cmake_configure.expectExitCode(0);
+ cmake_configure.step.dependOn(&check.step);
+
+ const cmake_build = b.addSystemCommand(&.{ "cmake", "--build" });
+ cmake_build.addDirectoryArg(cmake_build_dir);
+ cmake_build.expectExitCode(0);
+ cmake_build.step.dependOn(&cmake_configure.step);
+
+ check_test.step.dependOn(&cmake_build.step);
+ }
+
+ return .{
+ .archive = output,
+ .install_step = &install.step,
+ .archive_step = &git_archive.step,
+ .check_step = &check_test.step,
+ };
+}
+
+/// Paths to exclude from the dist archive when building for lib-vt only.
+/// These are large files and directories that are not needed to build or
+/// test libghostty-vt, specified as git pathspec exclude patterns.
+const lib_vt_excludes = &[_][]const u8{
+ // App and platform resources
+ "images",
+ "macos",
+ "dist/doxygen",
+ "dist/linux",
+ "dist/macos",
+ "dist/windows",
+ "flatpak",
+ "snap",
+ "po",
+ "example",
+
+ // Test corpus (lib-vt tests use embedded testdata within src/terminal/)
+ "test",
+
+ // Large binary assets
+ "src/font/res",
+ "src/crash/testdata",
+ "pkg/wuffs/src/too_big.jpg",
+ "pkg/wuffs/src/too_big.png",
+ "pkg/breakpad/vendor",
+
+ // Vendored libraries not used by lib-vt
+ "vendor",
+};
+
+/// A dist resource is a resource that is built and distributed as part
+/// of the source tarball with Ghostty. These aren't committed to the Git
+/// repository but are built as part of the `zig build dist` command.
+/// The purpose is to limit the number of build-time dependencies required
+/// for downstream users and packagers.
+pub const Resource = struct {
+ /// The relative path in the source tree where the resource will be
+ /// if it was pre-built. These are not checksummed or anything because the
+ /// assumption is that the source tarball itself is checksummed and signed.
+ dist: []const u8,
+
+ /// The path to the generated resource in the build system. By depending
+ /// on this you'll force it to regenerate. This does NOT point to the
+ /// "path" above.
+ generated: std.Build.LazyPath,
+
+ /// Returns the path to use for this resource.
+ pub fn path(self: *const Resource, b: *std.Build) std.Build.LazyPath {
+ // If the dist path exists at build compile time then we use it.
+ if (self.exists(b)) {
+ return b.path(self.dist);
+ }
+
+ // Otherwise we use the generated path.
+ return self.generated;
+ }
+
+ /// Returns true if the dist path exists at build time.
+ pub fn exists(self: *const Resource, b: *std.Build) bool {
+ if (b.build_root.handle.access(b.graph.io, self.dist, .{})) {
+ // If we have a ".git" directory then we're a git checkout
+ // and we never want to use the dist path. This shouldn't happen
+ // so show a warning to the user.
+ if (b.build_root.handle.access(b.graph.io, ".git", .{})) {
+ std.log.warn(
+ "dist resource '{s}' should not be in a git checkout",
+ .{self.dist},
+ );
+ return false;
+ } else |_| {}
+
+ return true;
+ } else |_| {
+ return false;
+ }
+ }
+};
diff --git a/vendor/libghostty-vt/src/build/GhosttyDocs.zig b/vendor/libghostty-vt/src/build/GhosttyDocs.zig
new file mode 100644
index 0000000..2b207f2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyDocs.zig
@@ -0,0 +1,124 @@
+//! GhosttyDocs generates all the on-disk documentation that Ghostty is
+//! installed with (man pages, html, markdown, etc.)
+const GhosttyDocs = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+const SharedDeps = @import("SharedDeps.zig");
+
+steps: []*std.Build.Step,
+
+pub fn init(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) !GhosttyDocs {
+ var steps: std.ArrayList(*std.Build.Step) = .empty;
+ errdefer steps.deinit(b.allocator);
+
+ const manpages = [_]struct {
+ name: []const u8,
+ section: []const u8,
+ }{
+ .{ .name = "ghostty", .section = "1" },
+ .{ .name = "ghostty", .section = "5" },
+ };
+
+ inline for (manpages) |manpage| {
+ const generate_markdown = b.addExecutable(.{
+ .name = "mdgen_" ++ manpage.name ++ "_" ++ manpage.section,
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ }),
+ });
+ deps.help_strings.addImport(generate_markdown);
+
+ const gen_config = config: {
+ var copy = deps.config.*;
+ copy.exe_entrypoint = @field(
+ Config.ExeEntrypoint,
+ "mdgen_" ++ manpage.name ++ "_" ++ manpage.section,
+ );
+ break :config copy;
+ };
+
+ const generate_markdown_options = b.addOptions();
+ try gen_config.addOptions(generate_markdown_options);
+ generate_markdown.root_module.addOptions("build_options", generate_markdown_options);
+
+ const generate_markdown_step = b.addRunArtifact(generate_markdown);
+ const markdown_output = generate_markdown_step.captureStdOut(.{});
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ markdown_output,
+ "share/ghostty/doc/" ++ manpage.name ++ "." ++ manpage.section ++ ".md",
+ ).step);
+
+ const generate_html = b.addSystemCommand(&.{"pandoc"});
+ generate_html.addArgs(&.{
+ "--standalone",
+ "--from",
+ "markdown",
+ "--to",
+ "html",
+ });
+ generate_html.addFileArg(markdown_output);
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ generate_html.captureStdOut(.{}),
+ "share/ghostty/doc/" ++ manpage.name ++ "." ++ manpage.section ++ ".html",
+ ).step);
+
+ const generate_manpage = b.addSystemCommand(&.{"pandoc"});
+ generate_manpage.addArgs(&.{
+ "--standalone",
+ "--from",
+ "markdown",
+ "--to",
+ "man",
+ });
+ generate_manpage.addFileArg(markdown_output);
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ generate_manpage.captureStdOut(.{}),
+ "share/man/man" ++ manpage.section ++ "/" ++ manpage.name ++ "." ++ manpage.section,
+ ).step);
+ }
+
+ return .{ .steps = steps.items };
+}
+
+pub fn install(self: *const GhosttyDocs) void {
+ const b = self.steps[0].owner;
+ self.addStepDependencies(b.getInstallStep());
+}
+
+pub fn addStepDependencies(
+ self: *const GhosttyDocs,
+ other_step: *std.Build.Step,
+) void {
+ for (self.steps) |step| other_step.dependOn(step);
+}
+
+/// Installs some dummy files to satisfy the folder structure of docs
+/// without actually generating any documentation. This is useful
+/// when the `emit-docs` option is not set to true, but we still
+/// need the rough directory structure to exist, such as for the macOS
+/// app.
+pub fn installDummy(self: *const GhosttyDocs, step: *std.Build.Step) void {
+ _ = self;
+
+ const b = step.owner;
+ var wf = b.addWriteFiles();
+ const path = "share/man/.placeholder";
+ step.dependOn(&b.addInstallFile(
+ wf.add(
+ path,
+ "emit-docs not true so no man pages",
+ ),
+ path,
+ ).step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyExe.zig b/vendor/libghostty-vt/src/build/GhosttyExe.zig
new file mode 100644
index 0000000..22f39b7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyExe.zig
@@ -0,0 +1,120 @@
+const Ghostty = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+const SharedDeps = @import("SharedDeps.zig");
+
+/// The primary Ghostty executable.
+exe: *std.Build.Step.Compile,
+
+/// The install step for the executable.
+install_step: *std.Build.Step.InstallArtifact,
+
+pub fn init(b: *std.Build, cfg: *const Config, deps: *const SharedDeps) !Ghostty {
+ const exe: *std.Build.Step.Compile = b.addExecutable(.{
+ .name = "ghostty",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main.zig"),
+ .target = cfg.target,
+ .optimize = cfg.optimize,
+ .strip = cfg.strip,
+ .omit_frame_pointer = cfg.omitFramePointer(),
+ .unwind_tables = if (cfg.strip) .none else .sync,
+ }),
+ // Crashes on x86_64 self-hosted on 0.15.1
+ .use_llvm = true,
+ });
+ const install_step = b.addInstallArtifact(exe, .{});
+
+ // Set PIE if requested
+ if (cfg.pie) exe.pie = true;
+
+ // Add the shared dependencies. When building only lib-vt we skip
+ // heavy deps so cross-compilation doesn't pull in GTK, etc.
+ if (!cfg.emit_lib_vt) _ = try deps.add(exe);
+
+ // Check for possible issues
+ try checkNixShell(exe, cfg);
+
+ // Add patchelf step if that option is specified.
+ cfg.addPatchElf(exe, &install_step.step);
+
+ // OS-specific
+ switch (cfg.target.result.os.tag) {
+ .windows => {
+ exe.subsystem = .Windows;
+ exe.root_module.addWin32ResourceFile(.{
+ .file = b.path("dist/windows/ghostty.rc"),
+ });
+ },
+
+ else => {},
+ }
+
+ return .{
+ .exe = exe,
+ .install_step = install_step,
+ };
+}
+
+/// Add the ghostty exe to the install target.
+pub fn install(self: *const Ghostty) void {
+ const b = self.install_step.step.owner;
+ b.getInstallStep().dependOn(&self.install_step.step);
+}
+
+/// If we're in NixOS but not in the shell environment then we issue
+/// a warning because the rpath may not be setup properly. This doesn't modify
+/// our build in any way but addresses a common build-from-source issue
+/// for a subset of users.
+fn checkNixShell(exe: *std.Build.Step.Compile, cfg: *const Config) !void {
+ // Non-Linux doesn't have rpath issues.
+ if (cfg.target.result.os.tag != .linux) return;
+
+ // When cross-compiling, we don't need to worry about matching our
+ // Nix shell rpath since the resulting binary will be run on a
+ // separate system.
+ if (!cfg.target.query.isNativeCpu()) return;
+ if (!cfg.target.query.isNativeOs()) return;
+
+ // Verify we're in NixOS
+ std.Io.Dir.accessAbsolute(exe.step.owner.graph.io, "/etc/NIXOS", .{}) catch return;
+
+ // If we're in a nix shell, not a problem
+ if (cfg.env.get("IN_NIX_SHELL") != null) return;
+
+ try exe.step.addError(
+ "\x1b[" ++ color_map.get("yellow").? ++
+ "\x1b[" ++ color_map.get("d").? ++
+ \\Detected building on and for NixOS outside of the Nix shell environment.
+ \\
+ \\The resulting ghostty binary will likely fail on launch because it is
+ \\unable to dynamically load the windowing libs (X11, Wayland, etc.).
+ \\We highly recommend running only within the Nix build environment
+ \\and the resulting binary will be portable across your system.
+ \\
+ \\To run in the Nix build environment, use the following command.
+ \\Append any additional options like (`-Doptimize` flags). The resulting
+ \\binary will be in zig-out as usual.
+ \\
+ \\ nix develop -c zig build
+ \\
+ ++
+ "\x1b[0m",
+ .{},
+ );
+}
+
+/// ANSI escape codes for colored log output
+const color_map = std.StaticStringMap([]const u8).initComptime(.{
+ &.{ "black", "30m" },
+ &.{ "blue", "34m" },
+ &.{ "b", "1m" },
+ &.{ "d", "2m" },
+ &.{ "cyan", "36m" },
+ &.{ "green", "32m" },
+ &.{ "magenta", "35m" },
+ &.{ "red", "31m" },
+ &.{ "white", "37m" },
+ &.{ "yellow", "33m" },
+});
diff --git a/vendor/libghostty-vt/src/build/GhosttyFrameData.zig b/vendor/libghostty-vt/src/build/GhosttyFrameData.zig
new file mode 100644
index 0000000..be61f02
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyFrameData.zig
@@ -0,0 +1,75 @@
+//! GhosttyFrameData generates a compressed file and zig module which contains (and exposes) the
+//! Ghostty animation frames for use in `ghostty +boo`
+const GhosttyFrameData = @This();
+
+const std = @import("std");
+const DistResource = @import("GhosttyDist.zig").Resource;
+
+/// The output path for the compressed framedata zig file
+output: std.Build.LazyPath,
+
+pub fn init(b: *std.Build) !GhosttyFrameData {
+ const dist = distResources(b);
+
+ // Generate the Zig source file that embeds the compressed data
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(dist.framedata.path(b), "framedata.compressed");
+ const zig_file = wf.add("framedata.zig",
+ \\//! This file is auto-generated. Do not edit.
+ \\
+ \\pub const compressed = @embedFile("framedata.compressed");
+ \\
+ );
+
+ return .{ .output = zig_file };
+}
+
+/// Add the "framedata" import.
+pub fn addImport(self: *const GhosttyFrameData, step: *std.Build.Step.Compile) void {
+ self.output.addStepDependencies(&step.step);
+ step.root_module.addAnonymousImport("framedata", .{
+ .root_source_file = self.output,
+ });
+}
+
+/// Creates the framedata resources that can be prebuilt for our dist build.
+pub fn distResources(b: *std.Build) struct {
+ framedata: DistResource,
+} {
+ const exe = b.addExecutable(.{
+ .name = "framegen",
+ .root_module = b.createModule(.{
+ .target = b.graph.host,
+ .link_libc = true,
+ }),
+ });
+ exe.root_module.addCSourceFile(.{
+ .file = b.path("src/build/framegen/main.c"),
+ .flags = &.{},
+ });
+
+ if (b.systemIntegrationOption("zlib", .{})) {
+ exe.root_module.linkSystemLibrary("zlib", .{
+ .preferred_link_mode = .dynamic,
+ .search_strategy = .mode_first,
+ });
+ } else {
+ if (b.lazyDependency("zlib", .{
+ .target = b.graph.host,
+ .optimize = .ReleaseFast,
+ })) |zlib_dep| {
+ exe.root_module.linkLibrary(zlib_dep.artifact("z"));
+ }
+ }
+
+ const run = b.addRunArtifact(exe);
+ run.addDirectoryArg(b.path("src/build/framegen/frames"));
+ const compressed_file = run.addOutputFileArg("framedata.compressed");
+
+ return .{
+ .framedata = .{
+ .dist = "src/build/framegen/framedata.compressed",
+ .generated = compressed_file,
+ },
+ };
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyI18n.zig b/vendor/libghostty-vt/src/build/GhosttyI18n.zig
new file mode 100644
index 0000000..eb6ee5e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyI18n.zig
@@ -0,0 +1,200 @@
+const GhosttyI18n = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+const Config = @import("Config.zig");
+const gresource = @import("../apprt/gtk/build/gresource.zig");
+const locales = @import("../os/i18n_locales.zig").locales;
+
+const domain = "com.mitchellh.ghostty";
+
+owner: *std.Build,
+steps: []*std.Build.Step,
+
+/// This step updates the translation files on disk that should be
+/// committed to the repo.
+update_step: *std.Build.Step,
+
+pub fn init(b: *std.Build, cfg: *const Config) !GhosttyI18n {
+ _ = cfg;
+
+ var steps: std.ArrayList(*std.Build.Step) = .empty;
+ defer steps.deinit(b.allocator);
+
+ inline for (locales) |locale| {
+ // There is no encoding suffix in the LC_MESSAGES path on FreeBSD,
+ // so we need to remove it from `locale` to have a correct destination string.
+ // (/usr/local/share/locale/en_AU/LC_MESSAGES)
+ const target_locale = comptime if (builtin.target.os.tag == .freebsd)
+ std.mem.trimEnd(u8, locale, ".UTF-8")
+ else
+ locale;
+
+ const msgfmt = b.addSystemCommand(&.{ "msgfmt", "-o", "-" });
+ msgfmt.addFileArg(b.path("po/" ++ locale ++ ".po"));
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ msgfmt.captureStdOut(.{}),
+ std.fmt.comptimePrint(
+ "share/locale/{s}/LC_MESSAGES/{s}.mo",
+ .{ target_locale, domain },
+ ),
+ ).step);
+ }
+
+ return .{
+ .owner = b,
+ .update_step = try createUpdateStep(b),
+ .steps = try steps.toOwnedSlice(b.allocator),
+ };
+}
+
+pub fn install(self: *const GhosttyI18n) void {
+ self.addStepDependencies(self.owner.getInstallStep());
+}
+
+pub fn addStepDependencies(
+ self: *const GhosttyI18n,
+ other_step: *std.Build.Step,
+) void {
+ for (self.steps) |step| other_step.dependOn(step);
+}
+
+fn createUpdateStep(b: *std.Build) !*std.Build.Step {
+ const xgettext = b.addSystemCommand(&.{
+ "xgettext",
+ "--language=C", // Silence the "unknown extension" errors
+ "--from-code=UTF-8",
+ "--keyword=_",
+ "--keyword=N_",
+ "--keyword=C_:1c,2",
+ });
+
+ // Collect to intermediate .pot file
+ xgettext.addArg("-o");
+ const gtk_pot = xgettext.addOutputFileArg("gtk.pot");
+
+ // Not cacheable due to the gresource files
+ xgettext.has_side_effects = true;
+
+ inline for (gresource.blueprints) |blp| {
+ const path = std.fmt.comptimePrint(
+ "src/apprt/gtk/ui/{[major]}.{[minor]}/{[name]s}.blp",
+ blp,
+ );
+ // The arguments to xgettext must be the relative path in the build root
+ // or the resulting files will contain the absolute path. This will cause
+ // a lot of churn because not everyone has the Ghostty code checked out in
+ // exactly the same location.
+ xgettext.addArg(path);
+ // Mark the file as an input so that the Zig build system caching will work.
+ xgettext.addFileInput(b.path(path));
+ }
+
+ {
+ // Iterate over all of the files underneath `src/apprt/gtk`. We store
+ // them in an array so that they can be sorted into a determininistic
+ // order. That will minimize code churn as directory walking is not
+ // guaranteed to happen in any particular order.
+
+ var gtk_files: std.ArrayListUnmanaged([]const u8) = .empty;
+ defer {
+ for (gtk_files.items) |item| b.allocator.free(item);
+ gtk_files.deinit(b.allocator);
+ }
+
+ var gtk_dir = try b.build_root.handle.openDir(
+ b.graph.io,
+ "src/apprt/gtk",
+ .{ .iterate = true },
+ );
+ defer gtk_dir.close(b.graph.io);
+
+ var walk = try gtk_dir.walk(b.allocator);
+ defer walk.deinit();
+ while (try walk.next(b.graph.io)) |src| {
+ switch (src.kind) {
+ .file => if (!std.mem.endsWith(
+ u8,
+ src.basename,
+ ".zig",
+ )) continue,
+
+ else => continue,
+ }
+
+ try gtk_files.append(b.allocator, try b.allocator.dupe(u8, src.path));
+ }
+
+ std.mem.sort(
+ []const u8,
+ gtk_files.items,
+ {},
+ struct {
+ fn lt(_: void, lhs: []const u8, rhs: []const u8) bool {
+ return std.mem.order(u8, lhs, rhs) == .lt;
+ }
+ }.lt,
+ );
+
+ for (gtk_files.items) |item| {
+ const path = b.pathJoin(&.{ "src/apprt/gtk", item });
+ // The arguments to xgettext must be the relative path in the build root
+ // or the resulting files will contain the absolute path. This will
+ // cause a lot of churn because not everyone has the Ghostty code
+ // checked out in exactly the same location.
+ xgettext.addArg(path);
+ // Mark the file as an input so that the Zig build system caching will work.
+ xgettext.addFileInput(b.path(path));
+ }
+ }
+
+ // For localization of command palette
+ const command_palette_path = "src/input/command.zig";
+ xgettext.addArg(command_palette_path);
+ xgettext.addFileInput(b.path(command_palette_path));
+
+ // Add support for localizing our `nautilus` integration
+ const xgettext_py = b.addSystemCommand(&.{
+ "xgettext",
+ "--language=Python",
+ "--from-code=UTF-8",
+ });
+
+ // Collect to intermediate .pot file
+ xgettext_py.addArg("-o");
+ const py_pot = xgettext_py.addOutputFileArg("py.pot");
+
+ const nautilus_script_path = "dist/linux/ghostty_nautilus.py";
+ xgettext_py.addArg(nautilus_script_path);
+ xgettext_py.addFileInput(b.path(nautilus_script_path));
+
+ // Merge pot files
+ const xgettext_merge = b.addSystemCommand(&.{
+ "xgettext",
+ "--add-comments=Translators",
+ "--package-name=" ++ domain,
+ "--msgid-bugs-address=m@mitchellh.com",
+ "--copyright-holder=\"Mitchell Hashimoto, Ghostty contributors\"",
+ "-o",
+ "-",
+ });
+ // py_pot needs to be first on merge order because of `xgettext` behavior around
+ // charset when merging the two `.pot` files
+ xgettext_merge.addFileArg(py_pot);
+ xgettext_merge.addFileArg(gtk_pot);
+ const usf = b.addUpdateSourceFiles();
+ usf.addCopyFileToSource(
+ xgettext_merge.captureStdOut(.{}),
+ "po/" ++ domain ++ ".pot",
+ );
+
+ inline for (locales) |locale| {
+ const msgmerge = b.addSystemCommand(&.{ "msgmerge", "--quiet", "--no-fuzzy-matching" });
+ msgmerge.addFileArg(b.path("po/" ++ locale ++ ".po"));
+ msgmerge.addFileArg(xgettext_merge.captureStdOut(.{}));
+ usf.addCopyFileToSource(msgmerge.captureStdOut(.{}), "po/" ++ locale ++ ".po");
+ }
+
+ return &usf.step;
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyLib.zig b/vendor/libghostty-vt/src/build/GhosttyLib.zig
new file mode 100644
index 0000000..529bb28
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyLib.zig
@@ -0,0 +1,300 @@
+const GhosttyLib = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+const RunStep = std.Build.Step.Run;
+const CombineArchivesStep = @import("CombineArchivesStep.zig");
+const Config = @import("Config.zig");
+const LibsystemOverrideStep = @import("LibsystemOverrideStep.zig");
+const SharedDeps = @import("SharedDeps.zig");
+const LipoStep = @import("LipoStep.zig");
+
+/// The step that generates the file.
+step: *std.Build.Step,
+
+/// The final static library file
+output: std.Build.LazyPath,
+dsym: ?std.Build.LazyPath,
+pkg_config: ?std.Build.LazyPath,
+pkg_config_static: ?std.Build.LazyPath,
+
+pub fn initStatic(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) !GhosttyLib {
+ const lib = b.addLibrary(.{
+ .name = "ghostty",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main_c.zig"),
+ .target = deps.config.target,
+ .optimize = deps.config.optimize,
+ .strip = deps.config.strip,
+ .omit_frame_pointer = deps.config.omitFramePointer(),
+ .unwind_tables = if (deps.config.strip) .none else .sync,
+ .link_libc = true,
+ }),
+
+ // Fails on self-hosted x86_64 on macOS
+ .use_llvm = true,
+ });
+
+ // These must be bundled since we're compiling into a static lib.
+ // Otherwise, you get undefined symbol errors.
+ lib.bundle_compiler_rt = true;
+ lib.bundle_ubsan_rt = true;
+
+ if (deps.config.target.result.os.tag == .windows) {
+ // Zig's ubsan emits /exclude-symbols linker directives that
+ // are incompatible with the MSVC linker (LNK4229).
+ lib.bundle_ubsan_rt = false;
+ }
+
+ // Add our dependencies. Get the list of all static deps so we can
+ // build a combined archive.
+ var lib_list = try deps.add(lib);
+ try lib_list.append(b.allocator, lib.getEmittedBin());
+
+ // Combine all archives into a single fat static library so
+ // consumers only need to link one file.
+ const combined = CombineArchivesStep.create(b, deps.config.target, "ghostty-internal", lib_list.items);
+ combined.step.dependOn(&lib.step);
+
+ // On Darwin, prefer libSystem's libc/libm over the bundled
+ // compiler-rt for consumers of this archive. See
+ // libsystem_override.sh for details. This is a no-op elsewhere.
+ const override = LibsystemOverrideStep.create(
+ b,
+ deps.config.target,
+ combined.output,
+ "libghostty-internal.a",
+ );
+
+ return .{
+ .step = override.step orelse combined.step,
+ .output = override.output,
+
+ // Static libraries cannot have dSYMs because they aren't linked.
+ .dsym = null,
+ .pkg_config = null,
+ .pkg_config_static = null,
+ };
+}
+
+pub fn initShared(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) !GhosttyLib {
+ // For dynamic linking, we prefer dynamic linking and to search by
+ // mode first. Mode first will search all paths for a dynamic library
+ // before falling back to static.
+ const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{
+ .preferred_link_mode = .dynamic,
+ .search_strategy = .mode_first,
+ };
+
+ const lib = b.addLibrary(.{
+ .name = "ghostty",
+ .linkage = .dynamic,
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main_c.zig"),
+ .target = deps.config.target,
+ .optimize = deps.config.optimize,
+ .strip = deps.config.strip,
+ .omit_frame_pointer = deps.config.omitFramePointer(),
+ .unwind_tables = if (deps.config.strip) .none else .sync,
+ }),
+
+ // Fails on self-hosted x86_64
+ .use_llvm = true,
+ });
+ _ = try deps.add(lib);
+
+ // On Windows with MSVC, building a DLL requires the full CRT library
+ // chain. linkLibC() (called via deps.add) provides msvcrt.lib, but
+ // that references symbols in vcruntime.lib and ucrt.lib. Zig's library
+ // search paths include the MSVC lib dir and the Windows SDK 'um' dir,
+ // but not the SDK 'ucrt' dir where ucrt.lib lives.
+ if (deps.config.target.result.os.tag == .windows and
+ deps.config.target.result.abi == .msvc)
+ {
+ // The CRT initialization code in msvcrt.lib calls __vcrt_initialize
+ // and __acrt_initialize, which are in the static CRT libraries.
+ lib.root_module.linkSystemLibrary("libvcruntime", dynamic_link_opts);
+
+ // ucrt.lib is in the Windows SDK 'ucrt' dir. Detect the SDK
+ // installation and add the UCRT library path.
+ const arch = deps.config.target.result.cpu.arch;
+ const sdk = std.zig.WindowsSdk.find(b.allocator, b.graph.io, arch, &b.graph.environ_map) catch null;
+ if (sdk) |s| {
+ if (s.windows10sdk) |w10| {
+ const arch_str: []const u8 = switch (arch) {
+ .x86_64 => "x64",
+ .x86 => "x86",
+ .aarch64 => "arm64",
+ else => "x64",
+ };
+ const ucrt_lib_path = std.fmt.allocPrint(
+ b.allocator,
+ "{s}\\Lib\\{s}\\ucrt\\{s}",
+ .{ w10.path, w10.version, arch_str },
+ ) catch null;
+
+ if (ucrt_lib_path) |path| {
+ lib.root_module.addLibraryPath(.{ .cwd_relative = path });
+ }
+ }
+ }
+ lib.root_module.linkSystemLibrary("libucrt", dynamic_link_opts);
+ }
+
+ // Get our debug symbols
+ const dsymutil: ?std.Build.LazyPath = dsymutil: {
+ if (!deps.config.target.result.os.tag.isDarwin()) {
+ break :dsymutil null;
+ }
+
+ const dsymutil = RunStep.create(b, "dsymutil");
+ dsymutil.addArgs(&.{"dsymutil"});
+ dsymutil.addFileArg(lib.getEmittedBin());
+ dsymutil.addArgs(&.{"-o"});
+ const output = dsymutil.addOutputFileArg("libghostty.dSYM");
+ break :dsymutil output;
+ };
+
+ // pkg-config
+ //
+ // pkg-config's --static only expands Libs.private / Requires.private;
+ // it doesn't rewrite Libs: into an archive-only reference when both
+ // shared and static libraries are installed. Install a dedicated
+ // static module so consumers can request the archive explicitly.
+ const pcs = pkgConfigFiles(b, deps);
+
+ return .{
+ .step = &lib.step,
+ .output = lib.getEmittedBin(),
+ .dsym = dsymutil,
+ .pkg_config = pcs.shared,
+ .pkg_config_static = pcs.static,
+ };
+}
+
+pub fn initMacOSUniversal(
+ b: *std.Build,
+ original_deps: *const SharedDeps,
+) !GhosttyLib {
+ const aarch64 = try initStatic(b, &try original_deps.retarget(
+ b,
+ Config.genericMacOSTarget(b, .aarch64),
+ ));
+ const x86_64 = try initStatic(b, &try original_deps.retarget(
+ b,
+ Config.genericMacOSTarget(b, .x86_64),
+ ));
+
+ const universal = LipoStep.create(b, .{
+ .name = "ghostty",
+ .out_name = "ghostty-internal.a",
+ .input_a = aarch64.output,
+ .input_b = x86_64.output,
+ });
+
+ return .{
+ .step = universal.step,
+ .output = universal.output,
+
+ // You can't run dsymutil on a universal binary, you have to
+ // do it on the individual binaries.
+ .dsym = null,
+ .pkg_config = null,
+ .pkg_config_static = null,
+ };
+}
+
+pub fn install(self: *const GhosttyLib, name: []const u8) void {
+ const b = self.step.owner;
+ const step = b.getInstallStep();
+ const lib_install = b.addInstallLibFile(self.output, name);
+ step.dependOn(&lib_install.step);
+
+ if (self.pkg_config) |pc| {
+ step.dependOn(&b.addInstallFileWithDir(
+ pc,
+ .prefix,
+ "share/pkgconfig/ghostty-internal.pc",
+ ).step);
+ }
+ if (self.pkg_config_static) |pc| {
+ step.dependOn(&b.addInstallFileWithDir(
+ pc,
+ .prefix,
+ "share/pkgconfig/ghostty-internal-static.pc",
+ ).step);
+ }
+}
+
+pub fn installHeader(self: *const GhosttyLib) void {
+ const b = self.step.owner;
+ const header_install = b.addInstallHeaderFile(
+ b.path("include/ghostty.h"),
+ "ghostty.h",
+ );
+ b.getInstallStep().dependOn(&header_install.step);
+}
+
+const PkgConfigFiles = struct {
+ shared: std.Build.LazyPath,
+ static: std.Build.LazyPath,
+};
+
+fn pkgConfigFiles(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) PkgConfigFiles {
+ const os_tag = deps.config.target.result.os.tag;
+ const wf = b.addWriteFiles();
+
+ return .{
+ .shared = wf.add("ghostty-internal.pc", b.fmt(
+ \\prefix={s}
+ \\includedir=${{prefix}}/include
+ \\libdir=${{prefix}}/lib
+ \\
+ \\Name: ghostty-internal
+ \\URL: https://github.com/ghostty-org/ghostty
+ \\Description: Ghostty internal library (not for external use)
+ \\Version: {f}
+ \\Cflags: -I${{includedir}}
+ \\Libs: ${{libdir}}/{s}
+ \\Libs.private:
+ \\Requires.private:
+ , .{ b.install_prefix, deps.config.version, sharedLibraryName(os_tag) })),
+ .static = wf.add("ghostty-internal-static.pc", b.fmt(
+ \\prefix={s}
+ \\includedir=${{prefix}}/include
+ \\libdir=${{prefix}}/lib
+ \\
+ \\Name: ghostty-internal-static
+ \\URL: https://github.com/ghostty-org/ghostty
+ \\Description: Ghostty internal library, static (not for external use)
+ \\Version: {f}
+ \\Cflags: -I${{includedir}}
+ \\Libs: ${{libdir}}/{s}
+ \\Libs.private:
+ \\Requires.private:
+ , .{ b.install_prefix, deps.config.version, staticLibraryName(os_tag) })),
+ };
+}
+
+fn sharedLibraryName(os_tag: std.Target.Os.Tag) []const u8 {
+ return if (os_tag == .windows)
+ "ghostty-internal.dll"
+ else
+ "ghostty-internal.so";
+}
+
+fn staticLibraryName(os_tag: std.Target.Os.Tag) []const u8 {
+ return if (os_tag == .windows)
+ "ghostty-internal-static.lib"
+ else
+ "ghostty-internal.a";
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyLibVt.zig b/vendor/libghostty-vt/src/build/GhosttyLibVt.zig
new file mode 100644
index 0000000..7010a78
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyLibVt.zig
@@ -0,0 +1,651 @@
+const GhosttyLibVt = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+const assert = std.debug.assert;
+const RunStep = std.Build.Step.Run;
+const CombineArchivesStep = @import("CombineArchivesStep.zig");
+const LibsystemOverrideStep = @import("LibsystemOverrideStep.zig");
+const Config = @import("Config.zig");
+const GhosttyZig = @import("GhosttyZig.zig");
+const LipoStep = @import("LipoStep.zig");
+const SharedDeps = @import("SharedDeps.zig");
+const XCFrameworkStep = @import("XCFrameworkStep.zig");
+
+/// The step that generates the file.
+step: *std.Build.Step,
+
+/// The install step for the library output.
+artifact: *std.Build.Step,
+
+/// The kind of library
+kind: Kind,
+
+/// The final library file
+output: std.Build.LazyPath,
+dsym: ?std.Build.LazyPath,
+pkg_config: ?std.Build.LazyPath,
+pkg_config_static: ?std.Build.LazyPath,
+
+/// The kind of library being built. This is similar to LinkMode but
+/// also includes wasm which is an executable, not a library.
+const Kind = enum {
+ wasm,
+ shared,
+ static,
+};
+
+pub fn initWasm(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+) !GhosttyLibVt {
+ const target = zig.vt.resolved_target.?;
+ assert(target.result.cpu.arch.isWasm());
+
+ const exe = b.addExecutable(.{
+ .name = "ghostty-vt",
+ .root_module = zig.vt_c,
+ .version = zig.version,
+ });
+
+ // Allow exported symbols to actually be exported.
+ exe.rdynamic = true;
+
+ // Export the indirect function table so that embedders (e.g. JS in
+ // a browser) can insert callback entries for terminal effects.
+ exe.export_table = true;
+
+ // There is no entrypoint for this wasm module.
+ exe.entry = .disabled;
+
+ // Zig's WASM linker doesn't support --growable-table, so the table
+ // is emitted with max == min and can't be grown from JS. Run a
+ // small Zig build tool that patches the binary's table section to
+ // remove the max limit.
+ const patch_run = patch: {
+ const patcher = b.addExecutable(.{
+ .name = "wasm_patch_growable_table",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/build/wasm_patch_growable_table.zig"),
+ .target = b.graph.host,
+ }),
+ });
+ break :patch b.addRunArtifact(patcher);
+ };
+ patch_run.addFileArg(exe.getEmittedBin());
+ const output = patch_run.addOutputFileArg("ghostty-vt.wasm");
+ const artifact_install = b.addInstallFileWithDir(
+ output,
+ .bin,
+ "ghostty-vt.wasm",
+ );
+
+ return .{
+ .step = &patch_run.step,
+ .artifact = &artifact_install.step,
+ .kind = .wasm,
+ .output = output,
+ .dsym = null,
+ .pkg_config = null,
+ .pkg_config_static = null,
+ };
+}
+
+pub fn initStatic(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+) !GhosttyLibVt {
+ return initLib(b, zig, .static);
+}
+
+pub fn initShared(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+) !GhosttyLibVt {
+ const target = zig.vt.resolved_target.?;
+
+ // Prefer Apple's linker for final Darwin dylibs when its toolchain is
+ // available. Besides producing the platform load commands expected by
+ // Apple distribution, this lets the static archive's libSystem symbol
+ // override take effect. Cross-compiled macOS dylibs continue through Zig.
+ if (@import("apple_sdk").nativeLink.available(target)) {
+ return initLibApple(b, zig);
+ }
+
+ return initLib(b, zig, .dynamic);
+}
+
+/// Apple platform targets for xcframework slices.
+pub const ApplePlatform = enum {
+ macos_universal,
+ ios,
+ ios_simulator,
+ // tvOS, watchOS, and visionOS are not yet supported by Zig's
+ // standard library (missing PATH_MAX, mcontext fields, etc.).
+
+ /// Platforms that have device + simulator pairs, gated on SDK detection.
+ const sdk_platforms = [_]struct {
+ os_tag: std.Target.Os.Tag,
+ device: ApplePlatform,
+ simulator: ApplePlatform,
+ }{
+ .{ .os_tag = .ios, .device = .ios, .simulator = .ios_simulator },
+ };
+};
+
+/// Static libraries for each Apple platform, keyed by `ApplePlatform`.
+pub const AppleLibs = std.EnumMap(ApplePlatform, GhosttyLibVt);
+
+/// Build static libraries for all available Apple platforms.
+/// Always builds a macOS universal (arm64 + x86_64) fat binary.
+/// Additional platforms are included if their SDK is detected.
+pub fn initStaticAppleUniversal(
+ b: *std.Build,
+ cfg: *const Config,
+ deps: *const SharedDeps,
+ zig: *const GhosttyZig,
+) !AppleLibs {
+ var result: AppleLibs = .{};
+
+ // macOS universal (arm64 + x86_64)
+ const aarch64_zig = try zig.retarget(
+ b,
+ cfg,
+ deps,
+ Config.genericMacOSTarget(b, .aarch64),
+ );
+ const x86_64_zig = try zig.retarget(
+ b,
+ cfg,
+ deps,
+ Config.genericMacOSTarget(b, .x86_64),
+ );
+ const aarch64 = try initStatic(b, &aarch64_zig);
+ const x86_64 = try initStatic(b, &x86_64_zig);
+ const universal = LipoStep.create(b, .{
+ .name = "ghostty-vt",
+ .out_name = "libghostty-vt.a",
+ .input_a = aarch64.output,
+ .input_b = x86_64.output,
+ });
+ result.put(.macos_universal, .{
+ .step = universal.step,
+ .artifact = universal.step,
+ .kind = .static,
+ .output = universal.output,
+ .dsym = null,
+ .pkg_config = null,
+ .pkg_config_static = null,
+ });
+
+ // Additional Apple platforms, each gated on SDK availability.
+ for (ApplePlatform.sdk_platforms) |p| {
+ const target_query: std.Target.Query = .{
+ .cpu_arch = .aarch64,
+ .os_tag = p.os_tag,
+ .os_version_min = Config.osVersionMinLibVt(p.os_tag),
+ };
+ if (detectAppleSDK(
+ b.graph.io,
+ b.allocator,
+ &b.graph.environ_map,
+ b.resolveTargetQuery(target_query).result,
+ )) {
+ const dev_zig = try zig.retarget(b, cfg, deps, b.resolveTargetQuery(target_query));
+ result.put(p.device, try initStatic(b, &dev_zig));
+
+ const sim_zig = try zig.retarget(b, cfg, deps, b.resolveTargetQuery(.{
+ .cpu_arch = .aarch64,
+ .os_tag = p.os_tag,
+ .os_version_min = Config.osVersionMinLibVt(p.os_tag),
+ .abi = .simulator,
+ .cpu_model = .{ .explicit = &std.Target.aarch64.cpu.apple_a17 },
+ }));
+ result.put(p.simulator, try initStatic(b, &sim_zig));
+ }
+ }
+
+ return result;
+}
+
+fn initLib(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+ linkage: std.builtin.LinkMode,
+) !GhosttyLibVt {
+ const kind: Kind = switch (linkage) {
+ .static => .static,
+ .dynamic => .shared,
+ };
+ const target = zig.vt.resolved_target.?;
+ const lib = b.addLibrary(.{
+ .name = if (kind == .static) "ghostty-vt-static" else "ghostty-vt",
+ .linkage = linkage,
+ .root_module = zig.vt_c,
+ .version = zig.version,
+ });
+ lib.installHeadersDirectory(
+ b.path("include/ghostty"),
+ "ghostty",
+ .{ .include_extensions = &.{".h"} },
+ );
+
+ if (kind == .static) {
+ // These must be bundled since we're compiling into a static lib.
+ // Otherwise, you get undefined symbol errors. This could cause
+ // problems if you're linking multiple static Zig libraries but
+ // we'll cross that bridge when we get to it.
+ lib.bundle_compiler_rt = true;
+ lib.bundle_ubsan_rt = true;
+
+ // Enable PIC so the static library can be linked into PIE
+ // executables, which is the default on most Linux distributions.
+ lib.root_module.pic = true;
+ }
+
+ if (target.result.os.tag == .windows) {
+ // Zig's ubsan emits /exclude-symbols linker directives that
+ // are incompatible with the MSVC linker (LNK4229).
+ lib.bundle_ubsan_rt = false;
+
+ if (kind == .static) {
+ if (target.result.abi == .msvc) {
+ // Zig's compiler runtime doesn't provide MSVC's security
+ // cookie symbols when libc is linked. Disable stack-protector
+ // generation so static consumers don't need BufferOverflowU.
+ lib.root_module.stack_protector = false;
+ }
+
+ // The Zig standard library uses NT and kernel32 symbols.
+ lib.root_module.linkSystemLibrary("ntdll", .{});
+ lib.root_module.linkSystemLibrary("kernel32", .{});
+ }
+ }
+
+ if (lib.rootModuleTarget().abi.isAndroid()) {
+ // Support 16kb page sizes, required for Android 15+.
+ lib.link_z_max_page_size = 16384; // 16kb
+
+ try @import("android_ndk").addPaths(b, lib);
+ }
+
+ if (lib.rootModuleTarget().os.tag.isDarwin()) {
+ // Self-hosted x86_64 doesn't work for darwin. It may not work
+ // for other platforms too but definitely darwin.
+ lib.use_llvm = true;
+
+ // This is required for codesign and dynamic linking to work.
+ lib.headerpad_max_install_names = true;
+
+ // If we're not cross compiling then we try to find the Apple
+ // SDK using standard Apple tooling.
+ if (builtin.os.tag.isDarwin()) try @import("apple_sdk").addPaths(b, lib);
+ }
+
+ // Get our debug symbols (only for shared libs; static libs aren't linked)
+ const dsymutil: ?std.Build.LazyPath = dsymutil: {
+ if (kind != .shared) break :dsymutil null;
+ if (!target.result.os.tag.isDarwin()) break :dsymutil null;
+
+ const dsymutil = RunStep.create(b, "dsymutil");
+ dsymutil.addArgs(&.{"dsymutil"});
+ dsymutil.addFileArg(lib.getEmittedBin());
+ dsymutil.addArgs(&.{"-o"});
+ const output = dsymutil.addOutputFileArg("libghostty-vt.dSYM");
+ break :dsymutil output;
+ };
+
+ // pkg-config
+ //
+ // pkg-config's --static only expands Libs.private / Requires.private;
+ // it doesn't change -lghostty-vt into an archive-only reference when
+ // both shared and static libraries are installed. Install a dedicated
+ // static module so consumers can request the archive explicitly.
+ const pcs: ?PkgConfigFiles = if (kind == .shared)
+ pkgConfigFiles(b, zig, target.result.os.tag)
+ else
+ null;
+
+ // For static libraries with vendored SIMD dependencies, combine
+ // all archives into a single fat archive so consumers only need
+ // to link one file.
+ if (kind == .static and
+ zig.simd_libs.items.len > 0)
+ {
+ var sources: SharedDeps.LazyPathList = .empty;
+ try sources.append(b.allocator, lib.getEmittedBin());
+ try sources.appendSlice(b.allocator, zig.simd_libs.items);
+
+ const combined = CombineArchivesStep.create(b, target, "ghostty-vt", sources.items);
+ combined.step.dependOn(&lib.step);
+
+ // On Darwin, prefer libSystem's libc/libm over the bundled
+ // compiler-rt for consumers of this archive. See GhosttyLib
+ // and libsystem_override.sh for details.
+ const override = LibsystemOverrideStep.create(
+ b,
+ target,
+ combined.output,
+ "libghostty-vt-fat.a",
+ );
+
+ return .{
+ .step = override.step orelse combined.step,
+ .artifact = &b.addInstallArtifact(lib, .{}).step,
+ .kind = kind,
+ .output = override.output,
+ .dsym = dsymutil,
+ .pkg_config = if (pcs) |v| v.shared else null,
+ .pkg_config_static = if (pcs) |v| v.static else null,
+ };
+ }
+
+ // Same libSystem preference for the plain (no vendored SIMD)
+ // static archive; a no-op off Darwin.
+ const override: LibsystemOverrideStep.Result = if (kind == .static) LibsystemOverrideStep.create(
+ b,
+ target,
+ lib.getEmittedBin(),
+ "libghostty-vt-static.a",
+ ) else .{
+ .step = null,
+ .output = lib.getEmittedBin(),
+ };
+
+ return .{
+ .step = override.step orelse &lib.step,
+ .artifact = &b.addInstallArtifact(lib, .{}).step,
+ .kind = kind,
+ .output = override.output,
+ .dsym = dsymutil,
+ .pkg_config = if (pcs) |v| v.shared else null,
+ .pkg_config_static = if (pcs) |v| v.static else null,
+ };
+}
+
+/// Builds a shared Darwin library with Apple's linker.
+fn initLibApple(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+) !GhosttyLibVt {
+ // Sorry, this function has a lot of comments because there are
+ // a lot of flags that aren't obvious.
+
+ const target = zig.vt.resolved_target.?;
+ assert(target.result.os.tag.isDarwin());
+
+ // Build the combined archive through the normal static path first.
+ const static = try initStatic(b, zig);
+
+ // Zig's module-level export metadata does not carry into this separate
+ // native link, so explicitly expose only libghostty-vt's public C ABI.
+ const exports = b.addWriteFiles().add(
+ "libghostty-vt.exports",
+ "_ghostty_*\n",
+ );
+
+ // Match Zig's versioned dylib naming so existing consumers and packaging
+ // continue to receive the same real name and compatibility symlinks.
+ const real_name = b.fmt("libghostty-vt.{d}.{d}.{d}.dylib", .{
+ zig.version.major,
+ zig.version.minor,
+ zig.version.patch,
+ });
+ const soname = b.fmt("libghostty-vt.{d}.dylib", .{zig.version.major});
+
+ const native_link = try @import("apple_sdk").nativeLink.addCommand(
+ b,
+ "link libghostty-vt with Apple ld",
+ target,
+ );
+
+ native_link.addArgs(&.{
+ // Emit a Mach-O dynamic library instead of an executable.
+ "-dynamiclib",
+ // Pull every object from the combined static archive.
+ "-Wl,-all_load",
+ // Remove unreachable private code pulled in by all_load.
+ "-Wl,-dead_strip",
+ // Leave room for packaging tools to rewrite install names.
+ "-Wl,-headerpad_max_install_names",
+ });
+ // Restrict exports to libghostty-vt's public C ABI.
+ native_link.addPrefixedFileArg("-Wl,-exported_symbols_list,", exports);
+ // Link the archive produced by the normal static-library path.
+ native_link.addFileArg(static.output);
+ native_link.addArgs(&.{
+ // Give framework consumers a stable runtime-relative identity.
+ "-install_name",
+ "@rpath/libghostty-vt.dylib",
+ // Record the exact package version for runtime inspection.
+ "-current_version",
+ b.fmt("{d}.{d}.{d}", .{
+ zig.version.major,
+ zig.version.minor,
+ zig.version.patch,
+ }),
+ // Preserve compatibility with the initial public ABI.
+ "-compatibility_version",
+ "1.0.0",
+ // Write the fully versioned dylib used by the install symlinks.
+ "-o",
+ });
+ const output = native_link.addOutputFileArg(real_name);
+
+ // Recreate addInstallArtifact's dylib layout: install the fully versioned
+ // file, then point the major-version and unversioned names at it.
+ const artifact_install = b.addInstallFileWithDir(
+ output,
+ .lib,
+ real_name,
+ );
+ const soname_install = b.addSystemCommand(&.{
+ "/bin/ln",
+ "-sf",
+ real_name,
+ b.getInstallPath(.lib, soname),
+ });
+ soname_install.step.dependOn(&artifact_install.step);
+ const unversioned_install = b.addSystemCommand(&.{
+ "/bin/ln",
+ "-sf",
+ soname,
+ b.getInstallPath(.lib, "libghostty-vt.dylib"),
+ });
+ unversioned_install.step.dependOn(&soname_install.step);
+
+ // The native link is a Run step rather than a Compile step, so install the
+ // public headers explicitly instead of relying on addInstallArtifact.
+ const headers_install = b.addInstallDirectory(.{
+ .source_dir = b.path("include/ghostty"),
+ .install_dir = .header,
+ .install_subdir = "ghostty",
+ .include_extensions = &.{".h"},
+ });
+ unversioned_install.step.dependOn(&headers_install.step);
+
+ // Preserve the debug-symbol output exposed by the normal shared-library
+ // path for framework and release packaging.
+ const dsymutil = RunStep.create(b, "dsymutil");
+ dsymutil.addArgs(&.{"dsymutil"});
+ dsymutil.addFileArg(output);
+ dsymutil.addArgs(&.{"-o"});
+ const dsym = dsymutil.addOutputFileArg("libghostty-vt.dSYM");
+
+ const pcs = pkgConfigFiles(b, zig, target.result.os.tag);
+ return .{
+ .step = &native_link.step,
+ .artifact = &unversioned_install.step,
+ .kind = .shared,
+ .output = output,
+ .dsym = dsym,
+ .pkg_config = pcs.shared,
+ .pkg_config_static = pcs.static,
+ };
+}
+
+/// Returns the Libs.private value for the pkg-config file.
+/// Vendored C++ dependencies are built in no-libcxx mode so consumers
+/// don't need libc++. System-provided simdutf still requires it.
+fn libsPrivate(
+ zig: *const GhosttyZig,
+) []const u8 {
+ return if (zig.vt_c.link_libcpp orelse false) "-lc++" else "";
+}
+
+const PkgConfigFiles = struct {
+ shared: std.Build.LazyPath,
+ static: std.Build.LazyPath,
+};
+
+fn pkgConfigFiles(
+ b: *std.Build,
+ zig: *const GhosttyZig,
+ os_tag: std.Target.Os.Tag,
+) PkgConfigFiles {
+ const wf = b.addWriteFiles();
+ const libs_private = libsPrivate(zig);
+ const requires_private = requiresPrivate(b);
+
+ return .{
+ .shared = wf.add("libghostty-vt.pc", b.fmt(
+ \\prefix={s}
+ \\includedir=${{prefix}}/include
+ \\libdir=${{prefix}}/lib
+ \\
+ \\Name: libghostty-vt
+ \\URL: https://github.com/ghostty-org/ghostty
+ \\Description: Ghostty VT library
+ \\Version: {f}
+ \\Cflags: -I${{includedir}}
+ \\Libs: -L${{libdir}} -lghostty-vt
+ \\Libs.private: {s}
+ \\Requires.private: {s}
+ , .{ b.install_prefix, zig.version, libs_private, requires_private })),
+ .static = wf.add("libghostty-vt-static.pc", b.fmt(
+ \\prefix={s}
+ \\includedir=${{prefix}}/include
+ \\libdir=${{prefix}}/lib
+ \\
+ \\Name: libghostty-vt-static
+ \\URL: https://github.com/ghostty-org/ghostty
+ \\Description: Ghostty VT library (static)
+ \\Version: {f}
+ \\Cflags: -I${{includedir}}
+ \\Libs: ${{libdir}}/{s}
+ \\Libs.private: {s}
+ \\Requires.private: {s}
+ , .{
+ b.install_prefix,
+ zig.version,
+ staticLibraryName(os_tag),
+ libs_private,
+ requires_private,
+ })),
+ };
+}
+
+fn staticLibraryName(os_tag: std.Target.Os.Tag) []const u8 {
+ return if (os_tag == .windows)
+ "ghostty-vt-static.lib"
+ else
+ "libghostty-vt.a";
+}
+
+/// Returns the Requires.private value for the pkg-config file.
+/// When SIMD dependencies are provided by the system (via
+/// -Dsystem-integration), we reference their pkg-config names so
+/// that downstream consumers pick them up transitively.
+fn requiresPrivate(b: *std.Build) []const u8 {
+ const system_simdutf = b.systemIntegrationOption("simdutf", .{});
+ const system_highway = b.systemIntegrationOption("highway", .{ .default = false });
+
+ if (system_simdutf and system_highway) return "simdutf, libhwy";
+ if (system_simdutf) return "simdutf";
+ if (system_highway) return "libhwy";
+ return "";
+}
+
+/// Create an XCFramework bundle from Apple platform static libraries.
+pub fn xcframework(
+ apple_libs: *const AppleLibs,
+ b: *std.Build,
+) *XCFrameworkStep {
+ // Generate a headers directory with a module map for Swift PM.
+ // We can't use include/ directly because it contains a module map
+ // for GhosttyKit (the macOS app library).
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyDirectory(
+ b.path("include/ghostty"),
+ "ghostty",
+ .{ .include_extensions = &.{".h"} },
+ );
+ _ = wf.add("module.modulemap",
+ \\module GhosttyVt {
+ \\ umbrella header "ghostty/vt.h"
+ \\ export *
+ \\}
+ \\
+ );
+ const headers = wf.getDirectory();
+
+ var libraries: [AppleLibs.len]XCFrameworkStep.Library = undefined;
+ var lib_count: usize = 0;
+ for (std.enums.values(ApplePlatform)) |platform| {
+ if (apple_libs.get(platform)) |lib| {
+ libraries[lib_count] = .{
+ .library = lib.output,
+ .headers = headers,
+ .dsym = null,
+ };
+ lib_count += 1;
+ }
+ }
+
+ return XCFrameworkStep.create(b, .{
+ .name = "ghostty-vt",
+ .out_path = b.pathJoin(&.{ b.install_prefix, "lib/ghostty-vt.xcframework" }),
+ .libraries = libraries[0..lib_count],
+ });
+}
+
+/// Returns true if the Apple SDK for the given target is installed.
+fn detectAppleSDK(
+ io: std.Io,
+ alloc: std.mem.Allocator,
+ environ_map: *const std.process.Environ.Map,
+ target: std.Target,
+) bool {
+ _ = std.zig.LibCInstallation.findNative(
+ alloc,
+ io,
+ .{
+ .environ_map = environ_map,
+ .target = &target,
+ .verbose = false,
+ },
+ ) catch return false;
+ return true;
+}
+
+pub fn install(
+ self: *const GhosttyLibVt,
+ step: *std.Build.Step,
+) void {
+ const b = step.owner;
+ step.dependOn(self.artifact);
+ if (self.pkg_config) |pkg_config| {
+ step.dependOn(&b.addInstallFileWithDir(
+ pkg_config,
+ .prefix,
+ "share/pkgconfig/libghostty-vt.pc",
+ ).step);
+ }
+ if (self.pkg_config_static) |pkg_config_static| {
+ step.dependOn(&b.addInstallFileWithDir(
+ pkg_config_static,
+ .prefix,
+ "share/pkgconfig/libghostty-vt-static.pc",
+ ).step);
+ }
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyResources.zig b/vendor/libghostty-vt/src/build/GhosttyResources.zig
new file mode 100644
index 0000000..673c7e5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyResources.zig
@@ -0,0 +1,442 @@
+const GhosttyResources = @This();
+
+const std = @import("std");
+const assert = std.debug.assert;
+const Config = @import("Config.zig");
+const RunStep = std.Build.Step.Run;
+const SharedDeps = @import("SharedDeps.zig");
+
+steps: []*std.Build.Step,
+
+pub fn init(b: *std.Build, cfg: *const Config, deps: *const SharedDeps) !GhosttyResources {
+ var steps: std.ArrayList(*std.Build.Step) = .empty;
+ errdefer steps.deinit(b.allocator);
+
+ // This is the exe used to generate some build data.
+ const build_data_exe = b.addExecutable(.{
+ .name = "ghostty-build-data",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main_build_data.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ .link_libc = true,
+ }),
+ });
+
+ deps.help_strings.addImport(build_data_exe);
+
+ // Terminfo
+ terminfo: {
+ const os_tag = cfg.target.result.os.tag;
+ const terminfo_share_dir = if (os_tag == .freebsd)
+ "site-terminfo"
+ else
+ "terminfo";
+
+ // Encode our terminfo
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+terminfo");
+ const wf = b.addWriteFiles();
+ const source = wf.addCopyFile(run.captureStdOut(.{}), "ghostty.terminfo");
+
+ if (cfg.emit_terminfo) {
+ const source_install = b.addInstallFile(
+ source,
+ if (os_tag == .freebsd)
+ "share/site-terminfo/ghostty.terminfo"
+ else
+ "share/terminfo/ghostty.terminfo",
+ );
+
+ try steps.append(b.allocator, &source_install.step);
+ }
+
+ // Windows doesn't have the binaries below.
+ if (os_tag == .windows) break :terminfo;
+
+ // Convert to termcap source format if thats helpful to people and
+ // install it. The resulting value here is the termcap source in case
+ // that is used for other commands.
+ if (cfg.emit_termcap) {
+ const run_step = RunStep.create(b, "infotocap");
+ run_step.addArg("infotocap");
+ run_step.addFileArg(source);
+ const out_source = run_step.captureStdOut(.{});
+ _ = run_step.captureStdErr(.{}); // so we don't see stderr
+
+ const cap_install = b.addInstallFile(
+ out_source,
+ if (os_tag == .freebsd)
+ "share/site-terminfo/ghostty.termcap"
+ else
+ "share/terminfo/ghostty.termcap",
+ );
+
+ try steps.append(b.allocator, &cap_install.step);
+ }
+
+ // Compile the terminfo source into a terminfo database
+ {
+ const run_step = RunStep.create(b, "tic");
+ run_step.addArgs(&.{ "tic", "-x", "-o" });
+ const path = run_step.addOutputFileArg(terminfo_share_dir);
+
+ run_step.addFileArg(source);
+ _ = run_step.captureStdErr(.{}); // so we don't see stderr
+
+ // Ensure that `share/terminfo` is a directory, otherwise the `cp
+ // -R` will create a file named `share/terminfo`
+ const mkdir_step = RunStep.create(b, "make share/terminfo directory");
+ switch (cfg.target.result.os.tag) {
+ // windows mkdir shouldn't need "-p"
+ .windows => mkdir_step.addArgs(&.{"mkdir"}),
+ else => mkdir_step.addArgs(&.{ "mkdir", "-p" }),
+ }
+
+ mkdir_step.addArg(b.fmt(
+ "{s}/share/{s}",
+ .{ b.install_path, terminfo_share_dir },
+ ));
+
+ try steps.append(b.allocator, &mkdir_step.step);
+
+ // Use cp -R instead of Step.InstallDir because we need to preserve
+ // symlinks in the terminfo database. Zig's InstallDir step doesn't
+ // handle symlinks correctly yet.
+ const copy_step = RunStep.create(b, "copy terminfo db");
+ copy_step.addArgs(&.{ "cp", "-R" });
+ copy_step.addFileArg(path);
+ copy_step.addArg(b.fmt("{s}/share", .{b.install_path}));
+ copy_step.step.dependOn(&mkdir_step.step);
+ try steps.append(b.allocator, &copy_step.step);
+ }
+ }
+
+ // Shell-integration
+ {
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = b.path("src/shell-integration"),
+ .install_dir = .{ .custom = "share" },
+ .install_subdir = b.pathJoin(&.{ "ghostty", "shell-integration" }),
+ .exclude_extensions = &.{".md"},
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+
+ // Themes
+ if (cfg.emit_themes) {
+ if (b.lazyDependency("iterm2_themes", .{})) |upstream| {
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = upstream.path(""),
+ .install_dir = .{ .custom = "share" },
+ .install_subdir = b.pathJoin(&.{ "ghostty", "themes" }),
+ .exclude_extensions = &.{".md"},
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+ }
+
+ // Fish shell completions
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+fish");
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "ghostty.fish");
+
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/fish/vendor_completions.d",
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+
+ // zsh shell completions
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+zsh");
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "_ghostty");
+
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/zsh/site-functions",
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+
+ // bash shell completions
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+bash");
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "ghostty.bash");
+
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/bash-completion/completions",
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+
+ // Vim and Neovim plugin
+ {
+ const wf = b.addWriteFiles();
+
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+vim-syntax");
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "syntax/ghostty.vim");
+ }
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+vim-ftdetect");
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "ftdetect/ghostty.vim");
+ }
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+vim-ftplugin");
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "ftplugin/ghostty.vim");
+ }
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+vim-compiler");
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "compiler/ghostty.vim");
+ }
+
+ const vim_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/vim/vimfiles",
+ });
+ try steps.append(b.allocator, &vim_step.step);
+
+ const neovim_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/nvim/site",
+ });
+ try steps.append(b.allocator, &neovim_step.step);
+ }
+
+ // Sublime syntax highlighting for bat cli tool
+ // NOTE: The current implementation requires symlinking the generated
+ // 'ghostty.sublime-syntax' file from zig-out to the '~.config/bat/syntaxes'
+ // directory. The syntax then needs to be mapped to the correct language in
+ // the config file within the '~.config/bat' directory
+ // (ex: --map-syntax "/Users/user/.config/ghostty/config.ghostty:Ghostty Config").
+ {
+ const run = b.addRunArtifact(build_data_exe);
+ run.addArg("+sublime");
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(run.captureStdOut(.{}), "ghostty.sublime-syntax");
+
+ const install_step = b.addInstallDirectory(.{
+ .source_dir = wf.getDirectory(),
+ .install_dir = .prefix,
+ .install_subdir = "share/bat/syntaxes",
+ });
+ try steps.append(b.allocator, &install_step.step);
+ }
+
+ // App (Linux)
+ if (cfg.target.result.os.tag == .linux) try addLinuxAppResources(
+ b,
+ cfg,
+ &steps,
+ );
+
+ return .{ .steps = steps.items };
+}
+
+/// Add the resource files needed to make Ghostty a proper
+/// Linux desktop application (for various desktop environments).
+fn addLinuxAppResources(
+ b: *std.Build,
+ cfg: *const Config,
+ steps: *std.ArrayList(*std.Build.Step),
+) !void {
+ assert(cfg.target.result.os.tag == .linux);
+
+ // Background:
+ // https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html
+
+ const name = b.fmt("Ghostty{s}", .{
+ switch (cfg.optimize) {
+ .Debug, .ReleaseSafe => " (Debug)",
+ .ReleaseFast, .ReleaseSmall => "",
+ },
+ });
+
+ const app_id = b.fmt("com.mitchellh.ghostty{s}", .{
+ switch (cfg.optimize) {
+ .Debug, .ReleaseSafe => "-debug",
+ .ReleaseFast, .ReleaseSmall => "",
+ },
+ });
+
+ const exe_abs_path = b.fmt(
+ "{s}/bin/ghostty",
+ .{b.install_prefix},
+ );
+
+ // The templates that we will process. The templates are in
+ // cmake format and will be processed and saved to the
+ // second element of the tuple.
+ const Template = struct { std.Build.LazyPath, []const u8 };
+ const templates: []const Template = templates: {
+ var ts: std.ArrayList(Template) = .empty;
+ defer ts.deinit(b.allocator);
+
+ // Desktop file so that we have an icon and other metadata
+ try ts.append(b.allocator, .{
+ b.path("dist/linux/app.desktop.in"),
+ b.fmt("share/applications/{s}.desktop", .{app_id}),
+ });
+
+ // Service for DBus activation.
+ try ts.append(b.allocator, .{
+ if (cfg.flatpak)
+ b.path("dist/linux/dbus.service.flatpak.in")
+ else
+ b.path("dist/linux/dbus.service.in"),
+ b.fmt("share/dbus-1/services/{s}.service", .{app_id}),
+ });
+
+ // `systemd` user service. This is kind of nasty but `systemd` looks for
+ // user services in different paths depending on if we are installed
+ // as a system package or not (lib vs. share) so we have to handle that
+ // here. We might be able to get away with always installing to both
+ // because it only ever searches in one... but I don't want to do that
+ // hack until we have to.
+ //
+ // The XDG Freedesktop Portal has a major undocumented requirement
+ // for programs that are launched/controlled by `systemd` to interact
+ // with the Portal. The unit must be named `app-<appid>.service`. The
+ // Portal uses the `systemd` unit name figure out what the program's
+ // application ID is and it will only look at unit names that begin with
+ // `app-`. I can find no place that this is documented other than by
+ // inspecting the code or the issue and PR that introduced this feature.
+ // See the following code:
+ //
+ // https://github.com/flatpak/xdg-desktop-portal/blob/7d4d48cf079147c8887da17ec6c3954acd5a285c/src/xdp-utils.c#L152-L220
+ if (!cfg.flatpak) try ts.append(b.allocator, .{
+ b.path("dist/linux/systemd.service.in"),
+ b.fmt(
+ "{s}/systemd/user/app-{s}.service",
+ .{
+ if (b.graph.system_package_mode) "lib" else "share",
+ app_id,
+ },
+ ),
+ });
+
+ // AppStream metainfo so that application has rich metadata
+ // within app stores
+ try ts.append(b.allocator, .{
+ b.path("dist/linux/com.mitchellh.ghostty.metainfo.xml.in"),
+ b.fmt("share/metainfo/{s}.metainfo.xml", .{app_id}),
+ });
+
+ break :templates try ts.toOwnedSlice(b.allocator);
+ };
+
+ // Process all our templates
+ for (templates) |template| {
+ const tpl = b.addConfigHeader(.{
+ .style = .{ .cmake = template[0] },
+ }, .{
+ .NAME = name,
+ .APPID = app_id,
+ .GHOSTTY = exe_abs_path,
+ });
+
+ // Template output has a single header line we want to remove.
+ // We use `tail` to do it since its part of the POSIX standard.
+ const tail = b.addSystemCommand(&.{ "tail", "-n", "+2" });
+ tail.setStdIn(.{ .lazy_path = tpl.getOutputFile() });
+
+ const copy = b.addInstallFile(
+ tail.captureStdOut(.{}),
+ template[1],
+ );
+
+ try steps.append(b.allocator, &copy.step);
+ }
+
+ // Right click menu action for Plasma desktop
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("dist/linux/ghostty_dolphin.desktop"),
+ "share/kio/servicemenus/com.mitchellh.ghostty.desktop",
+ ).step);
+
+ // Right click menu action for Nautilus. Note that this _must_ be named
+ // `ghostty.py`. Using the full app id causes problems (see #5468).
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("dist/linux/ghostty_nautilus.py"),
+ "share/nautilus-python/extensions/ghostty.py",
+ ).step);
+
+ // Various icons that our application can use, including the icon
+ // that will be used for the desktop.
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/16.png"),
+ "share/icons/hicolor/16x16/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/32.png"),
+ "share/icons/hicolor/32x32/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/128.png"),
+ "share/icons/hicolor/128x128/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/256.png"),
+ "share/icons/hicolor/256x256/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/512.png"),
+ "share/icons/hicolor/512x512/apps/com.mitchellh.ghostty.png",
+ ).step);
+ // Flatpaks only support icons up to 512x512.
+ if (!cfg.flatpak) {
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/1024.png"),
+ "share/icons/hicolor/1024x1024/apps/com.mitchellh.ghostty.png",
+ ).step);
+ }
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/32.png"),
+ "share/icons/hicolor/16x16@2/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/64.png"),
+ "share/icons/hicolor/32x32@2/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/256.png"),
+ "share/icons/hicolor/128x128@2/apps/com.mitchellh.ghostty.png",
+ ).step);
+ try steps.append(b.allocator, &b.addInstallFile(
+ b.path("images/gnome/512.png"),
+ "share/icons/hicolor/256x256@2/apps/com.mitchellh.ghostty.png",
+ ).step);
+}
+
+pub fn install(self: *const GhosttyResources) void {
+ const b = self.steps[0].owner;
+ self.addStepDependencies(b.getInstallStep());
+}
+
+pub fn addStepDependencies(
+ self: *const GhosttyResources,
+ other_step: *std.Build.Step,
+) void {
+ for (self.steps) |step| other_step.dependOn(step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyWebdata.zig b/vendor/libghostty-vt/src/build/GhosttyWebdata.zig
new file mode 100644
index 0000000..7057ad0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyWebdata.zig
@@ -0,0 +1,119 @@
+//! GhosttyWebdata generates all the Ghostty website data that is
+//! merged with the website for things like config references.
+const GhosttyWebdata = @This();
+
+const std = @import("std");
+const SharedDeps = @import("SharedDeps.zig");
+
+steps: []*std.Build.Step,
+
+pub fn init(
+ b: *std.Build,
+ deps: *const SharedDeps,
+) !GhosttyWebdata {
+ var steps: std.ArrayList(*std.Build.Step) = .empty;
+ errdefer steps.deinit(b.allocator);
+
+ {
+ const webgen_config = b.addExecutable(.{
+ .name = "webgen_config",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ }),
+ });
+ deps.help_strings.addImport(webgen_config);
+
+ {
+ const buildconfig = config: {
+ var copy = deps.config.*;
+ copy.exe_entrypoint = .webgen_config;
+ break :config copy;
+ };
+
+ const options = b.addOptions();
+ try buildconfig.addOptions(options);
+ webgen_config.root_module.addOptions("build_options", options);
+ }
+
+ const webgen_config_step = b.addRunArtifact(webgen_config);
+ const webgen_config_out = webgen_config_step.captureStdOut(.{});
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ webgen_config_out,
+ "share/ghostty/webdata/config.mdx",
+ ).step);
+ }
+
+ {
+ const webgen_actions = b.addExecutable(.{
+ .name = "webgen_actions",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main.zig"),
+ .target = b.graph.host,
+ }),
+ });
+ deps.help_strings.addImport(webgen_actions);
+
+ {
+ const buildconfig = config: {
+ var copy = deps.config.*;
+ copy.exe_entrypoint = .webgen_actions;
+ break :config copy;
+ };
+
+ const options = b.addOptions();
+ try buildconfig.addOptions(options);
+ webgen_actions.root_module.addOptions("build_options", options);
+ }
+
+ const webgen_actions_step = b.addRunArtifact(webgen_actions);
+ const webgen_actions_out = webgen_actions_step.captureStdOut(.{});
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ webgen_actions_out,
+ "share/ghostty/webdata/actions.mdx",
+ ).step);
+ }
+
+ {
+ const webgen_commands = b.addExecutable(.{
+ .name = "webgen_commands",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/main.zig"),
+ .target = b.graph.host,
+ }),
+ });
+ deps.help_strings.addImport(webgen_commands);
+
+ {
+ const buildconfig = config: {
+ var copy = deps.config.*;
+ copy.exe_entrypoint = .webgen_commands;
+ break :config copy;
+ };
+
+ const options = b.addOptions();
+ try buildconfig.addOptions(options);
+ webgen_commands.root_module.addOptions("build_options", options);
+ }
+
+ const webgen_commands_step = b.addRunArtifact(webgen_commands);
+ const webgen_commands_out = webgen_commands_step.captureStdOut(.{});
+
+ try steps.append(b.allocator, &b.addInstallFile(
+ webgen_commands_out,
+ "share/ghostty/webdata/commands.mdx",
+ ).step);
+ }
+
+ return .{ .steps = steps.items };
+}
+
+pub fn install(self: *const GhosttyWebdata) void {
+ const b = self.steps[0].owner;
+ for (self.steps) |step| b.getInstallStep().dependOn(step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyXCFramework.zig b/vendor/libghostty-vt/src/build/GhosttyXCFramework.zig
new file mode 100644
index 0000000..3f3b97e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyXCFramework.zig
@@ -0,0 +1,75 @@
+const GhosttyXCFramework = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+const SharedDeps = @import("SharedDeps.zig");
+const GhosttyLib = @import("GhosttyLib.zig");
+const XCFrameworkStep = @import("XCFrameworkStep.zig");
+const Target = @import("xcframework.zig").Target;
+
+xcframework: *XCFrameworkStep,
+target: Target,
+
+pub fn init(
+ b: *std.Build,
+ deps: *const SharedDeps,
+ target: Target,
+) !GhosttyXCFramework {
+ // Universal macOS build
+ const macos_universal = try GhosttyLib.initMacOSUniversal(b, deps);
+
+ // Native macOS build
+ const macos_native = try GhosttyLib.initStatic(b, &try deps.retarget(
+ b,
+ Config.genericMacOSTarget(b, null),
+ ));
+
+ // Generate a headers directory with only ghostty.h and the module
+ // map. We can't use include/ directly because it also contains the
+ // libghostty-vt headers under include/ghostty/, which would trigger
+ // "umbrella header does not include header" warnings from Clang's
+ // module system.
+ const wf = b.addWriteFiles();
+ _ = wf.addCopyFile(b.path("include/ghostty.h"), "ghostty.h");
+ _ = wf.addCopyFile(b.path("include/module.modulemap"), "module.modulemap");
+ const headers = wf.getDirectory();
+
+ // The xcframework wraps our ghostty library so that we can link
+ // it to the final app built with Swift.
+ const xcframework = XCFrameworkStep.create(b, .{
+ .name = "GhosttyKit",
+ .out_path = "macos/GhosttyKit.xcframework",
+ .libraries = switch (target) {
+ .universal => &.{
+ .{
+ .library = macos_universal.output,
+ .headers = headers,
+ .dsym = macos_universal.dsym,
+ },
+ },
+
+ .native => &.{.{
+ .library = macos_native.output,
+ .headers = headers,
+ .dsym = macos_native.dsym,
+ }},
+ },
+ });
+
+ return .{
+ .xcframework = xcframework,
+ .target = target,
+ };
+}
+
+pub fn install(self: *const GhosttyXCFramework) void {
+ const b = self.xcframework.step.owner;
+ self.addStepDependencies(b.getInstallStep());
+}
+
+pub fn addStepDependencies(
+ self: *const GhosttyXCFramework,
+ other_step: *std.Build.Step,
+) void {
+ other_step.dependOn(self.xcframework.step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyXcodebuild.zig b/vendor/libghostty-vt/src/build/GhosttyXcodebuild.zig
new file mode 100644
index 0000000..6f7e18d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyXcodebuild.zig
@@ -0,0 +1,203 @@
+const Ghostty = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+const RunStep = std.Build.Step.Run;
+const Config = @import("Config.zig");
+const Docs = @import("GhosttyDocs.zig");
+const I18n = @import("GhosttyI18n.zig");
+const Resources = @import("GhosttyResources.zig");
+const XCFramework = @import("GhosttyXCFramework.zig");
+
+build: *std.Build.Step.Run,
+open: *std.Build.Step.Run,
+copy: *std.Build.Step.Run,
+xctest: *std.Build.Step.Run,
+
+pub const Deps = struct {
+ xcframework: *const XCFramework,
+ docs: *const Docs,
+ i18n: ?*const I18n,
+ resources: *const Resources,
+};
+
+pub fn init(
+ b: *std.Build,
+ config: *const Config,
+ deps: Deps,
+) !Ghostty {
+ const xc_config = switch (config.optimize) {
+ .Debug => "Debug",
+ .ReleaseSafe,
+ .ReleaseSmall,
+ .ReleaseFast,
+ => "ReleaseLocal",
+ };
+
+ const xc_arch: ?[]const u8 = switch (deps.xcframework.target) {
+ // Universal is our default target, so we don't have to
+ // add anything.
+ .universal => null,
+
+ // Native we need to override the architecture in the Xcode
+ // project with the -arch flag.
+ .native => switch (builtin.cpu.arch) {
+ .aarch64 => "arm64",
+ .x86_64 => "x86_64",
+ else => @panic("unsupported macOS arch"),
+ },
+ };
+
+ const env = b.graph.environ_map;
+ const app_path = b.fmt("macos/build/{s}/Ghostty.app", .{xc_config});
+
+ // Our step to build the Ghostty macOS app.
+ const build = build: {
+ // External environment variables can mess up xcodebuild, so
+ // we create a new empty environment.
+ const env_map = try b.allocator.create(std.process.Environ.Map);
+ env_map.* = .init(b.allocator);
+ if (env.get("PATH")) |v| try env_map.put("PATH", v);
+
+ const step = RunStep.create(b, "xcodebuild");
+ step.has_side_effects = true;
+ step.cwd = b.path("macos");
+ step.environ_map = env_map;
+ step.addArgs(&.{
+ "xcodebuild",
+ "-target",
+ "Ghostty",
+ "-configuration",
+ xc_config,
+ });
+
+ // If we have a specific architecture, we need to pass it
+ // to xcodebuild.
+ if (xc_arch) |arch| step.addArgs(&.{ "-arch", arch });
+
+ // We need the xcframework
+ deps.xcframework.addStepDependencies(&step.step);
+
+ // We also need all these resources because the xcode project
+ // references them via symlinks.
+ deps.resources.addStepDependencies(&step.step);
+ if (deps.i18n) |v| v.addStepDependencies(&step.step);
+ deps.docs.installDummy(&step.step);
+
+ // Expect success
+ step.expectExitCode(0);
+
+ break :build step;
+ };
+
+ const xctest = xctest: {
+ const env_map = try b.allocator.create(std.process.Environ.Map);
+ env_map.* = .init(b.allocator);
+ if (env.get("PATH")) |v| try env_map.put("PATH", v);
+
+ const step = RunStep.create(b, "xcodebuild test");
+ step.has_side_effects = true;
+ step.cwd = b.path("macos");
+ step.environ_map = env_map;
+ step.addArgs(&.{
+ "xcodebuild",
+ "test",
+ "-scheme",
+ "Ghostty",
+ "-skip-testing",
+ "GhosttyUITests",
+ });
+ if (xc_arch) |arch| step.addArgs(&.{ "-arch", arch });
+
+ // We need the xcframework
+ deps.xcframework.addStepDependencies(&step.step);
+
+ // We also need all these resources because the xcode project
+ // references them via symlinks.
+ deps.resources.addStepDependencies(&step.step);
+ if (deps.i18n) |v| v.addStepDependencies(&step.step);
+ deps.docs.installDummy(&step.step);
+
+ // Expect success
+ step.expectExitCode(0);
+
+ break :xctest step;
+ };
+
+ // Our step to open the resulting Ghostty app.
+ const open = open: {
+ const disable_save_state = RunStep.create(b, "disable save state");
+ disable_save_state.has_side_effects = true;
+ disable_save_state.addArgs(&.{
+ "/usr/libexec/PlistBuddy",
+ "-c",
+ // We'll have to change this to `Set` if we ever put this
+ // into our Info.plist.
+ "Add :NSQuitAlwaysKeepsWindows bool false",
+ b.fmt("{s}/Contents/Info.plist", .{app_path}),
+ });
+ disable_save_state.expectExitCode(0);
+ disable_save_state.step.dependOn(&build.step);
+
+ const open = RunStep.create(b, "run Ghostty app");
+ open.has_side_effects = true;
+ open.cwd = b.path("");
+ open.addArgs(&.{b.fmt(
+ "{s}/Contents/MacOS/ghostty",
+ .{app_path},
+ )});
+
+ // Open depends on the app
+ open.step.dependOn(&build.step);
+ open.step.dependOn(&disable_save_state.step);
+
+ // This overrides our default behavior and forces logs to show
+ // up on stderr (in addition to the centralized macOS log).
+ open.setEnvironmentVariable("GHOSTTY_LOG", "stderr,macos");
+
+ // Configure how we're launching
+ open.setEnvironmentVariable("GHOSTTY_MAC_LAUNCH_SOURCE", "zig_run");
+
+ if (b.args) |args| {
+ open.addArgs(args);
+ }
+
+ break :open open;
+ };
+
+ // Our step to copy the app bundle to the install path.
+ // We have to use `cp -R` because there are symlinks in the
+ // bundle.
+ const copy = copy: {
+ const step = RunStep.create(b, "copy app bundle");
+ step.addArgs(&.{ "cp", "-R" });
+ step.addFileArg(b.path(app_path));
+ step.addArg(b.fmt("{s}", .{b.install_path}));
+ step.step.dependOn(&build.step);
+ break :copy step;
+ };
+
+ return .{
+ .build = build,
+ .open = open,
+ .copy = copy,
+ .xctest = xctest,
+ };
+}
+
+pub fn install(self: *const Ghostty) void {
+ const b = self.copy.step.owner;
+ b.getInstallStep().dependOn(&self.copy.step);
+}
+
+pub fn installXcframework(self: *const Ghostty) void {
+ const b = self.build.step.owner;
+ b.getInstallStep().dependOn(&self.build.step);
+}
+
+pub fn addTestStepDependencies(
+ self: *const Ghostty,
+ other_step: *std.Build.Step,
+) void {
+ other_step.dependOn(&self.xctest.step);
+}
diff --git a/vendor/libghostty-vt/src/build/GhosttyZig.zig b/vendor/libghostty-vt/src/build/GhosttyZig.zig
new file mode 100644
index 0000000..4671219
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GhosttyZig.zig
@@ -0,0 +1,146 @@
+//! GhosttyZig generates the Zig modules that Ghostty exports
+//! for downstream usage.
+const GhosttyZig = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+const SharedDeps = @import("SharedDeps.zig");
+const TerminalBuildOptions = @import("../terminal/build_options.zig").Options;
+
+/// The `_c`-suffixed modules are built with the C ABI enabled.
+vt: *std.Build.Module,
+vt_c: *std.Build.Module,
+
+/// The libghostty-vt version
+version: std.SemanticVersion,
+
+/// Static library paths for vendored SIMD dependencies. Populated
+/// only when the dependencies are built from source (not provided
+/// by the system via -Dsystem-integration). Used to produce a
+/// combined static archive for downstream consumers.
+simd_libs: SharedDeps.LazyPathList,
+
+pub fn init(
+ b: *std.Build,
+ cfg: *const Config,
+ deps: *const SharedDeps,
+) !GhosttyZig {
+ return initInner(b, cfg, deps, "ghostty-vt", "ghostty-vt-c");
+}
+
+/// Create a new GhosttyZig with modules retargeted to a different
+/// architecture. Used to produce universal (fat) binaries on macOS.
+pub fn retarget(
+ self: *const GhosttyZig,
+ b: *std.Build,
+ cfg: *const Config,
+ deps: *const SharedDeps,
+ target: std.Build.ResolvedTarget,
+) !GhosttyZig {
+ _ = self;
+ const retargeted_config = try b.allocator.create(Config);
+ retargeted_config.* = cfg.*;
+ retargeted_config.target = target;
+
+ const retargeted_deps = try b.allocator.create(SharedDeps);
+ retargeted_deps.* = try deps.retarget(b, target);
+
+ // Use unique module names to avoid collisions with the original target.
+ const arch_name = @tagName(target.result.cpu.arch);
+ return initInner(
+ b,
+ retargeted_config,
+ retargeted_deps,
+ b.fmt("ghostty-vt-{s}", .{arch_name}),
+ b.fmt("ghostty-vt-c-{s}", .{arch_name}),
+ );
+}
+
+fn initInner(
+ b: *std.Build,
+ cfg: *const Config,
+ deps: *const SharedDeps,
+ vt_name: []const u8,
+ vt_c_name: []const u8,
+) !GhosttyZig {
+ // Terminal module build options
+ var vt_options = cfg.terminalOptions(.lib, cfg.optimize);
+ vt_options.artifact = .lib;
+ // We presently don't allow Oniguruma in our Zig module at all.
+ // We should expose this as a build option in the future so we can
+ // conditionally do this.
+ vt_options.oniguruma = false;
+
+ var simd_libs: SharedDeps.LazyPathList = .empty;
+
+ return .{
+ .vt = try initVt(
+ vt_name,
+ b,
+ cfg,
+ deps,
+ vt_options,
+ null,
+ ),
+
+ .vt_c = try initVt(
+ vt_c_name,
+ b,
+ cfg,
+ deps,
+ options: {
+ var dup = vt_options;
+ dup.c_abi = true;
+ break :options dup;
+ },
+ &simd_libs,
+ ),
+
+ .version = cfg.lib_version,
+
+ .simd_libs = simd_libs,
+ };
+}
+
+fn initVt(
+ name: []const u8,
+ b: *std.Build,
+ cfg: *const Config,
+ deps: *const SharedDeps,
+ vt_options: TerminalBuildOptions,
+ simd_libs: ?*SharedDeps.LazyPathList,
+) !*std.Build.Module {
+ // General build options
+ const general_options = b.addOptions();
+ try cfg.addOptions(general_options);
+
+ const vt = b.addModule(name, .{
+ .root_source_file = b.path("src/lib_vt.zig"),
+ .target = cfg.target,
+ .optimize = cfg.optimize,
+
+ // SIMD requires libc. Vendored C++ dependencies are built with
+ // no-libcxx mode (HWY_NO_LIBCXX / SIMDUTF_NO_LIBCXX) so we
+ // don't need libcpp. System-provided simdutf headers still
+ // use C++ stdlib headers, so we need libcpp in that case.
+ .link_libc = if (cfg.simd) true else null,
+ .link_libcpp = if (cfg.simd and
+ b.systemIntegrationOption("simdutf", .{}) and
+ cfg.target.result.abi != .msvc) true else null,
+ });
+ vt.addOptions("build_options", general_options);
+ vt_options.add(b, vt);
+
+ // We always need unicode tables
+ deps.unicode_tables.addModuleImport(vt);
+
+ // We need uucode for grapheme break support
+ vt.addImport("uucode", deps.uucode_mod);
+
+ // If SIMD is enabled, add all our SIMD dependencies.
+ if (cfg.simd) {
+ try SharedDeps.addSimd(b, vt, simd_libs);
+ }
+
+ return vt;
+}
diff --git a/vendor/libghostty-vt/src/build/GitVersion.zig b/vendor/libghostty-vt/src/build/GitVersion.zig
new file mode 100644
index 0000000..2365a11
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/GitVersion.zig
@@ -0,0 +1,86 @@
+const Version = @This();
+
+const std = @import("std");
+
+/// The short hash (7 characters) of the latest commit.
+short_hash: []const u8,
+
+/// True if there was a diff at build time.
+changes: bool,
+
+/// The tag -- if any -- that this commit is a part of.
+tag: ?[]const u8,
+
+/// The branch that was checked out at the time of the build.
+branch: []const u8,
+
+/// Initialize the version and detect it from the Git environment. This
+/// allocates using the build allocator and doesn't free.
+pub fn detect(b: *std.Build) !Version {
+ // Execute a bunch of git commands to determine the automatic version.
+ var code: u8 = 0;
+ const branch: []const u8 = b: {
+ const tmp: []u8 = b.runAllowFail(
+ &[_][]const u8{ "git", "-C", b.build_root.path orelse ".", "rev-parse", "--abbrev-ref", "HEAD" },
+ &code,
+ .ignore,
+ ) catch |err| switch (err) {
+ error.FileNotFound => return error.GitNotFound,
+ error.ExitCodeFailure => return error.GitNotRepository,
+ else => return err,
+ };
+
+ // Replace characters that are not valid in semantic version
+ // pre-release identifiers (which only allow [0-9A-Za-z-]).
+ // Slashes would also mess up dist tarball paths.
+ for (tmp) |*c| {
+ if (!std.ascii.isAlphanumeric(c.*) and c.* != '-') c.* = '-';
+ }
+
+ break :b tmp;
+ };
+
+ const short_hash = short_hash: {
+ const output = b.runAllowFail(
+ &[_][]const u8{ "git", "-C", b.build_root.path orelse ".", "-c", "log.showSignature=false", "log", "--pretty=format:%h", "-n", "1" },
+ &code,
+ .ignore,
+ ) catch |err| switch (err) {
+ error.FileNotFound => return error.GitNotFound,
+ else => return err,
+ };
+
+ break :short_hash std.mem.trimEnd(u8, output, "\r\n ");
+ };
+
+ const tag = b.runAllowFail(
+ &[_][]const u8{ "git", "-C", b.build_root.path orelse ".", "describe", "--exact-match", "--tags" },
+ &code,
+ .ignore,
+ ) catch |err| switch (err) {
+ error.FileNotFound => return error.GitNotFound,
+ error.ExitCodeFailure => "", // expected
+ else => return err,
+ };
+
+ _ = b.runAllowFail(&[_][]const u8{
+ "git",
+ "-C",
+ b.build_root.path orelse ".",
+ "diff",
+ "--quiet",
+ "--exit-code",
+ }, &code, .ignore) catch |err| switch (err) {
+ error.FileNotFound => return error.GitNotFound,
+ error.ExitCodeFailure => {}, // expected
+ else => return err,
+ };
+ const changes = code != 0;
+
+ return .{
+ .short_hash = short_hash,
+ .changes = changes,
+ .tag = if (tag.len > 0) std.mem.trimEnd(u8, tag, "\r\n ") else null,
+ .branch = std.mem.trimEnd(u8, branch, "\r\n "),
+ };
+}
diff --git a/vendor/libghostty-vt/src/build/HelpStrings.zig b/vendor/libghostty-vt/src/build/HelpStrings.zig
new file mode 100644
index 0000000..24ae82e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/HelpStrings.zig
@@ -0,0 +1,56 @@
+const HelpStrings = @This();
+
+const std = @import("std");
+const Config = @import("Config.zig");
+
+/// The "helpgen" exe.
+exe: *std.Build.Step.Compile,
+
+/// The output path for the help strings.
+output: std.Build.LazyPath,
+
+pub fn init(b: *std.Build, cfg: *const Config) !HelpStrings {
+ const exe = b.addExecutable(.{
+ .name = "helpgen",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/helpgen.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ }),
+ });
+
+ const help_config = config: {
+ var copy = cfg.*;
+ copy.exe_entrypoint = .helpgen;
+ break :config copy;
+ };
+ const options = b.addOptions();
+ try help_config.addOptions(options);
+ exe.root_module.addOptions("build_options", options);
+
+ const help_run = b.addRunArtifact(exe);
+
+ // Generated Zig files have to end with .zig
+ const wf = b.addWriteFiles();
+ const output = wf.addCopyFile(help_run.captureStdOut(.{}), "helpgen.zig");
+
+ return .{
+ .exe = exe,
+ .output = output,
+ };
+}
+
+/// Add the "help_strings" import.
+pub fn addImport(self: *const HelpStrings, step: *std.Build.Step.Compile) void {
+ self.output.addStepDependencies(&step.step);
+ step.root_module.addAnonymousImport("help_strings", .{
+ .root_source_file = self.output,
+ });
+}
+
+/// Install the help exe
+pub fn install(self: *const HelpStrings) void {
+ self.exe.step.owner.installArtifact(self.exe);
+}
diff --git a/vendor/libghostty-vt/src/build/LibsystemOverrideStep.zig b/vendor/libghostty-vt/src/build/LibsystemOverrideStep.zig
new file mode 100644
index 0000000..3e1cafa
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/LibsystemOverrideStep.zig
@@ -0,0 +1,51 @@
+//! Wraps a Darwin static archive with the libsystem_override.sh
+//! post-processing step so that consumers linking the archive bind
+//! well-known libc/libm symbols (memcpy, memmove, memset, cos, sin,
+//! ...) to Apple's libSystem instead of the bundled Zig compiler-rt.
+//! See src/build/libsystem_override.sh for the full rationale.
+//!
+//! This applies to every static archive we produce, public
+//! (e.g. libghostty-vt) and app-internal alike: the compiler-rt
+//! bundle must stay because the few symbols libSystem does not
+//! provide (f128 conversions, *q math, sincos*, ___zig_probe_stack)
+//! have live references, e.g. from the bundled ubsan runtime and
+//! x86_64 stack probing in Debug builds.
+//!
+//! Note shared libraries can't use either approach: Zig 0.16 links
+//! compiler-rt as an eagerly-included object, so its definitions are
+//! already bound into the dylib at link time and cannot be repaired
+//! post-hoc. That needs an upstream Zig fix.
+const std = @import("std");
+const builtin = @import("builtin");
+
+pub const Result = struct {
+ /// The step performing the override, or null if the override
+ /// doesn't apply to this target/host (in which case `output` is
+ /// the unmodified input).
+ step: ?*std.Build.Step,
+ output: std.Build.LazyPath,
+};
+
+/// Post-process the given static archive on Darwin. Requires a Darwin
+/// host for the Apple toolchain (nmedit); in all other configurations
+/// this is a no-op and the input is returned unmodified, which is
+/// functional (the bundled compiler-rt symbols are used), just slower.
+pub fn create(
+ b: *std.Build,
+ target: std.Build.ResolvedTarget,
+ input: std.Build.LazyPath,
+ out_name: []const u8,
+) Result {
+ if (!target.result.os.tag.isDarwin() or
+ comptime !builtin.os.tag.isDarwin())
+ {
+ return .{ .step = null, .output = input };
+ }
+
+ const run = b.addSystemCommand(&.{"/bin/sh"});
+ run.setName("libsystem override");
+ run.addFileArg(b.path("src/build/libsystem_override.sh"));
+ run.addFileArg(input);
+ const output = run.addOutputFileArg(out_name);
+ return .{ .step = &run.step, .output = output };
+}
diff --git a/vendor/libghostty-vt/src/build/LibtoolStep.zig b/vendor/libghostty-vt/src/build/LibtoolStep.zig
new file mode 100644
index 0000000..856a33a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/LibtoolStep.zig
@@ -0,0 +1,78 @@
+//! A zig builder step that runs "libtool" against a list of libraries
+//! in order to create a single combined static library.
+const LibtoolStep = @This();
+
+const std = @import("std");
+const Step = std.Build.Step;
+const RunStep = std.Build.Step.Run;
+const LazyPath = std.Build.LazyPath;
+
+pub const Options = struct {
+ /// The name of this step.
+ name: []const u8,
+
+ /// The filename (not the path) of the file to create. This will
+ /// be placed in a unique hashed directory. Use out_path to access.
+ out_name: []const u8,
+
+ /// Library files (.a) to combine.
+ sources: []LazyPath,
+};
+
+/// The step to depend on.
+step: *Step,
+
+/// The output file from the libtool run.
+output: LazyPath,
+
+/// Run libtool against a list of library files to combine into a single
+/// static library.
+pub fn create(b: *std.Build, opts: Options) *LibtoolStep {
+ const self = b.allocator.create(LibtoolStep) catch @panic("OOM");
+
+ const run_step = RunStep.create(b, b.fmt("libtool {s}", .{opts.name}));
+ run_step.addArgs(&.{ "libtool", "-static", "-o" });
+ const output = run_step.addOutputFileArg(opts.out_name);
+ for (opts.sources, 0..) |source, i| {
+ run_step.addFileArg(normalizeArchive(
+ b,
+ opts.name,
+ opts.out_name,
+ i,
+ source,
+ ));
+ }
+
+ self.* = .{
+ .step = &run_step.step,
+ .output = output,
+ };
+
+ return self;
+}
+
+fn normalizeArchive(
+ b: *std.Build,
+ step_name: []const u8,
+ out_name: []const u8,
+ index: usize,
+ source: LazyPath,
+) LazyPath {
+ // Newer Xcode libtool can drop 64-bit archive members if the input
+ // archive layout doesn't match what it expects. ranlib rewrites the
+ // archive without flattening members through the filesystem, so we
+ // normalize each source archive first. This is a Zig/toolchain
+ // interoperability workaround, not a Ghostty archive format change.
+ const run_step = RunStep.create(
+ b,
+ b.fmt("ranlib {s} #{d}", .{ step_name, index }),
+ );
+ run_step.addArgs(&.{
+ "/bin/sh",
+ "-c",
+ "/bin/cp \"$1\" \"$2\" && /usr/bin/ranlib \"$2\"",
+ "_",
+ });
+ run_step.addFileArg(source);
+ return run_step.addOutputFileArg(b.fmt("{d}-{s}", .{ index, out_name }));
+}
diff --git a/vendor/libghostty-vt/src/build/LipoStep.zig b/vendor/libghostty-vt/src/build/LipoStep.zig
new file mode 100644
index 0000000..c9c1530
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/LipoStep.zig
@@ -0,0 +1,42 @@
+//! A zig builder step that runs "lipo" on two binaries to create
+//! a universal binary.
+const LipoStep = @This();
+
+const std = @import("std");
+const Step = std.Build.Step;
+const RunStep = std.Build.Step.Run;
+const LazyPath = std.Build.LazyPath;
+
+pub const Options = struct {
+ /// The name of the xcframework to create.
+ name: []const u8,
+
+ /// The filename (not the path) of the file to create.
+ out_name: []const u8,
+
+ /// Library file (dylib, a) to package.
+ input_a: LazyPath,
+ input_b: LazyPath,
+};
+
+step: *Step,
+
+/// Resulting binary
+output: LazyPath,
+
+pub fn create(b: *std.Build, opts: Options) *LipoStep {
+ const self = b.allocator.create(LipoStep) catch @panic("OOM");
+
+ const run_step = RunStep.create(b, b.fmt("lipo {s}", .{opts.name}));
+ run_step.addArgs(&.{ "lipo", "-create", "-output" });
+ const output = run_step.addOutputFileArg(opts.out_name);
+ run_step.addFileArg(opts.input_a);
+ run_step.addFileArg(opts.input_b);
+
+ self.* = .{
+ .step = &run_step.step,
+ .output = output,
+ };
+
+ return self;
+}
diff --git a/vendor/libghostty-vt/src/build/MetallibStep.zig b/vendor/libghostty-vt/src/build/MetallibStep.zig
new file mode 100644
index 0000000..81c7a4a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/MetallibStep.zig
@@ -0,0 +1,73 @@
+/// A zig build step that compiles a set of ".metal" files into a
+/// ".metallib" file.
+const MetallibStep = @This();
+
+const std = @import("std");
+const Step = std.Build.Step;
+const RunStep = std.Build.Step.Run;
+const LazyPath = std.Build.LazyPath;
+
+pub const Options = struct {
+ /// The name of the xcframework to create.
+ name: []const u8,
+
+ /// The OS being targeted
+ target: std.Build.ResolvedTarget,
+
+ /// The Metal source files.
+ sources: []const LazyPath,
+};
+
+step: *Step,
+output: LazyPath,
+
+pub fn create(b: *std.Build, opts: Options) ?*MetallibStep {
+ const sdk = switch (opts.target.result.os.tag) {
+ .macos => "macosx",
+ else => return null,
+ };
+ const platform_version_arg = switch (opts.target.result.os.tag) {
+ .macos => "-mmacos-version-min",
+ else => null,
+ };
+
+ const self = b.allocator.create(MetallibStep) catch @panic("OOM");
+
+ const min_version = if (opts.target.query.os_version_min) |v|
+ b.fmt("{f}", .{v.semver})
+ else switch (opts.target.result.os.tag) {
+ .macos => "10.14",
+ else => unreachable,
+ };
+
+ const run_ir = RunStep.create(
+ b,
+ b.fmt("metal {s}", .{opts.name}),
+ );
+ run_ir.addArgs(&.{ "/usr/bin/xcrun", "-sdk", sdk, "metal", "-o" });
+ const output_ir = run_ir.addOutputFileArg(b.fmt("{s}.ir", .{opts.name}));
+ run_ir.addArgs(&.{"-c"});
+ for (opts.sources) |source| run_ir.addFileArg(source);
+ if (platform_version_arg) |arg| {
+ run_ir.addArgs(&.{b.fmt(
+ "{s}={s}",
+ .{ arg, min_version },
+ )});
+ }
+
+ const run_lib = RunStep.create(
+ b,
+ b.fmt("metallib {s}", .{opts.name}),
+ );
+ run_lib.addArgs(&.{ "/usr/bin/xcrun", "-sdk", sdk, "metallib", "-o" });
+ const output_lib = run_lib.addOutputFileArg(b.fmt("{s}.metallib", .{opts.name}));
+ run_lib.addFileArg(output_ir);
+ run_lib.step.dependOn(&run_ir.step);
+
+ self.* = .{
+ .step = &run_lib.step,
+ .output = output_lib,
+ };
+
+ return self;
+}
diff --git a/vendor/libghostty-vt/src/build/SharedDeps.zig b/vendor/libghostty-vt/src/build/SharedDeps.zig
new file mode 100644
index 0000000..86cfecc
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/SharedDeps.zig
@@ -0,0 +1,1131 @@
+const SharedDeps = @This();
+
+const std = @import("std");
+const builtin = @import("builtin");
+
+const Config = @import("Config.zig");
+const HelpStrings = @import("HelpStrings.zig");
+const MetallibStep = @import("MetallibStep.zig");
+const UnicodeTables = @import("UnicodeTables.zig");
+const GhosttyFrameData = @import("GhosttyFrameData.zig");
+const DistResource = @import("GhosttyDist.zig").Resource;
+const gtk_helpers = @import("gtk.zig");
+
+config: *const Config,
+
+options: *std.Build.Step.Options,
+help_strings: HelpStrings,
+metallib: ?*MetallibStep,
+unicode_tables: UnicodeTables,
+framedata: GhosttyFrameData,
+uucode_tables: std.Build.LazyPath,
+
+/// Singleton uucode module, instantiated once in `init` and reused
+/// everywhere so that ghostty and vaxis share the same compiled tables in
+/// each final binary instead of each linking its own copy.
+///
+/// Sharing one instance is also a hard requirement (not just an
+/// optimization) for Zig 0.16's strict module model. `SharedDeps.add` runs
+/// many times across different (target, optimize) tuples (macos-aarch64,
+/// macos-x86_64, ios-aarch64, Debug + ReleaseFast, etc.), and on each
+/// call we have to wire uucode into both the step's root module and into
+/// vaxis_mod (because vaxis's `Parser.zig` does `@import("uucode")` and
+/// we pass `external_uucode = true` to vaxis's build.zig so vaxis doesn't
+/// instantiate its own uucode dep). If those two import bindings ever
+/// resolve to *different* `*Module` pointers within a single Compile
+/// step's analysis, Zig fails with:
+///
+/// vaxis/src/Parser.zig: file exists in modules 'uucode' and 'uucode0'
+///
+/// because all those uucode module instances share the same physical
+/// `uucode/src/root.zig` file on disk, and Zig requires every file to belong
+/// to exactly one module within a Compile graph.
+///
+/// The natural way to keep them the same would be to call
+/// `b.lazyDependency("uucode", .{ .tables_path, .build_config_path })`
+/// from each call site and let Zig's dependency cache deduplicate
+/// identical args. That fails because of a bug in Zig's
+/// `userLazyPathsAreTheSame` (Build.zig) where the `.src_path` and
+/// `.generated` equality checks are inverted: `if (std.mem.eql(...))
+/// return false` instead of `if (!std.mem.eql(...)) return false`. The
+/// dep cache key therefore always misses whenever any arg is a
+/// `b.path(...)` LazyPath, so each call returns a fresh `*Dependency`
+/// with a fresh `*Module`. Hoisting the dep into one eager
+/// `b.dependency` call here sidesteps the cache entirely.
+///
+/// This conflict is independent of whether vaxis itself is acquired as a
+/// singleton or per-target dep.
+uucode_mod: *std.Build.Module,
+
+/// Used to keep track of a list of file sources.
+pub const LazyPathList = std.ArrayList(std.Build.LazyPath);
+
+pub fn init(b: *std.Build, cfg: *const Config) !SharedDeps {
+ const uucode_tables = blk: {
+ const uucode = b.dependency("uucode", .{
+ .build_config_path = b.path("src/build/uucode_config.zig"),
+ });
+
+ break :blk uucode.namedLazyPath("tables.zig");
+ };
+
+ // Instantiate the singleton uucode module that both ghostty and vaxis
+ // import. See the doc comment on `uucode_mod`.
+ const uucode_mod = b.dependency("uucode", .{
+ .tables_path = uucode_tables,
+ .build_config_path = b.path("src/build/uucode_config.zig"),
+ }).module("uucode");
+
+ var result: SharedDeps = .{
+ .config = cfg,
+ .help_strings = try .init(b, cfg),
+ .unicode_tables = try .init(b, uucode_tables),
+ .framedata = try .init(b),
+ .uucode_tables = uucode_tables,
+ .uucode_mod = uucode_mod,
+
+ // Setup by retarget
+ .options = undefined,
+ .metallib = undefined,
+ };
+ try result.initTarget(b, cfg.target);
+ if (cfg.emit_unicode_table_gen) result.unicode_tables.install(b);
+ return result;
+}
+
+/// Retarget our dependencies for another build target. Modifies in-place.
+pub fn retarget(
+ self: *const SharedDeps,
+ b: *std.Build,
+ target: std.Build.ResolvedTarget,
+) !SharedDeps {
+ var result = self.*;
+ try result.initTarget(b, target);
+ return result;
+}
+
+/// Change the exe entrypoint.
+pub fn changeEntrypoint(
+ self: *const SharedDeps,
+ b: *std.Build,
+ entrypoint: Config.ExeEntrypoint,
+) !SharedDeps {
+ // Change our config
+ const config = try b.allocator.create(Config);
+ config.* = self.config.*;
+ config.exe_entrypoint = entrypoint;
+
+ var result = self.*;
+ result.config = config;
+ result.options = b.addOptions();
+ try config.addOptions(result.options);
+
+ return result;
+}
+
+fn initTarget(
+ self: *SharedDeps,
+ b: *std.Build,
+ target: std.Build.ResolvedTarget,
+) !void {
+ // Update our metallib
+ self.metallib = .create(b, .{
+ .name = "Ghostty",
+ .target = target,
+ .sources = &.{b.path("src/renderer/shaders/shaders.metal")},
+ });
+
+ // Change our config
+ const config = try b.allocator.create(Config);
+ config.* = self.config.*;
+ config.target = target;
+ self.config = config;
+
+ // Setup our shared build options
+ self.options = b.addOptions();
+ try self.config.addOptions(self.options);
+}
+
+pub fn add(
+ self: *const SharedDeps,
+ step: *std.Build.Step.Compile,
+) !LazyPathList {
+ const b = step.step.owner;
+
+ // We could use our config.target/optimize fields here but its more
+ // correct to always match our step.
+ const target = step.root_module.resolved_target.?;
+ const optimize = step.root_module.optimize.?;
+
+ // We maintain a list of our static libraries and return it so that
+ // we can build a single fat static library for the final app.
+ var static_libs: LazyPathList = .empty;
+ errdefer static_libs.deinit(b.allocator);
+
+ // WARNING: This is a hack!
+ // If we're cross-compiling to Darwin then we don't add any deps.
+ // We don't support cross-compiling to Darwin but due to the way
+ // lazy dependencies work with Zig, we call this function. So we just
+ // bail. The build will fail but the build would've failed anyways.
+ // And this lets other non-platform-specific targets like `-Demit-lib-vt`
+ // cross-compile properly.
+ if (!builtin.target.os.tag.isDarwin() and
+ self.config.target.result.os.tag.isDarwin())
+ {
+ return static_libs;
+ }
+
+ // Every exe gets build options populated
+ step.root_module.addOptions("build_options", self.options);
+
+ // Every exe needs the terminal options
+ self.config.terminalOptions(.ghostty, optimize).add(b, step.root_module);
+
+ // Every exe needs the uucode module
+ step.root_module.addImport("uucode", self.uucode_mod);
+
+ // C imports for locale constants and functions
+ {
+ const c = b.addTranslateC(.{
+ .root_source_file = b.path("src/os/locale.c"),
+ .target = target,
+ .optimize = optimize,
+ });
+ if (target.result.os.tag.isDarwin()) {
+ const libc = try std.zig.LibCInstallation.findNative(
+ b.allocator,
+ b.graph.io,
+ .{
+ .environ_map = &b.graph.environ_map,
+ .target = &target.result,
+ .verbose = false,
+ },
+ );
+ c.addSystemIncludePath(.{ .cwd_relative = libc.sys_include_dir.? });
+ }
+ step.root_module.addImport("locale-c", c.createModule());
+ }
+
+ // C imports needed to manage/create PTYs
+ switch (target.result.os.tag) {
+ .freebsd,
+ .linux,
+ .macos,
+ => {
+ const c = b.addTranslateC(.{
+ .root_source_file = b.path("src/pty.c"),
+ .target = target,
+ .optimize = optimize,
+ });
+ switch (target.result.os.tag) {
+ .macos => {
+ const libc = try std.zig.LibCInstallation.findNative(
+ b.allocator,
+ b.graph.io,
+ .{
+ .environ_map = &b.graph.environ_map,
+ .target = &target.result,
+ .verbose = false,
+ },
+ );
+ c.addSystemIncludePath(.{ .cwd_relative = libc.sys_include_dir.? });
+ },
+ else => {},
+ }
+ step.root_module.addImport("pty-c", c.createModule());
+ },
+ else => {},
+ }
+
+ // Freetype. We always include this even if our font backend doesn't
+ // use it because Dear Imgui uses Freetype.
+ _ = b.systemIntegrationOption("freetype", .{}); // Shows it in help
+ if (b.lazyDependency("freetype", .{
+ .target = target,
+ .optimize = optimize,
+ .@"enable-libpng" = true,
+ })) |freetype_dep| {
+ step.root_module.addImport(
+ "freetype",
+ freetype_dep.module("freetype"),
+ );
+
+ if (b.systemIntegrationOption("freetype", .{})) {
+ step.root_module.linkSystemLibrary("bzip2", dynamic_link_opts);
+ step.root_module.linkSystemLibrary("freetype2", dynamic_link_opts);
+ } else {
+ step.root_module.linkLibrary(freetype_dep.artifact("freetype"));
+ try static_libs.append(
+ b.allocator,
+ freetype_dep.artifact("freetype").getEmittedBin(),
+ );
+ }
+ }
+
+ // Harfbuzz
+ _ = b.systemIntegrationOption("harfbuzz", .{}); // Shows it in help
+ if (self.config.font_backend.hasHarfbuzz()) {
+ if (b.lazyDependency("harfbuzz", .{
+ .target = target,
+ .optimize = optimize,
+ .@"enable-freetype" = self.config.font_backend.hasFreetype(),
+ .@"enable-coretext" = self.config.font_backend.hasCoretext(),
+ })) |harfbuzz_dep| {
+ step.root_module.addImport(
+ "harfbuzz",
+ harfbuzz_dep.module("harfbuzz"),
+ );
+ if (b.systemIntegrationOption("harfbuzz", .{})) {
+ step.root_module.linkSystemLibrary("harfbuzz", dynamic_link_opts);
+ } else {
+ step.root_module.linkLibrary(harfbuzz_dep.artifact("harfbuzz"));
+ try static_libs.append(
+ b.allocator,
+ harfbuzz_dep.artifact("harfbuzz").getEmittedBin(),
+ );
+ }
+ }
+ }
+
+ // Fontconfig
+ _ = b.systemIntegrationOption("fontconfig", .{}); // Shows it in help
+ if (self.config.font_backend.hasFontconfig()) {
+ if (b.lazyDependency("fontconfig", .{
+ .target = target,
+ .optimize = optimize,
+ })) |fontconfig_dep| {
+ step.root_module.addImport(
+ "fontconfig",
+ fontconfig_dep.module("fontconfig"),
+ );
+
+ if (b.systemIntegrationOption("fontconfig", .{})) {
+ step.root_module.linkSystemLibrary("fontconfig", dynamic_link_opts);
+ } else {
+ step.root_module.linkLibrary(fontconfig_dep.artifact("fontconfig"));
+ try static_libs.append(
+ b.allocator,
+ fontconfig_dep.artifact("fontconfig").getEmittedBin(),
+ );
+ }
+ }
+ }
+
+ // Libpng - Ghostty doesn't actually use this directly, its only used
+ // through dependencies, so we only need to add it to our static
+ // libs list if we're not using system integration. The dependencies
+ // will handle linking it.
+ if (!b.systemIntegrationOption("libpng", .{})) {
+ if (b.lazyDependency("libpng", .{
+ .target = target,
+ .optimize = optimize,
+ })) |libpng_dep| {
+ step.root_module.linkLibrary(libpng_dep.artifact("png"));
+ try static_libs.append(
+ b.allocator,
+ libpng_dep.artifact("png").getEmittedBin(),
+ );
+ }
+ }
+
+ // Zlib - same as libpng, only used through dependencies.
+ if (!b.systemIntegrationOption("zlib", .{})) {
+ if (b.lazyDependency("zlib", .{
+ .target = target,
+ .optimize = optimize,
+ })) |zlib_dep| {
+ step.root_module.linkLibrary(zlib_dep.artifact("z"));
+ try static_libs.append(
+ b.allocator,
+ zlib_dep.artifact("z").getEmittedBin(),
+ );
+ }
+ }
+
+ // Oniguruma
+ if (b.lazyDependency("oniguruma", .{
+ .target = target,
+ .optimize = optimize,
+ })) |oniguruma_dep| {
+ step.root_module.addImport(
+ "oniguruma",
+ oniguruma_dep.module("oniguruma"),
+ );
+ if (b.systemIntegrationOption("oniguruma", .{})) {
+ step.root_module.linkSystemLibrary("oniguruma", dynamic_link_opts);
+ } else {
+ step.root_module.linkLibrary(oniguruma_dep.artifact("oniguruma"));
+ try static_libs.append(
+ b.allocator,
+ oniguruma_dep.artifact("oniguruma").getEmittedBin(),
+ );
+ }
+ }
+
+ // Glslang
+ if (b.lazyDependency("glslang", .{
+ .target = target,
+ .optimize = optimize,
+ })) |glslang_dep| {
+ step.root_module.addImport("glslang", glslang_dep.module("glslang"));
+ if (b.systemIntegrationOption("glslang", .{})) {
+ step.root_module.linkSystemLibrary("glslang", dynamic_link_opts);
+ step.root_module.linkSystemLibrary(
+ "glslang-default-resource-limits",
+ dynamic_link_opts,
+ );
+ } else {
+ step.root_module.linkLibrary(glslang_dep.artifact("glslang"));
+ try static_libs.append(
+ b.allocator,
+ glslang_dep.artifact("glslang").getEmittedBin(),
+ );
+ }
+ }
+
+ // Spirv-cross
+ if (b.lazyDependency("spirv_cross", .{
+ .target = target,
+ .optimize = optimize,
+ })) |spirv_cross_dep| {
+ step.root_module.addImport(
+ "spirv_cross",
+ spirv_cross_dep.module("spirv_cross"),
+ );
+ if (b.systemIntegrationOption("spirv-cross", .{})) {
+ step.root_module.linkSystemLibrary("spirv-cross-c-shared", dynamic_link_opts);
+ } else {
+ step.root_module.linkLibrary(spirv_cross_dep.artifact("spirv_cross"));
+ try static_libs.append(
+ b.allocator,
+ spirv_cross_dep.artifact("spirv_cross").getEmittedBin(),
+ );
+ }
+ }
+
+ // Sentry
+ if (self.config.sentry) {
+ if (b.lazyDependency("sentry", .{
+ .target = target,
+ .optimize = optimize,
+ .backend = .breakpad,
+ })) |sentry_dep| {
+ step.root_module.addImport(
+ "sentry",
+ sentry_dep.module("sentry"),
+ );
+ step.root_module.linkLibrary(sentry_dep.artifact("sentry"));
+ try static_libs.append(
+ b.allocator,
+ sentry_dep.artifact("sentry").getEmittedBin(),
+ );
+
+ // We also need to include breakpad in the static libs.
+ if (sentry_dep.builder.lazyDependency("breakpad", .{
+ .target = target,
+ .optimize = optimize,
+ })) |breakpad_dep| {
+ try static_libs.append(
+ b.allocator,
+ breakpad_dep.artifact("breakpad").getEmittedBin(),
+ );
+ }
+ }
+ }
+
+ // Simd
+ if (self.config.simd) try addSimd(
+ b,
+ step.root_module,
+ &static_libs,
+ );
+
+ // Wasm we do manually since it is such a different build.
+ if (step.rootModuleTarget().cpu.arch == .wasm32) {
+ if (b.lazyDependency("zig_js", .{
+ .target = target,
+ .optimize = optimize,
+ })) |js_dep| {
+ step.root_module.addImport(
+ "zig-js",
+ js_dep.module("zig-js"),
+ );
+ }
+
+ return static_libs;
+ }
+
+ // On Linux, we need to add a couple common library paths that aren't
+ // on the standard search list. i.e. GTK is often in /usr/lib/x86_64-linux-gnu
+ // on x86_64.
+ if (step.rootModuleTarget().os.tag == .linux) {
+ const triple = try step.rootModuleTarget().linuxTriple(b.allocator);
+ const path = b.fmt("/usr/lib/{s}", .{triple});
+ if (std.Io.Dir.accessAbsolute(b.graph.io, path, .{})) {
+ step.root_module.addLibraryPath(.{ .cwd_relative = path });
+ } else |_| {}
+ }
+
+ // C files
+ step.root_module.link_libc = true;
+ step.root_module.addIncludePath(b.path("src/stb"));
+ // Disable ubsan for MSVC: Zig's ubsan runtime cannot be bundled
+ // on Windows (LNK4229), leaving __ubsan_handle_* unresolved when
+ // the static archive is consumed by an external linker.
+ step.root_module.addCSourceFiles(.{
+ .files = &.{"src/stb/stb.c"},
+ .flags = if (step.rootModuleTarget().abi == .msvc)
+ &.{ "-fno-sanitize=undefined", "-fno-sanitize-trap=undefined" }
+ else
+ &.{},
+ });
+ if (step.rootModuleTarget().os.tag == .linux) {
+ step.root_module.addIncludePath(b.path("src/apprt/gtk"));
+ }
+
+ // libcpp is required for various dependencies. On MSVC, we must
+ // not use linkLibCpp because Zig unconditionally passes -nostdinc++
+ // and then adds its bundled libc++/libc++abi include paths, which
+ // conflict with MSVC's own C++ runtime headers. The MSVC SDK
+ // include directories (already added via linkLibC above) contain
+ // both C and C++ headers, so linkLibCpp is not needed.
+ if (step.rootModuleTarget().abi != .msvc) {
+ step.root_module.link_libcpp = true;
+ }
+
+ // We always require the system SDK so that our system headers are available.
+ // This makes things like `os/log.h` available for cross-compiling.
+ if (step.rootModuleTarget().os.tag.isDarwin()) {
+ try @import("apple_sdk").addPaths(b, step);
+
+ const metallib = self.metallib.?;
+ metallib.output.addStepDependencies(&step.step);
+ step.root_module.addAnonymousImport("ghostty_metallib", .{
+ .root_source_file = metallib.output,
+ });
+ }
+
+ // Other dependencies, mostly pure Zig
+ if (b.lazyDependency("opengl", .{})) |dep| {
+ step.root_module.addImport("opengl", dep.module("opengl"));
+ }
+ if (b.lazyDependency("vaxis", .{
+ .target = target,
+ .optimize = optimize,
+ .external_uucode = true,
+ })) |dep| {
+ const vaxis = dep.module("vaxis");
+ step.root_module.addImport("vaxis", vaxis);
+ vaxis.addImport("uucode", self.uucode_mod);
+ }
+ if (b.lazyDependency("wuffs", .{
+ .target = target,
+ .optimize = optimize,
+ })) |dep| {
+ step.root_module.addImport("wuffs", dep.module("wuffs"));
+ }
+ if (b.lazyDependency("libxev", .{
+ .target = target,
+ .optimize = optimize,
+ })) |dep| {
+ step.root_module.addImport("xev", dep.module("xev"));
+ }
+ if (b.lazyDependency("z2d", .{
+ .target = target,
+ .optimize = optimize,
+ })) |dep| {
+ step.root_module.addImport("z2d", dep.module("z2d"));
+ }
+ if (b.lazyDependency("zf", .{
+ .target = target,
+ .optimize = optimize,
+ .with_tui = false,
+ })) |dep| {
+ step.root_module.addImport("zf", dep.module("zf"));
+ }
+
+ // Mac Stuff
+ if (step.rootModuleTarget().os.tag.isDarwin()) {
+ if (b.lazyDependency("zig_objc", .{
+ .target = target,
+ .optimize = optimize,
+ })) |objc_dep| {
+ step.root_module.addImport(
+ "objc",
+ objc_dep.module("objc"),
+ );
+ }
+
+ if (b.lazyDependency("macos", .{
+ .target = target,
+ .optimize = optimize,
+ })) |macos_dep| {
+ step.root_module.addImport(
+ "macos",
+ macos_dep.module("macos"),
+ );
+ step.root_module.linkLibrary(
+ macos_dep.artifact("macos"),
+ );
+ try static_libs.append(
+ b.allocator,
+ macos_dep.artifact("macos").getEmittedBin(),
+ );
+ }
+
+ if (self.config.renderer == .opengl) {
+ step.root_module.linkFramework("OpenGL", .{});
+ }
+
+ // Apple platforms do not include libc libintl so we bundle it.
+ // This is LGPL but since our source code is open source we are
+ // in compliance with the LGPL since end users can modify this
+ // build script to replace the bundled libintl with their own.
+ if (b.lazyDependency("libintl", .{
+ .target = target,
+ .optimize = optimize,
+ })) |libintl_dep| {
+ step.root_module.linkLibrary(libintl_dep.artifact("intl"));
+ try static_libs.append(
+ b.allocator,
+ libintl_dep.artifact("intl").getEmittedBin(),
+ );
+ }
+ }
+
+ // cimgui
+ if (b.lazyDependency("dcimgui", .{
+ .target = target,
+ .optimize = optimize,
+ .freetype = true,
+ .@"backend-metal" = target.result.os.tag.isDarwin(),
+ .@"backend-osx" = target.result.os.tag == .macos,
+ // OpenGL3 backend should only be built on non-Apple targets.
+ // Apple platforms use Metal (and macOS may also use the OSX backend).
+ .@"backend-opengl3" = !target.result.os.tag.isDarwin(),
+ })) |dep| {
+ step.root_module.addImport("dcimgui", dep.module("dcimgui"));
+ step.root_module.linkLibrary(dep.artifact("dcimgui"));
+ try static_libs.append(
+ b.allocator,
+ dep.artifact("dcimgui").getEmittedBin(),
+ );
+ }
+
+ // Fonts
+ {
+ // JetBrains Mono
+ if (b.lazyDependency("jetbrains_mono", .{})) |jb_mono| {
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_regular",
+ .{ .root_source_file = jb_mono.path("fonts/ttf/JetBrainsMono-Regular.ttf") },
+ );
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_bold",
+ .{ .root_source_file = jb_mono.path("fonts/ttf/JetBrainsMono-Bold.ttf") },
+ );
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_italic",
+ .{ .root_source_file = jb_mono.path("fonts/ttf/JetBrainsMono-Italic.ttf") },
+ );
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_bold_italic",
+ .{ .root_source_file = jb_mono.path("fonts/ttf/JetBrainsMono-BoldItalic.ttf") },
+ );
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_variable",
+ .{ .root_source_file = jb_mono.path("fonts/variable/JetBrainsMono[wght].ttf") },
+ );
+ step.root_module.addAnonymousImport(
+ "jetbrains_mono_variable_italic",
+ .{ .root_source_file = jb_mono.path("fonts/variable/JetBrainsMono-Italic[wght].ttf") },
+ );
+ }
+
+ // Symbols-only nerd font
+ if (b.lazyDependency("nerd_fonts_symbols_only", .{})) |nf_symbols| {
+ step.root_module.addAnonymousImport(
+ "nerd_fonts_symbols_only",
+ .{ .root_source_file = nf_symbols.path("SymbolsNerdFont-Regular.ttf") },
+ );
+ }
+ }
+
+ // If we're building an exe then we have additional dependencies.
+ if (step.kind != .lib) {
+ // We always statically compile glad
+ step.root_module.addIncludePath(b.path("vendor/glad/include/"));
+ step.root_module.addCSourceFile(.{
+ .file = b.path("vendor/glad/src/gl.c"),
+ .flags = &.{},
+ });
+
+ // When we're targeting flatpak we ALWAYS link GTK so we
+ // get access to glib for dbus.
+ if (self.config.flatpak) {
+ step.root_module.linkSystemLibrary("gtk4", dynamic_link_opts);
+
+ // We need to translate gio headers too
+ gio_translate: {
+ // translate-c stuff
+ const translate_c = b.lazyImport(@import("../../build.zig"), "translate_c") orelse
+ break :gio_translate;
+ const translate_c_dep = b.lazyDependency("translate_c", .{}) orelse
+ break :gio_translate;
+ const translated: translate_c.Translator = .init(translate_c_dep, .{
+ .c_source_file = b.addWriteFiles().add("gio_c.h",
+ \\#include <gio/gio.h>
+ \\#include <gio/gunixfdlist.h>
+ ),
+ .target = target,
+ .optimize = optimize,
+ .link_system_libs = &.{
+ .{ .name = "gio-2.0", .options = dynamic_link_opts },
+ },
+ });
+ step.root_module.addImport("gio_c", translated.mod);
+ }
+ }
+
+ switch (self.config.app_runtime) {
+ .none => {},
+ .gtk => try self.addGtkNg(step),
+ }
+ }
+
+ self.help_strings.addImport(step);
+ self.unicode_tables.addImport(step);
+ self.framedata.addImport(step);
+
+ return static_libs;
+}
+
+/// Setup the dependencies for the GTK apprt build.
+fn addGtkNg(
+ self: *const SharedDeps,
+ step: *std.Build.Step.Compile,
+) !void {
+ const b = step.step.owner;
+ const target = step.root_module.resolved_target.?;
+ const optimize = step.root_module.optimize.?;
+
+ const gobject_ = b.lazyDependency("gobject", .{
+ .target = target,
+ .optimize = optimize,
+ });
+ if (gobject_) |gobject| {
+ const gobject_imports = .{
+ .{ "adw", "adw1" },
+ .{ "gdk", "gdk4" },
+ .{ "gio", "gio2" },
+ .{ "glib", "glib2" },
+ .{ "glibunix", "glibunix2" },
+ .{ "gobject", "gobject2" },
+ .{ "gtk", "gtk4" },
+ .{ "xlib", "xlib2" },
+ };
+ inline for (gobject_imports) |import| {
+ const name, const module = import;
+ step.root_module.addImport(name, gobject.module(module));
+ }
+ }
+ gtk_adw_translate: {
+ // translate-c stuff
+ const translate_c = b.lazyImport(@import("../../build.zig"), "translate_c") orelse break :gtk_adw_translate;
+ const translate_c_dep = b.lazyDependency("translate_c", .{}) orelse break :gtk_adw_translate;
+ const Translator = translate_c.Translator;
+
+ {
+ // GTK headers
+ const translated: Translator = .init(translate_c_dep, .{
+ .c_source_file = b.addWriteFiles().add("gtk_c.h",
+ \\#include <gtk/gtk.h>
+ ),
+ .target = target,
+ .optimize = optimize,
+ .link_system_libs = &.{
+ .{ .name = "gtk4", .options = dynamic_link_opts },
+ },
+ });
+ step.root_module.addImport("gtk_c", translated.mod);
+ }
+ {
+ // Adwaita headers
+ const translated: Translator = .init(translate_c_dep, .{
+ .c_source_file = b.addWriteFiles().add("adw_c.h",
+ \\#include <adwaita.h>
+ ),
+ .target = target,
+ .optimize = optimize,
+ .link_system_libs = &.{
+ .{ .name = "libadwaita-1", .options = dynamic_link_opts },
+ },
+ });
+ step.root_module.addImport("adw_c", translated.mod);
+ }
+ }
+
+ if (self.config.x11) {
+ step.root_module.linkSystemLibrary("X11", dynamic_link_opts);
+ if (gobject_) |gobject| {
+ step.root_module.addImport(
+ "gdk_x11",
+ gobject.module("gdkx114"),
+ );
+ }
+ }
+
+ if (self.config.wayland) wayland: {
+ // These need to be all be called to note that we need them.
+ const wayland_dep_ = b.lazyDependency("wayland", .{});
+ const wayland_protocols_dep_ = b.lazyDependency(
+ "wayland_protocols",
+ .{},
+ );
+ const plasma_wayland_protocols_dep_ = b.lazyDependency(
+ "plasma_wayland_protocols",
+ .{},
+ );
+ const zig_wayland_import_ = b.lazyImport(
+ @import("../../build.zig"),
+ "zig_wayland",
+ );
+ const zig_wayland_dep_ = b.lazyDependency("zig_wayland", .{});
+
+ // Unwrap or return, there are no more dependencies below.
+ const wayland_dep = wayland_dep_ orelse break :wayland;
+ const wayland_protocols_dep = wayland_protocols_dep_ orelse break :wayland;
+ const plasma_wayland_protocols_dep = plasma_wayland_protocols_dep_ orelse break :wayland;
+ const zig_wayland_import = zig_wayland_import_ orelse break :wayland;
+ const zig_wayland_dep = zig_wayland_dep_ orelse break :wayland;
+
+ const Scanner = zig_wayland_import.Scanner;
+ const scanner = Scanner.create(zig_wayland_dep.builder, .{
+ .wayland_xml = wayland_dep.path("protocol/wayland.xml"),
+ .wayland_protocols = wayland_protocols_dep.path(""),
+ });
+
+ // FIXME: replace with `zxdg_decoration_v1` once GTK merges https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6398
+ scanner.addCustomProtocol(
+ plasma_wayland_protocols_dep.path("src/protocols/server-decoration.xml"),
+ );
+ scanner.addCustomProtocol(
+ plasma_wayland_protocols_dep.path("src/protocols/slide.xml"),
+ );
+ scanner.addCustomProtocol(
+ plasma_wayland_protocols_dep.path("src/protocols/kde-output-order-v1.xml"),
+ );
+ scanner.addSystemProtocol("staging/xdg-activation/xdg-activation-v1.xml");
+ scanner.addSystemProtocol("staging/ext-background-effect/ext-background-effect-v1.xml");
+ scanner.addCustomProtocol(
+ b.path("src/apprt/gtk/winproto/wayland/protocols/vicinae-hotkey-v1.xml"),
+ );
+
+ scanner.generate("wl_compositor", 1);
+ // Only referenced by vicinae_hotkey_manager_v1.bind (nullable arg).
+ scanner.generate("wl_seat", 1);
+ scanner.generate("org_kde_kwin_server_decoration_manager", 1);
+ scanner.generate("org_kde_kwin_slide_manager", 1);
+ scanner.generate("kde_output_order_v1", 1);
+ scanner.generate("xdg_activation_v1", 1);
+ scanner.generate("ext_background_effect_manager_v1", 1);
+ scanner.generate("vicinae_hotkey_manager_v1", 1);
+
+ step.root_module.addImport("wayland", b.createModule(.{
+ .root_source_file = scanner.result,
+ }));
+ if (gobject_) |gobject| step.root_module.addImport(
+ "gdk_wayland",
+ gobject.module("gdkwayland4"),
+ );
+
+ if (b.lazyDependency("gtk4_layer_shell", .{
+ .target = target,
+ .optimize = optimize,
+ })) |gtk4_layer_shell| {
+ const layer_shell_module = gtk4_layer_shell.module("gtk4-layer-shell");
+ if (gobject_) |gobject| {
+ layer_shell_module.addImport("gtk", gobject.module("gtk4"));
+ layer_shell_module.addImport("gdk", gobject.module("gdk4"));
+ }
+ step.root_module.addImport(
+ "gtk4-layer-shell",
+ layer_shell_module,
+ );
+
+ // IMPORTANT: gtk4-layer-shell must be linked BEFORE
+ // wayland-client, as it relies on shimming libwayland's APIs.
+ if (b.systemIntegrationOption("gtk4-layer-shell", .{})) {
+ step.root_module.linkSystemLibrary("gtk4-layer-shell-0", dynamic_link_opts);
+ } else {
+ // gtk4-layer-shell *must* be dynamically linked,
+ // so we don't add it as a static library
+ const shared_lib = gtk4_layer_shell.artifact("gtk4-layer-shell");
+ b.installArtifact(shared_lib);
+ step.root_module.linkLibrary(shared_lib);
+ }
+ }
+
+ step.root_module.linkSystemLibrary("wayland-client", dynamic_link_opts);
+ }
+
+ ghostty_resources_translate: {
+ // Get our gresource c/h files and add them to our build.
+ const dist = gtkNgDistResources(b);
+ const translate_c = b.lazyImport(@import("../../build.zig"), "translate_c") orelse
+ break :ghostty_resources_translate;
+ const translate_c_dep = b.lazyDependency("translate_c", .{}) orelse
+ break :ghostty_resources_translate;
+ const translated: translate_c.Translator = .init(translate_c_dep, .{
+ .c_source_file = b.addWriteFiles().add("c.h",
+ \\#include <ghostty_resources.h>
+ ),
+ .target = target,
+ .optimize = optimize,
+ .link_system_libs = &.{
+ .{ .name = "glib-2.0", .options = dynamic_link_opts },
+ },
+ });
+ translated.addIncludePath(dist.resources_h.path(b).dirname());
+ translated.mod.addCSourceFile(.{ .file = dist.resources_c.path(b), .flags = &.{} });
+ step.root_module.addImport("ghostty_gtk_resources", translated.mod);
+ }
+}
+
+/// Add only the dependencies required for `Config.simd` enabled. This also
+/// adds all the simd source files for compilation.
+pub fn addSimd(
+ b: *std.Build,
+ m: *std.Build.Module,
+ static_libs: ?*LazyPathList,
+) !void {
+ const target = m.resolved_target.?;
+ const optimize = m.optimize.?;
+ const system_highway = b.systemIntegrationOption("highway", .{ .default = false });
+
+ // Simdutf
+ if (b.systemIntegrationOption("simdutf", .{})) {
+ m.linkSystemLibrary("simdutf", dynamic_link_opts);
+ } else {
+ if (b.lazyDependency("simdutf", .{
+ .target = target,
+ .optimize = optimize,
+ .no_libcxx = true,
+ })) |simdutf_dep| {
+ m.linkLibrary(simdutf_dep.artifact("simdutf"));
+ if (static_libs) |v| try v.append(
+ b.allocator,
+ simdutf_dep.artifact("simdutf").getEmittedBin(),
+ );
+ }
+ }
+
+ // Highway
+ if (system_highway) {
+ m.linkSystemLibrary("libhwy", dynamic_link_opts);
+ } else {
+ if (b.lazyDependency("highway", .{
+ .target = target,
+ .optimize = optimize,
+ })) |highway_dep| {
+ m.linkLibrary(highway_dep.artifact("highway"));
+ if (static_libs) |v| try v.append(
+ b.allocator,
+ highway_dep.artifact("highway").getEmittedBin(),
+ );
+ }
+ }
+
+ // SIMD C++ files
+ m.addIncludePath(b.path("src"));
+ {
+ // From hwy/detect_targets.h
+ const HWY_AVX10_2: c_int = 1 << 3;
+ const HWY_AVX3_SPR: c_int = 1 << 4;
+ const HWY_AVX3_ZEN4: c_int = 1 << 6;
+ const HWY_AVX3_DL: c_int = 1 << 7;
+ const HWY_AVX3: c_int = 1 << 8;
+
+ var flags: std.ArrayListUnmanaged([]const u8) = .empty;
+
+ // Zig 0.13 bug: https://github.com/ziglang/zig/issues/20414
+ // To workaround this we just disable AVX512 support completely.
+ // The performance difference between AVX2 and AVX512 is not
+ // significant for our use case and AVX512 is very rare on consumer
+ // hardware anyways.
+ const HWY_DISABLED_TARGETS: c_int = HWY_AVX10_2 | HWY_AVX3_SPR | HWY_AVX3_ZEN4 | HWY_AVX3_DL | HWY_AVX3;
+ if (target.result.cpu.arch == .x86_64) try flags.append(
+ b.allocator,
+ b.fmt("-DHWY_DISABLED_TARGETS={}", .{HWY_DISABLED_TARGETS}),
+ );
+
+ // MSVC requires explicit std specification otherwise these
+ // are guarded, at least on Windows 2025. Doing it unconditionally
+ // doesn't cause any issues on other platforms and ensures we get
+ // C++17 support on MSVC.
+ try flags.append(
+ b.allocator,
+ "-std=c++17",
+ );
+
+ // Keep our SIMD sources in the same Highway header mode as the
+ // vendored package build so HWY's inline dispatch/runtime helpers
+ // have a consistent ABI.
+ if (!system_highway) try flags.append(
+ b.allocator,
+ "-DHWY_NO_LIBCXX",
+ );
+
+ // When using the vendored simdutf, build its headers in no-libcxx
+ // mode so we don't need C++ standard library headers at all.
+ // System simdutf headers may not support this define.
+ if (!b.systemIntegrationOption("simdutf", .{})) try flags.append(
+ b.allocator,
+ "-DSIMDUTF_NO_LIBCXX",
+ );
+
+ // Disable ubsan for Windows C/C++ objects to avoid undefined
+ // __ubsan_handle_* references. The Zig libraries on Windows don't
+ // currently bundle a matching UBSan runtime for these objects in
+ // our build configurations (this affects both MSVC and GNU ABIs).
+ if (target.result.os.tag == .windows) try flags.appendSlice(b.allocator, &.{
+ "-fno-sanitize=undefined",
+ "-fno-sanitize-trap=undefined",
+ });
+ if (target.result.abi == .msvc) try flags.appendSlice(b.allocator, &.{
+ // -fno-autolink also drops UCRT's /alternatename fallback.
+ "-D_Avx2WmemEnabledWeakValue=_Avx2WmemEnabled",
+ "-fno-autolink",
+ });
+
+ m.addCSourceFiles(.{
+ .files = &.{
+ "src/simd/base64.cpp",
+ "src/simd/codepoint_width.cpp",
+ "src/simd/index_of.cpp",
+ "src/simd/vt.cpp",
+ },
+ .flags = flags.items,
+ });
+ }
+}
+
+/// Creates the resources that can be prebuilt for our dist build.
+pub fn gtkNgDistResources(
+ b: *std.Build,
+) struct {
+ resources_c: DistResource,
+ resources_h: DistResource,
+} {
+ const gresource = @import("../apprt/gtk/build/gresource.zig");
+ const gresource_xml = gresource_xml: {
+ const xml_exe = b.addExecutable(.{
+ .name = "generate_gresource_xml",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/apprt/gtk/build/gresource.zig"),
+ .target = b.graph.host,
+ }),
+ });
+ const xml_run = b.addRunArtifact(xml_exe);
+
+ // Run our blueprint compiler across all of our blueprint files.
+ const blueprint_exe = b.addExecutable(.{
+ .name = "gtk_blueprint_compiler",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/apprt/gtk/build/blueprint.zig"),
+ .target = b.graph.host,
+ .link_libc = true,
+ }),
+ });
+ adw_translate: {
+ // Adwaita headers
+ const translate_c = b.lazyImport(@import("../../build.zig"), "translate_c") orelse break :adw_translate;
+ const translate_c_dep = b.lazyDependency("translate_c", .{}) orelse break :adw_translate;
+ const translated: translate_c.Translator = .init(translate_c_dep, .{
+ .c_source_file = b.addWriteFiles().add("adw_c.h",
+ \\#include <adwaita.h>
+ ),
+ .target = b.graph.host,
+ .optimize = .Debug,
+ .link_system_libs = &.{
+ .{ .name = "libadwaita-1", .options = dynamic_link_opts },
+ },
+ });
+ blueprint_exe.root_module.addImport("adw_c", translated.mod);
+ }
+
+ for (gresource.blueprints) |bp| {
+ const blueprint_run = b.addRunArtifact(blueprint_exe);
+ blueprint_run.addArgs(&.{
+ b.fmt("{d}", .{bp.major}),
+ b.fmt("{d}", .{bp.minor}),
+ });
+ const ui_file = blueprint_run.addOutputFileArg(b.fmt(
+ "{d}.{d}/{s}.ui",
+ .{
+ bp.major,
+ bp.minor,
+ bp.name,
+ },
+ ));
+ blueprint_run.addFileArg(b.path(b.fmt(
+ "{s}/{d}.{d}/{s}.blp",
+ .{
+ gresource.ui_path,
+ bp.major,
+ bp.minor,
+ bp.name,
+ },
+ )));
+
+ xml_run.addFileArg(ui_file);
+ }
+
+ break :gresource_xml xml_run.captureStdOut(.{});
+ };
+
+ const generate_c = b.addSystemCommand(&.{
+ "glib-compile-resources",
+ "--c-name",
+ "ghostty",
+ "--generate-source",
+ "--target",
+ });
+ const resources_c = generate_c.addOutputFileArg("ghostty_resources.c");
+ generate_c.addFileArg(gresource_xml);
+ for (gresource.file_inputs) |path| {
+ generate_c.addFileInput(b.path(path));
+ }
+
+ const generate_h = b.addSystemCommand(&.{
+ "glib-compile-resources",
+ "--c-name",
+ "ghostty",
+ "--generate-header",
+ "--target",
+ });
+ const resources_h = generate_h.addOutputFileArg("ghostty_resources.h");
+ generate_h.addFileArg(gresource_xml);
+ for (gresource.file_inputs) |path| {
+ generate_h.addFileInput(b.path(path));
+ }
+
+ return .{
+ .resources_c = .{
+ .dist = "src/apprt/gtk/ghostty_resources.c",
+ .generated = resources_c,
+ },
+ .resources_h = .{
+ .dist = "src/apprt/gtk/ghostty_resources.h",
+ .generated = resources_h,
+ },
+ };
+}
+
+// For dynamic linking, we prefer dynamic linking and to search by
+// mode first. Mode first will search all paths for a dynamic library
+// before falling back to static.
+const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{
+ .preferred_link_mode = .dynamic,
+ .search_strategy = .mode_first,
+};
diff --git a/vendor/libghostty-vt/src/build/UnicodeTables.zig b/vendor/libghostty-vt/src/build/UnicodeTables.zig
new file mode 100644
index 0000000..843ada5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/UnicodeTables.zig
@@ -0,0 +1,92 @@
+const UnicodeTables = @This();
+
+const std = @import("std");
+
+/// The exe.
+props_exe: *std.Build.Step.Compile,
+symbols_exe: *std.Build.Step.Compile,
+
+/// The output path for the unicode tables
+props_output: std.Build.LazyPath,
+symbols_output: std.Build.LazyPath,
+
+pub fn init(b: *std.Build, uucode_tables: std.Build.LazyPath) !UnicodeTables {
+ const props_exe = b.addExecutable(.{
+ .name = "props-unigen",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/unicode/props_uucode.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ }),
+
+ // TODO: x86_64 self-hosted crashes
+ .use_llvm = true,
+ });
+
+ const symbols_exe = b.addExecutable(.{
+ .name = "symbols-unigen",
+ .root_module = b.createModule(.{
+ .root_source_file = b.path("src/unicode/symbols_uucode.zig"),
+ .target = b.graph.host,
+ .strip = false,
+ .omit_frame_pointer = false,
+ .unwind_tables = .sync,
+ }),
+
+ // TODO: x86_64 self-hosted crashes
+ .use_llvm = true,
+ });
+
+ if (b.lazyDependency("uucode", .{
+ .target = b.graph.host,
+ .tables_path = uucode_tables,
+ .build_config_path = b.path("src/build/uucode_config.zig"),
+ })) |dep| {
+ inline for (&.{ props_exe, symbols_exe }) |exe| {
+ exe.root_module.addImport("uucode", dep.module("uucode"));
+ }
+ }
+
+ const props_run = b.addRunArtifact(props_exe);
+ const symbols_run = b.addRunArtifact(symbols_exe);
+
+ // Generated Zig files have to end with .zig
+ const wf = b.addWriteFiles();
+ const props_output = wf.addCopyFile(props_run.captureStdOut(.{}), "props.zig");
+ const symbols_output = wf.addCopyFile(symbols_run.captureStdOut(.{}), "symbols.zig");
+
+ return .{
+ .props_exe = props_exe,
+ .symbols_exe = symbols_exe,
+ .props_output = props_output,
+ .symbols_output = symbols_output,
+ };
+}
+
+/// Add the "unicode_tables" import.
+pub fn addImport(self: *const UnicodeTables, step: *std.Build.Step.Compile) void {
+ self.props_output.addStepDependencies(&step.step);
+ self.symbols_output.addStepDependencies(&step.step);
+ self.addModuleImport(step.root_module);
+}
+
+/// Add the "unicode_tables" import to a module.
+pub fn addModuleImport(
+ self: *const UnicodeTables,
+ module: *std.Build.Module,
+) void {
+ module.addAnonymousImport("unicode_tables", .{
+ .root_source_file = self.props_output,
+ });
+ module.addAnonymousImport("symbols_tables", .{
+ .root_source_file = self.symbols_output,
+ });
+}
+
+/// Install the exe
+pub fn install(self: *const UnicodeTables, b: *std.Build) void {
+ b.installArtifact(self.props_exe);
+ b.installArtifact(self.symbols_exe);
+}
diff --git a/vendor/libghostty-vt/src/build/XCFrameworkStep.zig b/vendor/libghostty-vt/src/build/XCFrameworkStep.zig
new file mode 100644
index 0000000..5f1b676
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/XCFrameworkStep.zig
@@ -0,0 +1,77 @@
+//! A zig builder step that runs "swift build" in the context of
+//! a Swift project managed with SwiftPM. This is primarily meant to build
+//! executables currently since that is what we build.
+const XCFrameworkStep = @This();
+
+const std = @import("std");
+const Step = std.Build.Step;
+const RunStep = std.Build.Step.Run;
+const LazyPath = std.Build.LazyPath;
+
+pub const Options = struct {
+ /// The name of the xcframework to create.
+ name: []const u8,
+
+ /// The path to write the framework
+ out_path: []const u8,
+
+ /// The libraries to bundle
+ libraries: []const Library,
+};
+
+/// A single library to bundle into the xcframework.
+pub const Library = struct {
+ /// Library file (dylib, a) to package.
+ library: LazyPath,
+
+ /// Path to a directory with the headers.
+ headers: LazyPath,
+
+ /// Path to a debug symbols file (.dSYM) if available.
+ dsym: ?LazyPath,
+};
+
+step: *Step,
+
+pub fn create(b: *std.Build, opts: Options) *XCFrameworkStep {
+ const self = b.allocator.create(XCFrameworkStep) catch @panic("OOM");
+
+ // We have to delete the old xcframework first since we're writing
+ // to a static path.
+ const run_delete = run: {
+ const run = RunStep.create(b, b.fmt("xcframework delete {s}", .{opts.name}));
+ run.has_side_effects = true;
+ run.addArgs(&.{ "rm", "-rf", opts.out_path });
+ break :run run;
+ };
+
+ // Then we run xcodebuild to create the framework.
+ const run_create = run: {
+ const run = RunStep.create(b, b.fmt("xcframework {s}", .{opts.name}));
+ run.has_side_effects = true;
+ run.addArgs(&.{ "xcodebuild", "-create-xcframework" });
+ for (opts.libraries) |lib| {
+ run.addArg("-library");
+ run.addFileArg(lib.library);
+ run.addArg("-headers");
+ run.addFileArg(lib.headers);
+ if (lib.dsym) |dsym| {
+ run.addArg("-debug-symbols");
+ run.addFileArg(dsym);
+ }
+ }
+ run.addArg("-output");
+ run.addArg(opts.out_path);
+ run.expectExitCode(0);
+ _ = run.captureStdOut(.{});
+ _ = run.captureStdErr(.{});
+ break :run run;
+ };
+ run_create.step.dependOn(&run_delete.step);
+
+ self.* = .{
+ .step = &run_create.step,
+ };
+
+ return self;
+}
diff --git a/vendor/libghostty-vt/src/build/combine_archives.zig b/vendor/libghostty-vt/src/build/combine_archives.zig
new file mode 100644
index 0000000..3df5ed0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/combine_archives.zig
@@ -0,0 +1,55 @@
+//! Build tool that combines multiple static archives into a single fat
+//! archive using an MRI script piped to `zig ar -M`.
+//!
+//! MRI scripts require stdin piping (`ar -M < script`), which can't be
+//! expressed as a single command in the zig build system's RunStep. The
+//! previous approach used `/bin/sh -c` to do the piping, but that isn't
+//! available on Windows. This tool handles both the script generation
+//! and the piping in a single cross-platform executable.
+//!
+//! Usage: combine_archives <zig_exe> <output.a> <input1.a> [input2.a ...]
+
+const std = @import("std");
+
+pub fn main(init: std.process.Init) !void {
+ const alloc = init.arena.allocator();
+
+ const args = try init.minimal.args.toSlice(alloc);
+ if (args.len < 4) {
+ std.log.err("usage: combine_archives <zig_exe> <output> <input...>", .{});
+ std.process.exit(1);
+ }
+
+ const zig_exe = args[1];
+ const output_path = args[2];
+ const inputs = args[3..];
+
+ // Build the MRI script.
+ var script: std.ArrayListUnmanaged(u8) = .empty;
+ try script.appendSlice(alloc, "CREATE ");
+ try script.appendSlice(alloc, output_path);
+ try script.append(alloc, '\n');
+ for (inputs) |input| {
+ try script.appendSlice(alloc, "ADDLIB ");
+ try script.appendSlice(alloc, input);
+ try script.append(alloc, '\n');
+ }
+ try script.appendSlice(alloc, "SAVE\nEND\n");
+
+ var child = try std.process.spawn(init.io, .{
+ .argv = &.{ zig_exe, "ar", "-M" },
+ .stdin = .pipe,
+ .stdout = .inherit,
+ .stderr = .inherit,
+ });
+
+ try child.stdin.?.writeStreamingAll(init.io, script.items);
+ child.stdin.?.close(init.io);
+ child.stdin = null;
+
+ const term = try child.wait(init.io);
+ if (term.exited != 0) {
+ std.log.err("zig ar -M exited with code {d}", .{term.exited});
+ std.process.exit(1);
+ }
+}
diff --git a/vendor/libghostty-vt/src/build/docker/debian/Dockerfile b/vendor/libghostty-vt/src/build/docker/debian/Dockerfile
new file mode 100644
index 0000000..ffeef3d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/docker/debian/Dockerfile
@@ -0,0 +1,43 @@
+ARG DISTRO_VERSION="13"
+FROM docker.io/library/debian:${DISTRO_VERSION}
+
+# Install Dependencies
+RUN DEBIAN_FRONTEND="noninteractive" apt-get -qq update && \
+ apt-get -qq -y --no-install-recommends install \
+ # Build Tools
+ blueprint-compiler \
+ build-essential \
+ curl \
+ libbz2-dev \
+ libonig-dev \
+ libxml2-utils \
+ lintian \
+ lsb-release \
+ libxml2-utils \
+ pandoc \
+ # Ghostty Dependencies
+ libadwaita-1-dev \
+ libgtk-4-dev \
+ libgtk4-layer-shell-dev && \
+ # Clean up for better caching
+ rm -rf /var/lib/apt/lists/*
+
+WORKDIR /src
+
+COPY ./build.zig ./build.zig.zon /src/
+
+# Install zig
+# https://ziglang.org/download/
+
+RUN export ZIG_VERSION=$(sed -n -E 's/^\s*\.?minimum_zig_version\s*=\s*"([^"]+)".*/\1/p' build.zig.zon) && curl -L -o /tmp/zig.tar.xz "https://ziglang.org/download/$ZIG_VERSION/zig-$(uname -m)-linux-$ZIG_VERSION.tar.xz" && \
+ tar -xf /tmp/zig.tar.xz -C /opt && \
+ rm /tmp/zig.tar.xz && \
+ ln -s "/opt/zig-$(uname -m)-linux-$ZIG_VERSION/zig" /usr/local/bin/zig
+
+COPY . /src
+
+RUN zig build \
+ -Doptimize=Debug \
+ -Dcpu=baseline
+
+RUN ./zig-out/bin/ghostty +version
diff --git a/vendor/libghostty-vt/src/build/docker/lib-c-docs/Dockerfile b/vendor/libghostty-vt/src/build/docker/lib-c-docs/Dockerfile
new file mode 100644
index 0000000..a3cfdcc
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/docker/lib-c-docs/Dockerfile
@@ -0,0 +1,38 @@
+#--------------------------------------------------------------------
+# Generate documentation with Doxygen
+#--------------------------------------------------------------------
+FROM --platform=linux/amd64 archlinux:latest AS builder
+
+# Build argument for noindex header
+ARG ADD_NOINDEX_HEADER=false
+RUN pacman -Syu --noconfirm && \
+ pacman -S --noconfirm \
+ doxygen \
+ graphviz && \
+ pacman -Scc --noconfirm
+WORKDIR /ghostty
+COPY include/ ./include/
+COPY images/ ./images/
+COPY dist/doxygen/ ./dist/doxygen/
+COPY example/ ./example/
+COPY Doxyfile ./
+COPY DoxygenLayout.xml ./
+RUN mkdir -p zig-out/share/ghostty/doc/libghostty
+RUN doxygen
+
+#--------------------------------------------------------------------
+# Host the static HTML
+#--------------------------------------------------------------------
+FROM nginx:alpine AS runtime
+
+# Pass build arg to runtime stage
+ARG ADD_NOINDEX_HEADER=false
+ENV ADD_NOINDEX_HEADER=$ADD_NOINDEX_HEADER
+
+# Copy documentation and entrypoint script
+COPY --from=builder /ghostty/zig-out/share/ghostty/doc/libghostty /usr/share/nginx/html
+COPY src/build/docker/lib-c-docs/entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+
+EXPOSE 80
+CMD ["/entrypoint.sh"]
diff --git a/vendor/libghostty-vt/src/build/docker/lib-c-docs/entrypoint.sh b/vendor/libghostty-vt/src/build/docker/lib-c-docs/entrypoint.sh
new file mode 100755
index 0000000..ac9ca1c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/docker/lib-c-docs/entrypoint.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+if [ "$ADD_NOINDEX_HEADER" = "true" ]; then
+ cat > /etc/nginx/conf.d/noindex.conf << 'EOF'
+server {
+ listen 80;
+ location / {
+ root /usr/share/nginx/html;
+ index index.html;
+ etag on;
+ add_header Cache-Control "no-cache" always;
+ add_header X-Robots-Tag "noindex, nofollow" always;
+ add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;" always;
+ }
+}
+EOF
+ # Remove default server config
+ rm -f /etc/nginx/conf.d/default.conf
+else
+ cat > /etc/nginx/conf.d/default.conf << 'EOF'
+server {
+ listen 80;
+ location / {
+ root /usr/share/nginx/html;
+ index index.html;
+ etag on;
+ add_header Cache-Control "no-cache" always;
+ add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;" always;
+ }
+}
+EOF
+fi
+exec nginx -g "daemon off;"
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_001.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_001.txt
new file mode 100644
index 0000000..416e879
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_001.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">+++==*%%%%%%%%%%%%*==+++</span>
+ <span class="b">++****++</span> <span class="b">++****++</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">xx**+=</span> o+*%$@@@@@@$%*+o <span class="b">=+**xx</span>
+ <span class="b">xx**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**xx</span>
+ <span class="b">xx**</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">**xx</span>
+ <span class="b">ox**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xo</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">x+++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">+++x</span>
+ <span class="b">==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==</span>
+ <span class="b">ox++</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xo</span>
+ <span class="b">+++~</span> @$$$$$@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$@@%%%%%%$$$$$$$@@@@@$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$* $$$$% =$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$@ x@$@ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% ·$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@@$%%$$$$$$@@@@@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">++++</span> =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">xx==++</span> <span class="b">++==oo</span>
+ <span class="b">++===+</span> <span class="b">++%%+o</span> <span class="b">o+%%++</span> <span class="b">+===++</span>
+ <span class="b">++=====%+=++++*=*========***++++***========*=*++++=+%=====++</span>
+ <span class="b">xx++==******====++</span> <span class="b">++==********==++</span> <span class="b">++====******==++xx</span>
+ <span class="b">++++</span> <span class="b">++++</span> <span class="b">++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_002.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_002.txt
new file mode 100644
index 0000000..e74134e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_002.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++==*%%%**=++++++=**%%%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">x+**+=</span> <span class="b">=+**+x</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++=+</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">+=++</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==++</span>
+ <span class="b">**</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">**</span>
+ <span class="b">+++o</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">o+++</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==+·</span> x@$$$@@%=*%$$@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$% ~$@$$$@= x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$@* %$$@· @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@* $$$$+ $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$~ ~ox+=%@@$$$@@*==============*$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==+o</span> +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ <span class="b">o+==</span>
+ <span class="b">++==</span> ·=$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">++====x+</span> <span class="b">*=**==</span> <span class="b">==**=*</span> <span class="b">+x====++</span>
+ <span class="b">++=====**%******=========**%****%**=========******%**=====++</span>
+ <span class="b">++++========++xx</span> <span class="b">++++========++++</span> <span class="b">xx++========++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_003.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_003.txt
new file mode 100644
index 0000000..6da88ff
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_003.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·oxx++xxo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@+ ·+*$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> *@$$$@ o=%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$@* <span class="b">+==</span>
+ <span class="b">==</span> @$$$$$o %$$$$$ *$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@=· @$$@ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$x %$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ ·x*$@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@x o=%@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+x</span> ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@$~ <span class="b">x+==</span>
+ <span class="b">++==</span> x*$@@@$*x ·=%$@@$%=· x*$@@@$*x <span class="b">==++</span>
+ <span class="b">====</span> <span class="b">=+==</span>
+ <span class="b">x+====+=</span> <span class="b">x+*===+=</span> <span class="b">======+x</span> <span class="b">=+====xx</span>
+ <span class="b">++====*%%%%***====++====*%*%%*%*====++=====**%%%%*====++</span>
+ <span class="b">xx++++====++++</span> <span class="b">++++====++++</span> <span class="b">++++====++++xx</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_004.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_004.txt
new file mode 100644
index 0000000..5ad3a81
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_004.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++==************==++</span>
+ <span class="b">++***%=*x~</span> <span class="b">~x*=%***++</span>
+ <span class="b">++**+=</span> <span class="b">==**++</span>
+ <span class="b">====</span> ~x=*%%%%%%*=x~ <span class="b">====</span>
+ <span class="b">xx**++</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">++**xo</span>
+ <span class="b">oo**o~</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">~o**oo</span>
+ <span class="b">**o·</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·o**</span>
+ <span class="b">==+x</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">x+==</span>
+ <span class="b">xx==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> @$$$@% x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">+++o</span> @$$$@* ~=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$$% +$@@$$$$@@%**************%@@$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@@%+ $$$$$+ ~@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@@= *@$$@· @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@= %@$$$$@+ o$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@@$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* <span class="b">++==</span>
+ <span class="b">x+==x·</span> o=***=x ~+****+~ x=***=o <span class="b">·x==xx</span>
+ <span class="b">====xo</span> <span class="b">xx</span> <span class="b">x+</span> <span class="b">ox====</span>
+ <span class="b">======+x</span> <span class="b">=+=*====++</span> <span class="b">++====*=+=</span> <span class="b">x+======</span>
+ <span class="b">++==***%********++++==************==++++********%***==++</span>
+ <span class="b">++++++++++</span> <span class="b">+x++++++++xx</span> <span class="b">++++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_005.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_005.txt
new file mode 100644
index 0000000..e93b295
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_005.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">+==*****%%%%*****==+</span>
+ <span class="b">++***%=+</span> <span class="b">+=%***++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">**==</span> ·x=*%$$$$$$%*=x· <span class="b">==**</span>
+ <span class="b">xx**xx</span> x%@@@@@@@@@$$$$@@@@@@@@@%x <span class="b">xx**xx</span>
+ <span class="b">xx**</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">**xx</span>
+ <span class="b">**o·</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">·o**</span>
+ <span class="b">==+o</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+++x</span>
+ <span class="b">==</span> @@$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">xx==</span> @$$$$o o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">+++o</span> @$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> $$$$$$$o o*@$$$$$@@=+++++++++++++++$@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@$=· $$$$@x @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@$= $$$$@~ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* x@@$$$$@*~ ~=@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">xx==+~</span> x+=+x· o+==+o ·x+=+x <span class="b">~+==xo</span>
+ <span class="b">++==+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">x+==++</span>
+ <span class="b">++====++</span> <span class="b">ox=+==**==+=</span> <span class="b">=+=***==+*+x</span> <span class="b">++====++</span>
+ <span class="b">x+==**********==++++++************++++++==**********==++</span>
+ <span class="b">++++++xx</span> <span class="b">xx++++xx</span> <span class="b">++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_006.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_006.txt
new file mode 100644
index 0000000..f9ad605
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_006.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">+++==*%%*%%%%%%*%%*===++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**=+</span> <span class="b">+=**++</span>
+ <span class="b">xx**+=</span> ~+*%$$@@@@$$%*+~ <span class="b">=+**+x</span>
+ <span class="b">xx**ox</span> +$@@@@@@@@$$$$$$@@@@@@@@$+ <span class="b">xo**xx</span>
+ <span class="b">x+**</span> x$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">**+x</span>
+ <span class="b">oo**</span> ·$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$· <span class="b">**oo</span>
+ <span class="b">==+~</span> ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">~+==</span>
+ <span class="b">++++</span> %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> @@$$@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">ox++</span> ~@$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xo</span>
+ <span class="b">+++~</span> @$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@% =@$$$$$@%xooooooooooooooo*@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@@$+ $$$$@o @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@%+ $$$$@o @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$* =@@$$$$@$xoooooooooooooox*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">xx==+x</span> ooo· ~oo~ ·oo~ <span class="b">x+==xo</span>
+ <span class="b">x+==++</span> <span class="b">+%%</span> <span class="b">%%+o</span> <span class="b">++==+x</span>
+ <span class="b">++=*==+*xx</span> <span class="b">++*=**==**+*++</span> <span class="b">++*+**==**=*++o~</span> <span class="b">xx*+==**++</span>
+ <span class="b">++==********=+xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_007.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_007.txt
new file mode 100644
index 0000000..7825600
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_007.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++=**%**%%%%**%**=++++</span>
+ <span class="b">==****++</span> <span class="b">++*=**==</span>
+ <span class="b">++**=+</span> <span class="b">+=**++</span>
+ <span class="b">x+**+=</span> ~+*%$$$@@$$$%*+~ <span class="b">=+**+x</span>
+ <span class="b">++**ox</span> +$@@@@@@@@$$$$$$@@@@@@@@$+ <span class="b">xo**++</span>
+ <span class="b">x+**</span> x$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">**+x</span>
+ <span class="b">xx**</span> $@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$ <span class="b">**xx</span>
+ <span class="b">==+~</span> ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">~+==</span>
+ <span class="b">x+++</span> %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+++x</span>
+ <span class="b">==</span> @@$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@%· =@$$$$$@%xooooooooooooooo*@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@@$=· $$$$@o @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@o @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$% =@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">++++</span> ·%@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· <span class="b">++++</span>
+ <span class="b">==+x</span> ··· ·· ·· <span class="b">x+==</span>
+ <span class="b">++=*++</span> <span class="b">++%%</span> <span class="b">%*++</span> <span class="b">++*=++</span>
+ <span class="b">++==**=*++ooxx+=*=**==**=*=+xxxx+=%=**==**=*=+xxxx++*=**==+x</span>
+ <span class="b">+++=******==++xx</span> <span class="b">++++********++++</span> <span class="b">xx++==******++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_008.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_008.txt
new file mode 100644
index 0000000..3e4706f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_008.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==**%%%%%%%%**==++++</span>
+ <span class="b">+=***%==</span> <span class="b">==%***=+</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">x+**=+</span> ·o+*%$$$$$$%*+o· <span class="b">+=**+x</span>
+ <span class="b">x+**xx</span> x%@@@@@@@@@$$$$@@@@@@@@@%x <span class="b">xx**+x</span>
+ <span class="b">x+**~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~**+x</span>
+ <span class="b">ox**o·</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">·o**xo</span>
+ <span class="b">==+o</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==</span>
+ <span class="b">x+++</span> %@$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+++x</span>
+ <span class="b">==x</span> @@$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">x==</span>
+ <span class="b">x++=</span> @$$$$ x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">=+xx</span>
+ <span class="b">+++o</span> @$$$@% +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> $$$$$$@% ·*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@@%+ $$$$@o @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@$*· $$$$@~ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@%· +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">+++=</span> =@@@@@@@@@*· x%@@@@@@@@%x *@@@@@@@@@* <span class="b">=+++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">++%%+x</span> <span class="b">x+%%++</span> <span class="b">+=**xx</span>
+ <span class="b">++**=*=+++++==*=**++**=%==++++==%=**++**=***+++++=*=**++</span>
+ <span class="b">xx++==**==++++</span> <span class="b">++========++</span> <span class="b">++++======++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_009.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_009.txt
new file mode 100644
index 0000000..00e5a61
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_009.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==***%%%%%%***==++++</span>
+ <span class="b">+=****=*o~</span> <span class="b">~o*=%***=+</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">x+**==</span> ~x=*%%%%%%*=x~ <span class="b">==**+x</span>
+ <span class="b">++**++</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">++**++</span>
+ <span class="b">x+**o~</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">~o**+x</span>
+ <span class="b">xx**o·</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·o**xx</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==</span>
+ <span class="b">x+++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">+++x</span>
+ <span class="b">==x·</span> @@$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">x+==</span> @$$$$~ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==+x</span>
+ <span class="b">+++o</span> @$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$$$+ o%@$$$$$@@=++++++++++++++=$@$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@$*~ $$$$@x @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@%~ $$$$@~ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@$~ x@$$$$$@*~ ·+@$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> =$@@@@@@@@* o%@@@@@@@@%o *$@@@@@@@$= <span class="b">==+x</span>
+ <span class="b">==++</span> <span class="b">++==</span>
+ <span class="b">===+</span> <span class="b">+=%%++</span> <span class="b">++%%==</span> <span class="b">+===</span>
+ <span class="b">++**=%==++++****==++**=***++++***=**++==****++++==%***++</span>
+ <span class="b">++======++++</span> <span class="b">+++======++x</span> <span class="b">++++=====+++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_010.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_010.txt
new file mode 100644
index 0000000..bdfaa69
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_010.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==************==++xx</span>
+ <span class="b">++***%*%++</span> <span class="b">++%*%***++</span>
+ <span class="b">++**=*+x</span> <span class="b">x+*=**++</span>
+ <span class="b">xx====x</span> ·ox+====+xo· <span class="b">x====xx</span>
+ <span class="b">x+**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**++</span>
+ <span class="b">xx**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**xx</span>
+ <span class="b">oo**+~</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">~+**oo</span>
+ <span class="b">==++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++==</span>
+ <span class="b">++==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==++</span>
+ <span class="b">==+·</span> $@$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">+++x</span> @$$$$$ ·=@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@*· $$$$$= o$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@@x $$$$@ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@@+ %$$$$$@x ~$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">~+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++**=***++==%***==++***%**++++**%***++==***%==++**%=**++</span>
+ <span class="b">++++==++++</span> <span class="b">x+++====+++x</span> <span class="b">++++==+++x</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_011.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_011.txt
new file mode 100644
index 0000000..e3170d5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_011.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==********==++++</span>
+ <span class="b">++*****%**+x</span> <span class="b">x+**%*****++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">====++</span> ~ooxxoo~ <span class="b">++====</span>
+ <span class="b">xx**++</span> ~+%@@@@@@@@@@@@@@@@@@%+~ <span class="b">++**xx</span>
+ <span class="b">++**++</span> ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">++**+x</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">==++</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">++==</span>
+ <span class="b">xx==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xx</span>
+ <span class="b">==+~</span> %@$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">xx==</span> @@$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">+++x</span> $$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==+</span> =@$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$@= <span class="b">+==</span>
+ <span class="b">==</span> @$$$$$$@%o x$$$$$% =$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@@= $@$$@ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@@*~ +$$$$$% *$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">~+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====o</span> <span class="b">==%%++</span> <span class="b">++%%=+</span> <span class="b">====</span>
+ <span class="b">++**=***=+==%***++++==***%====%***==++++***%====***=**++</span>
+ <span class="b">xx++++++++</span> <span class="b">++====++</span> <span class="b">++++++++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_012.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_012.txt
new file mode 100644
index 0000000..90a65ed
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_012.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++========++++++</span>
+ <span class="b">++==***%*%**==++++==**%*%***==++</span>
+ <span class="b">++==**=*xo</span> <span class="b">ox*=**==++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">xx==*=</span> ·+*$@@@@@@@@@@@@@@$*+· <span class="b">=*==xx</span>
+ <span class="b">xx===+</span> o%@@@@@$$$$$$$$$$$$$$$$@@@@@%o <span class="b">+===xx</span>
+ <span class="b">==++</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+===</span>
+ <span class="b">++=+</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">+=++</span>
+ <span class="b">xx==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==xx</span>
+ <span class="b">==+x</span> x@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">xx==</span> %@$$$@%**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xx</span>
+ <span class="b">++++</span> %@$$$$ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> o@$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$@$~ ~$@$$$$@+ x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@%o $$$$@· @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%x $$$$$+ ~$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$= x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% <span class="b">~+==</span>
+ <span class="b">x+==</span> +%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@%+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==o</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">++***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">x+++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_013.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_013.txt
new file mode 100644
index 0000000..b2b6a98
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_013.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++====++++++++</span>
+ <span class="b">++++*******%********%*******++++</span>
+ <span class="b">+x==**=*=+</span> <span class="b">+=*=**==xx</span>
+ <span class="b">++**==</span> <span class="b">==**++</span>
+ <span class="b">====++</span> ·x*%@@@@@@@@@@@@%*x· <span class="b">++====</span>
+ <span class="b">===+</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">+===</span>
+ <span class="b">===+</span> ·%@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%· <span class="b">+===</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">xx==o·</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·o==xo</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">ox==</span> +@$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">++++</span> =@$$$$~ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++++</span>
+ <span class="b">==+·</span> ·@$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@@*o $$$$@x @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$= $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~o*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">~+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==o</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">++***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_014.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_014.txt
new file mode 100644
index 0000000..9619497
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_014.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==*****%*%%%%%%*%*****==++</span>
+ <span class="b">++*****%=+</span> <span class="b">+=%*****++</span>
+ <span class="b">++====+*</span> <span class="b">*+====++</span>
+ <span class="b">++==+=</span> ·x+*%%$$$$%%*+x· <span class="b">=+==++</span>
+ <span class="b">====xx</span> x%@@@@@@@@@$$$$@@@@@@@@@%x <span class="b">xx====</span>
+ <span class="b">++==o~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~~==+=</span>
+ <span class="b">++==o·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·o==++</span>
+ <span class="b">xx==+o</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==xx</span>
+ <span class="b">++++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++++</span>
+ <span class="b">ox==x</span> @@$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">x==xo</span>
+ <span class="b">++++</span> @$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+o</span> @$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> $$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@%o x$$$$$% *$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@@+ $$$$@ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=*=+x</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_015.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_015.txt
new file mode 100644
index 0000000..33cf5ec
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_015.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++</span>
+ <span class="b">xx++==****************==++xx</span>
+ <span class="b">++==**=***++o</span> <span class="b">o++***=**==++</span>
+ <span class="b">x+=====*+x</span> <span class="b">x+*=====+x</span>
+ <span class="b">++====ox</span> ·ox++==++xo· <span class="b">xo====++</span>
+ <span class="b">++==++</span> x*$@@@@@@@@@@@@@@@@@@$*x <span class="b">++==++</span>
+ <span class="b">++==+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+==++</span>
+ <span class="b">++==+o</span> x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x <span class="b">o+==++</span>
+ <span class="b">===+</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">+===</span>
+ <span class="b">++==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==++</span>
+ <span class="b">==+·</span> $@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">++==</span> @@$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">+++x</span> @$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@$ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$~ o$$$$$$@= x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$@@@%~ $$$$@· @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$@@$x $$$$$+ ·@$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o x$@$$$$$@@*==============*$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= <span class="b">==xo</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+**=%==++++%***=+x+==*%**++++**%*==+++=***%++++=*%=**+x</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_016.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_016.txt
new file mode 100644
index 0000000..50eea78
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_016.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xxxx</span>
+ <span class="b">++++==************==++++</span>
+ <span class="b">xx++==****%%=*++++++++*=%*****==++xx</span>
+ <span class="b">++=====*+~</span> <span class="b">~+*=====++</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">++===+</span> ·+*$@@@@@@@@@@@@@@$*+· <span class="b">+===++</span>
+ <span class="b">++===+</span> o%@@@@@$$$$$$$$$$$$$$$$@@@@@%o <span class="b">+===++</span>
+ <span class="b">xx===+</span> x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x <span class="b">+===xx</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">==+x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">xx==</span> %@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==++</span>
+ <span class="b">++++</span> %@$$$$* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==x·</span> o@$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$@o <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@= $$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">===+</span> <span class="b">++%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++***%++++++**%*=+++===*==++x+==*===++++*%**++x+++%***++</span>
+ <span class="b">x+++====++</span> <span class="b">++==++++</span> <span class="b">++====+++x</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_017.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_017.txt
new file mode 100644
index 0000000..e05674a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_017.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++============++++++</span>
+ <span class="b">++==**==*%*%********%*%*==**==++</span>
+ <span class="b">++=====*==</span> <span class="b">==*=====++</span>
+ <span class="b">++======+x</span> <span class="b">x+======+x</span>
+ <span class="b">++====++</span> o=%$@@@@@@@@@@$%=o <span class="b">++====++</span>
+ <span class="b">++====</span> x%@@@@@@$$$$$$$$$$$$@@@@@@%x <span class="b">====+x</span>
+ <span class="b">xx===+</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+===xx</span>
+ <span class="b">====</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">====</span>
+ <span class="b">x+==x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x==++</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">xx==</span> x@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==xo</span>
+ <span class="b">++++</span> +@$$$@@=ox%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@@+ *$$$$$$~ %$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$= ~$$$$$* x$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ <span class="b">++xx</span>
+ <span class="b">==+x</span> ~~~ ·~~· ~~· <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++</span>
+ <span class="b">++++==++++</span> <span class="b">++++====++++</span> <span class="b">++++==++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_018.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_018.txt
new file mode 100644
index 0000000..5e92ec0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_018.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++++++</span>
+ <span class="b">xx++==****=**%%%%%%**=****==+++x</span>
+ <span class="b">x+++====*%==o~</span> <span class="b">~o==%*====+++x</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">====++</span> o+=*%%%%%%*=+o <span class="b">++====</span>
+ <span class="b">====xx</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">xx====</span>
+ <span class="b">====o·</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· <span class="b">·o====</span>
+ <span class="b">++==o·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·o==++</span>
+ <span class="b">xx==+o</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==xx</span>
+ <span class="b">==++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">++==</span>
+ <span class="b">xx==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==xo</span>
+ <span class="b">++++</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+o</span> @$$$$$~ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> %$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$= ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@*o $$$$@o @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$+ $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~o*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@· <span class="b">x==</span>
+ <span class="b">++++</span> x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+o</span> ox++o ~x++x~ o++xo <span class="b">o+==</span>
+ <span class="b">**+x</span> <span class="b">**</span> <span class="b">**</span> <span class="b">x+**</span>
+ <span class="b">++**+=o~</span> <span class="b">++*+**==**+*xo</span> <span class="b">ox*+**++**+*++</span> <span class="b">~o=+**++</span>
+ <span class="b">++==****++++</span> <span class="b">++==****==++</span> <span class="b">++++=***==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_019.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_019.txt
new file mode 100644
index 0000000..f528dc8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_019.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++++==****************==++++</span>
+ <span class="b">++===****%++~~</span> <span class="b">~~++%****===++</span>
+ <span class="b">++=====*+x</span> <span class="b">x+*=====++</span>
+ <span class="b">++====xx</span> ·ox+====+xo· <span class="b">xx====++</span>
+ <span class="b">====++</span> x%$@@@@@@@@@@@@@@@@@@$%x <span class="b">++====</span>
+ <span class="b">++==+o</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">o+==++</span>
+ <span class="b">++==+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+==++</span>
+ <span class="b">ox==++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++==xo</span>
+ <span class="b">+++=</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">=+++</span>
+ <span class="b">ox==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==xo</span>
+ <span class="b">++==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+x</span> @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+==</span>
+ <span class="b">==</span> *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =@@$$$$$@@%**************%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@o $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o ·%$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">**x~</span> ~+===+o x====x o+===+~ <span class="b">~+**</span>
+ <span class="b">**xx</span> <span class="b">++</span> <span class="b">++</span> <span class="b">xx**</span>
+ <span class="b">==**++</span> <span class="b">~o*+**==**+=</span> <span class="b">=+**==**+*o~</span> <span class="b">++====</span>
+ <span class="b">+==*****=+++</span> <span class="b">++=******=++</span> <span class="b">+++==****==+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_020.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_020.txt
new file mode 100644
index 0000000..02720e6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_020.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++++==************==++++</span>
+ <span class="b">++++****=***=+xo~~~~ox+=%**=****++++</span>
+ <span class="b">xx++===*+=</span> <span class="b">=+*===++xx</span>
+ <span class="b">++====++</span> ·~~~~· <span class="b">++====++</span>
+ <span class="b">++===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===++</span>
+ <span class="b">++==++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++==++</span>
+ <span class="b">x+===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==+x</span>
+ <span class="b">==++</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">++==</span>
+ <span class="b">++==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">++==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==x·</span> +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@%x x$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@= $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*~ +$$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@$$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$@@@@@$ <span class="b">x+++</span>
+ <span class="b">**o</span> ~=%$$$%=o +*$$$$*+ o=%$$$%=~ <span class="b">o**</span>
+ <span class="b">xx**o~</span> <span class="b">~~**xx</span>
+ <span class="b">xx**+*</span> <span class="b">++=***=*+x</span> <span class="b">x+*=****++</span> <span class="b">*+**xx</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">x+++*%%%%%%*+++x</span> <span class="b">++**%%%%%*==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_021.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_021.txt
new file mode 100644
index 0000000..e7305fb
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_021.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++====********====++++</span>
+ <span class="b">++==**=**%**++++++++**%**=**==++</span>
+ <span class="b">++=*=*=*</span> <span class="b">~</span> <span class="b">*=*===++</span>
+ <span class="b">++====+=</span> <span class="b">=+====+x</span>
+ <span class="b">++===+</span> ~+%$@@@@@@@@@@@@@@$%+· <span class="b">+===+x</span>
+ <span class="b">++==++</span> x$@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">+===+x</span>
+ <span class="b">xx==++</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">+===xo</span>
+ <span class="b">==++</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">==+o</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">xx==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xx</span>
+ <span class="b">++++</span> %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==x·</span> +@$$$$% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@*· =$$$$$$ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@@%x o$$$$$* =$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$@% x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$@$~ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@@*=+=%@@@@$$$$$@@@@o <span class="b">o+++</span>
+ <span class="b">o</span> <span class="b">**</span> +%@@@@@%= o*$@@@@$*o +%@@@@@%+ <span class="b">**</span>
+ <span class="b">++**</span> <span class="b">**++</span>
+ <span class="b">x+**+=</span> <span class="b">x****==</span> <span class="b">==**=*xo</span> <span class="b">=+**++</span>
+ <span class="b">++**%%%%%%%*==++</span> <span class="b">++==%%%%%%%*==++</span> <span class="b">x+==*%%%%%%%**=+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_022.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_022.txt
new file mode 100644
index 0000000..943c443
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_022.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++========++++++</span>
+ <span class="b">++==*****%*%********%%%*****+++x</span>
+ <span class="b">++==***%++</span> <span class="b">++*=**==+x</span>
+ <span class="b">==**+=</span> <span class="b">*+**++</span>
+ <span class="b">ox====oo</span> o=%$@@@@@@@@@@@@$%+~ <span class="b">xx====</span>
+ <span class="b">xx===+</span> ~*@@@@@@$$$$$$$$$$$$$@@@@@@$+ <span class="b">====</span>
+ <span class="b">===+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x==xx</span>
+ <span class="b">==+o</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">xx==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">+++x</span> $@$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">==x</span> =@$$$$% +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> @$$$$@* +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> o$$$$$$@$o ·$$$$$$$o o$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$@@@@o @$$$@ @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$@@=· ~@$$$@+ +@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$@* ~*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$@= ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">~+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++**oo</span> <span class="b">==%%=+</span> <span class="b">++%%==</span> <span class="b">oo=*++</span>
+ <span class="b">x+==*%=*===**=**++++++*%**====**%*++++++******==*=%*==+x</span>
+ <span class="b">++++++</span> <span class="b">x+++++++</span> <span class="b">++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_023.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_023.txt
new file mode 100644
index 0000000..673dd94
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_023.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++++++==++++++++</span>
+ <span class="b">++++*******%%%**%%%*%*%****=++</span>
+ <span class="b">xx==**=*++</span> <span class="b">==****++</span>
+ <span class="b">++**+=</span> <span class="b">++*=**++</span>
+ <span class="b">xx====oo</span> ~+*$$@@@@@@@@@@$%=o <span class="b">+x*=++</span>
+ <span class="b">x+===+</span> ·=@@@@@@@$$$$$$$$$$$$@@@@@@%o <span class="b">~====</span>
+ <span class="b">===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">==++</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">==++</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==</span>
+ <span class="b">==+o</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">xx==</span> $@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">+++x</span> @@$$$@@%=*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">==</span> %@$$$$* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> @$$$$@= o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$+ <span class="b">·+==</span>
+ <span class="b">ox==</span> =$$$$$$@%· o@$$$$$@o +@$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$@@@%· @$$$@ @$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$@@@*~ ~@$$$@~ +@$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$ ·=@@$$$$$@@***************%@@$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$@+ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">++++</span> ·*@@@@@@@@@%o +@@@@@@@@@@= ~%@@@@@@@@@* <span class="b">==+x</span>
+ <span class="b">===x</span> ·~· ~~ ·~· <span class="b">++==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">++==</span>
+ <span class="b">++**=*++xoox==*===++===%==xoox==%=**+++=*%=*+xox++*=**++</span>
+ <span class="b">+++++==+++</span> <span class="b">+++==+++</span> <span class="b">++====++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_024.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_024.txt
new file mode 100644
index 0000000..2339b78
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_024.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++++++++++++</span>
+ <span class="b">++==***%%%%%%%%%%*%*****+++x</span>
+ <span class="b">++***%==</span> <span class="b">o+*=****++</span>
+ <span class="b">++**=*</span> <span class="b">++====+x</span>
+ <span class="b">====xx</span> x=%$@@@@@@@@@$%=x <span class="b">++**++</span>
+ <span class="b">===+</span> =$@@@@@@@$$$$$$$$$@@@@@@@$+ <span class="b">xx*=++</span>
+ <span class="b">==++</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">~o==++</span>
+ <span class="b">===+</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">~x==xo</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">==+~</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==+x</span>
+ <span class="b">x+++</span> @@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">o+==</span>
+ <span class="b">==+~</span> @$$$$@@%%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">ox==</span> x@$$$$@~ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">xx++</span> $$$$$$$@= =@$$$$$@x ~*@$$$$$= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$@@@@+ @$$$@ x@$$$@% <span class="b">x==</span>
+ <span class="b">++++</span> @$$$$$$@@@*x o@$$$$ =@$$$@% <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$% =@@$$$$$@$===============*@@$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$@~ +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@ <span class="b">·+==</span>
+ <span class="b">+++x</span> *@@@@@@@@@@@%o +$@@@@@@@@@@@=· ~*@@@@@@@@@@@= <span class="b">+++x</span>
+ <span class="b">**x·</span> ~+=**+o x=**=x· ~+=*=+~ <span class="b">~+==</span>
+ <span class="b">oo**xx</span> <span class="b">++</span> <span class="b">++</span> <span class="b">o+**</span>
+ <span class="b">==**++</span> <span class="b">=+**==**+=</span> <span class="b">++**==**==x·</span> <span class="b">++====</span>
+ <span class="b">+==*%%**===+</span> <span class="b">++=***%%*=++</span> <span class="b">++===*%%*==+</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_025.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_025.txt
new file mode 100644
index 0000000..9667d9d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_025.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">xx++++++++++</span>
+ <span class="b">++==*****%%$%%%%%%%*****++xx</span>
+ <span class="b">++*****=</span> <span class="b">x+%***==++</span>
+ <span class="b">++**=*</span> <span class="b">==**==</span>
+ <span class="b">====xx</span> o=%$$@@@@@@@$%*+o <span class="b">==**xx</span>
+ <span class="b">===+</span> +$@@@@@@@$$$$$$$$$@@@@@@@%x <span class="b">x+**+x</span>
+ <span class="b">==++</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">o+**xx</span>
+ <span class="b">===+</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">o+==</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">+=++</span>
+ <span class="b">==x·</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==xx</span>
+ <span class="b">++++</span> @@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">x+++</span>
+ <span class="b">==+·</span> @$$$$@@$%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">**</span>
+ <span class="b">==</span> @$$$$$= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">=+xx</span>
+ <span class="b">xx++</span> *$$$$$@· =@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">x+++</span>
+ <span class="b">++++</span> @$$$$$$@x ·*@$$$$$@+· o%@$$$$$~ <span class="b">~+++</span>
+ <span class="b">xx+x</span> $$$$$$$$@@@$x ·@$$$$ +@$$$@= <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$@@@%x o@$$$$ *@$$$@= <span class="b">·+==</span>
+ <span class="b">xxxx</span> @$$$$$$$ +$@$$$$$@%+++++++++++++++=@@$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$@· +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$% x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@x <span class="b">x==</span>
+ <span class="b">+++o</span> ~$@@@@$$$@@@@@*x~o+*@@@@@$$$@@@@%+o~o=$@@@@$$$@@@@% <span class="b">++++</span>
+ <span class="b">**</span> ~+%$$$$*o x*$$$$%+· ~=%$$$%+~ <span class="b">·o**</span>
+ <span class="b">x+**~~</span> <span class="b">~o**xx</span>
+ <span class="b">x+**==o~</span> <span class="b">++*=**=*++</span> <span class="b">oo==****++</span> <span class="b">=+**xx</span>
+ <span class="b">++==*%%%%%%*==xx</span> <span class="b">xx==*%%%%%%*==++</span> <span class="b">+=*%%%%%%*==++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_026.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_026.txt
new file mode 100644
index 0000000..5558114
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_026.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++++****%%%%%%%%%%%***==++</span>
+ <span class="b">++**=*=*</span> <span class="b">++*=**++</span>
+ <span class="b">++**=*x</span> <span class="b">*=**++</span>
+ <span class="b">++**xx</span> o+*%$$@@@@@$$%=x· <span class="b">+===</span>
+ <span class="b">===+</span> +$@@@@@@@$$$$$$$$@@@@@@@@*o <span class="b">++**xx</span>
+ <span class="b">===+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">o+**</span>
+ <span class="b">===+</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o <span class="b">x===</span>
+ <span class="b">++==</span> ·@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">++++</span>
+ <span class="b">=*o·</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span>
+ <span class="b">++++</span> @@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++++</span>
+ <span class="b">==x·</span> ~@$$$$@@$%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">ox==</span> @$$$$$* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">xx++</span> $$$$$$@· ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">++++</span>
+ <span class="b">+++x</span> @$$$$$$$x ~*@$$$$$@+~~~~~~~~~~~~~~~o$@$$$$@ <span class="b">o+++</span>
+ <span class="b">+++o</span> $$$$$$$$@@@%o ·@$$$$ +@$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$@@$+ ~@$$$$ =@$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$· +$@$$$$$@*+xxxxxxxxxxxxxx=@@$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$@~ x%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$% o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">==x·</span> *@@@$$$$$$$@@@@%**%@@@@$$$$$$$@@@$%**$@@@$$$$$$$@@@x <span class="b">x+++</span>
+ <span class="b">xx==</span> =$@@@@@@$+ o%@@@@@@@*· =$@@@@@$=· <span class="b">*=</span>
+ <span class="b">++==</span> <span class="b">==++</span>
+ <span class="b">++**++</span> <span class="b">==%%==</span> <span class="b">++%%**</span> <span class="b">+x**++</span>
+ <span class="b">++***%%%%%%***++</span> <span class="b">++***%*%%%%***=+</span> <span class="b">x+==*%*%%%%***=+</span>
+ <span class="b">xxxx</span> <span class="b">xxxx</span> <span class="b">xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_027.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_027.txt
new file mode 100644
index 0000000..d0b2080
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_027.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+++x</span>
+ <span class="b">xx++=***%%%%%%%%%%****++++</span>
+ <span class="b">++***%=*</span> <span class="b">==%***++</span>
+ <span class="b">++**=*x</span> <span class="b">=+**++</span>
+ <span class="b">++**xx</span> o+*%$$@@@@$$$%=x· <span class="b">=*==</span>
+ <span class="b">===+</span> +$@@@@@@@@$$$$$$$@@@@@@@@*~ <span class="b">++**</span>
+ <span class="b">==++</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">x+*=</span>
+ <span class="b">===+</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">++==</span>
+ <span class="b">++==</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">==++</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">o*=</span>
+ <span class="b">++++</span> ~@@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$@@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·x==</span>
+ <span class="b">ox==</span> @$$$$$% =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span> <span class="b">o</span>
+ <span class="b">xx++</span> $$$$$$@o ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">++xx</span>
+ <span class="b">+++o</span> @$$$$$$$x ~*@$$$$$@=~~~~~~~~~~~~~~~o$@$$$$@ <span class="b">x+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$@@@%o @$$$@ x@$$$$ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$@@$=· @$$$@ +@$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$~ x%@$$$$$@%+xxxxxxxxxxxxxx+$@$$$$@· <span class="b">~+++</span>
+ <span class="b">+++~</span> ·@$$$$$@x o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==x</span> $@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@@@$$@@@@$$$$$$$@@@= <span class="b">o+++</span>
+ <span class="b">x+==</span> o%@@@@@@@@%o =@@@@@@@@$+ o%@@@@@@@$x <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++**++</span> <span class="b">++%%*=</span> <span class="b">%%%=</span> <span class="b">x~=*++</span>
+ <span class="b">x+++*%*%====%*%*==xx++**=%*===***===++++***%**==*=%*==xx</span>
+ <span class="b">++++++++</span> <span class="b">xx++=+++</span> <span class="b">++=+++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_028.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_028.txt
new file mode 100644
index 0000000..aec5d18
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_028.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++=***%%%%%%%%%%****++++</span>
+ <span class="b">++***%=*</span> <span class="b">·</span> <span class="b">==****++</span>
+ <span class="b">++**=*x</span> <span class="b">*=**+x</span>
+ <span class="b">++**xo</span> o+*%$$@@@@$$%%=x <span class="b">===+</span>
+ <span class="b">===+</span> ·=$@@@@@@@@$$$$$$$@@@@@@@@=~ <span class="b">++==</span>
+ <span class="b">==+x</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">x+==</span>
+ <span class="b">==++</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">++==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">==+x</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">++++</span> o@$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++x+</span>
+ <span class="b">==</span> +@$$$$@@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$% <span class="b">++xx</span>
+ <span class="b">+++o</span> $$$$$$$@= =@$$$$$@*o~~~~~~~~~~~~~~o*@$$$$@ <span class="b">x+++</span>
+ <span class="b">+++~</span> x@$$$$$$$@@@$x @$$$@ @$$$$ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$$$@@$*~ @$$$@ ~@$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$x o*@$$$$$@%+xxxxxxxxxxxxxx+%@$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$@* ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$· ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==</span> o@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$@@$ <span class="b">~+++</span>
+ <span class="b">++=+</span> +@@@@@@@@@@*~ ~%@@@@@@@@@$x +@@@@@@@@@* <span class="b">==xo</span>
+ <span class="b">==+o</span> ~~~ ·~~ ~~ <span class="b">+===</span>
+ <span class="b">====</span> <span class="b">**++</span> <span class="b">=**=</span> <span class="b">+===</span>
+ <span class="b">++===*=+o~··++*=**++++*%=*x~··x+*=**++++**=*+x··++*=**++</span>
+ <span class="b">++======++</span> <span class="b">+=++====++</span> <span class="b">++======++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_029.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_029.txt
new file mode 100644
index 0000000..a576302
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_029.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++=**%%%%%%%%%%%%*==+++x</span>
+ <span class="b">++==*%=*</span> <span class="b">·</span> <span class="b">==****=+</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**xo</span> o=*%$$@@@@@$$%=x <span class="b">==++</span>
+ <span class="b">===+</span> ·=$@@@@@@@$$$$$$$$@@@@@@@@=~ <span class="b">++==</span>
+ <span class="b">==+x</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">++==</span>
+ <span class="b">===+</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">==++</span>
+ <span class="b">**</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">++++</span> x@$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++xx</span>
+ <span class="b">==</span> +@$$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·x==</span>
+ <span class="b">ox==</span> ~@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$* <span class="b">++xx</span>
+ <span class="b">+++~</span> $$$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$@ <span class="b">++++</span>
+ <span class="b">+++·</span> x@$$$$$$$@@@$= $$$$@o @$$$$ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$$@@@*o $$$$@x @$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$$= ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$@$ ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">~x==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">=*</span> +@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@ <span class="b">·+++</span>
+ <span class="b">++++</span> =@@@@@@@@@@@+ o$@@@@@@@@@@*~ =@@@@@@@@@$o <span class="b">=++x</span>
+ <span class="b">**x~</span> ox+xo ~x++x· oxx~ <span class="b">x+==</span>
+ <span class="b">**+=</span> <span class="b">==++</span> <span class="b">++==</span> <span class="b">++**</span>
+ <span class="b">==**=*+x</span> <span class="b">·o*+**++===*++</span> <span class="b">=+*===++**+*~·</span> <span class="b">·o==**++</span>
+ <span class="b">++++****==++</span> <span class="b">++==**=+++</span> <span class="b">++==**==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_030.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_030.txt
new file mode 100644
index 0000000..7a9f0d7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_030.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++=**%%%%%%%%%%*%*===+xx</span>
+ <span class="b">++===*==</span> <span class="b">+=%***++</span>
+ <span class="b">x+**=*</span> <span class="b">=+**+x</span>
+ <span class="b">++*=</span> ·x=%$$@@@@@@$$%=x· <span class="b">==++</span>
+ <span class="b">==++</span> ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ <span class="b">++==</span>
+ <span class="b">==+x</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">x+==</span>
+ <span class="b">===x</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">++++</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">==xx</span>
+ <span class="b">**</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">++++</span> +@$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++xx</span>
+ <span class="b">==</span> =@$$$$$@@$%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·x==</span>
+ <span class="b">ox==</span> o@$$$$$$x ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx+x</span> @$$$$$$@ ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$* <span class="b">++xx</span>
+ <span class="b">+++~</span> ~$$$$$$$$$~ o$@$$$$@$x···············x@@$$$@ <span class="b">++xx</span>
+ <span class="b">+++·</span> +@$$$$$$$$@@@%o +@$$@% %$$$$ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$@@@%x =@$$$% %$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$% =@@$$$$@@*+++++++++++++++*@@$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$@ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$$$* +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">+++x</span> ~=@@@@@@@@@@@$x ·x$@@@@@@@@@@@=~ ~*@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">**o·</span> ~+***=x x=***+~ ~+**+~ <span class="b">~+==</span>
+ <span class="b">xx**x+</span> <span class="b">+o</span> <span class="b">++</span> <span class="b">xx**</span>
+ <span class="b">++**=*x·</span> <span class="b">o+=+**===*++</span> <span class="b">·x=+**====++</span> <span class="b">++====</span>
+ <span class="b">+++==*%%*===++</span> <span class="b">++===*%%**=+=+</span> <span class="b">+==***==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_031.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_031.txt
new file mode 100644
index 0000000..f7615a1
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_031.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++=**%*%%%$$%%%*%*==++++</span>
+ <span class="b">++***%++</span> <span class="b">++%***++</span>
+ <span class="b">x+**=*</span> <span class="b">=+**++</span>
+ <span class="b">++==</span> ~+*%$@@@@@@@@$%*+~ <span class="b">==++</span>
+ <span class="b">=*++</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">++==</span>
+ <span class="b">**+x</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">x+==</span>
+ <span class="b">==+x</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">+=++</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==+x</span>
+ <span class="b">**</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">+++x</span> =@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++xx</span>
+ <span class="b">==</span> *@$$$$$@@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">ox==</span> x@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$@~ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$* <span class="b">++xx</span>
+ <span class="b">+++~</span> ~$$$$$$$$@+ =@$$$$$@+ ~%@$$$@ <span class="b">++xx</span>
+ <span class="b">+++·</span> +@$$$$$$$$@@@$+ @$$$@ x@$$$ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$@@@%x o@$$$@ =@$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$ +$@$$$$$@%=++++++++++++++*@@$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$@o +$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$@@ <span class="b">·+==</span>
+ <span class="b">+++o</span> o=@@@@@@@@@@@@*o· ~+$@@@@@@@@@@@$+~ o*@@@@@@@@@@* <span class="b">++xx</span>
+ <span class="b">**o</span> ~=%%%%=o x*%%%*+ o=%%*x <span class="b">~+**</span>
+ <span class="b">x+**x+</span> <span class="b">x~</span> <span class="b">xx</span> <span class="b">ox**xo</span>
+ <span class="b">==**==</span> <span class="b">==****=*+o</span> <span class="b">=+****==++</span> <span class="b">x+====</span>
+ <span class="b">++==*%%%%**=++</span> <span class="b">++==**%%%*===+</span> <span class="b">++=*%%**==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_032.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_032.txt
new file mode 100644
index 0000000..0f9edba
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_032.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++</span>
+ <span class="b">xx++=*%%%%%%%%%%%%%***==++</span>
+ <span class="b">++***%++</span> <span class="b">o+****++</span>
+ <span class="b">++**=*</span> <span class="b">=+**++</span>
+ <span class="b">====</span> o=%$@@@@@@@@@@$%=x <span class="b">+===</span>
+ <span class="b">**++</span> x%@@@@@@@$$$$$$$$$$$@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">o+**</span>
+ <span class="b">==+o</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">x=++</span>
+ <span class="b">++=+</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==+x</span>
+ <span class="b">**</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++x</span> *@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">++++</span>
+ <span class="b">==</span> %@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·x==</span>
+ <span class="b">ox+=</span> +@$$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$* <span class="b">++xx</span>
+ <span class="b">+++~</span> o$$$$$$$$$$o ~$@$$$$@= o@$$$@ <span class="b">++++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$@@@$o %@$$@o @$$$ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$@@%+ $$$$$= @$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$x x%@@$$$$@@%==============*$@$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$ x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$* o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$@@~ <span class="b">·x==</span>
+ <span class="b">+++o</span> ·o=@@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%x~~o=@@@@@@@@@@% <span class="b">++xx</span>
+ <span class="b">**</span> ~=%$$$%=~ x*$$$%*x o=%$%+· <span class="b">·x**</span>
+ <span class="b">++**~o</span> <span class="b">~o**xx</span>
+ <span class="b">++****=*</span> <span class="b">++==**=*+x</span> <span class="b">xx*=****++</span> <span class="b">=+**xx</span>
+ <span class="b">++==*%%%%%**++</span> <span class="b">++++*%%%%%%*+++x</span> <span class="b">++**%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_033.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_033.txt
new file mode 100644
index 0000000..6155425
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_033.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++</span>
+ <span class="b">++==*%%%%%%*****%%%*%**=++</span>
+ <span class="b">+=***%+o</span> <span class="b">·</span> <span class="b">*=**=+</span>
+ <span class="b">++**+=</span> <span class="b">++**++</span>
+ <span class="b">==++</span> ·x*$$@@@@@@@@@@@$%+~ <span class="b">+===</span>
+ <span class="b">**+x</span> +$@@@@@@$$$$$$$$$$$$@@@@@@@= <span class="b">x+**</span>
+ <span class="b">**+o</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">~x**</span>
+ <span class="b">==+o</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">x+==</span>
+ <span class="b">++=+</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">=*</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">**</span>
+ <span class="b">+++x</span> *@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==</span> *@$$$$$$@@*=%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">ox==</span> x@$$$$$$$x o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$@· o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$ <span class="b">++xx</span>
+ <span class="b">+++~</span> ·$$$$$$$$$@* x@$$$$$%· =@$$@ <span class="b">xx++</span>
+ <span class="b">+++~</span> x@$$$$$$$$$@@@@* @$$$$ +@$$ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$$$$@@$+ =@$$$$ %$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$* o%@@$$$$$@@%**************$@@$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$@· o%@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$@@o <span class="b">+==</span>
+ <span class="b">+++o</span> ~o=$@@@@$$$@@@@@%+oo+%@@@@@$$$@@@@@=xoo=$@@@@@@@@@$ <span class="b">++++</span>
+ <span class="b">o</span> <span class="b">**</span> ·=%$$$$%+ x*$$$$%=~ ~=%$%=~ <span class="b">·o**</span>
+ <span class="b">x+**·~</span> <span class="b">·~**+x</span>
+ <span class="b">++****==x</span> <span class="b">ox*=***=+x</span> <span class="b">==****+=</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%%%*==++</span> <span class="b">==*%%%%%%*==++</span> <span class="b">++**%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_034.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_034.txt
new file mode 100644
index 0000000..690b7d8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_034.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+++++++++++</span>
+ <span class="b">++=**%%%**==++==**%*%***++</span>
+ <span class="b">+=**=*</span> <span class="b">=+*===+x</span>
+ <span class="b">++**++</span> <span class="b">xx====</span>
+ <span class="b">====</span> o=%$@@@@@@@@@@@@@$%+~ <span class="b">++**xo</span>
+ <span class="b">**+x</span> ·=@@@@@@$$$$$$$$$$$$$$$@@@@@$x <span class="b">~**+x</span>
+ <span class="b">**+o</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">**xx</span>
+ <span class="b">==+o</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">·x**</span>
+ <span class="b">++=+</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">x+++</span>
+ <span class="b">**</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">++++</span> +@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">o+++</span>
+ <span class="b">==</span> +@$$$$$$$@%xo=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$@ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++xx</span>
+ <span class="b">++++</span> $$$$$$$$$@ ·=@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$@ <span class="b">x+++</span>
+ <span class="b">++xx</span> @$$$$$$$$$@%~ o$$$$$$+ +$$$~ <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$@@@@% o@$$@% *@@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$@@*~ %$$$$$ $$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$@x ·=@@@$$$$$@@$$$$$$$$$$$$$$$@@$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$@ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$@x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">xxxx</span> @$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox+=</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">+++o</span> ox+*@@@@@$$$@@@@@*+xx=$@@@@$$$$@@@@$=xx+%@@@@@@@@@$ <span class="b">++++</span>
+ <span class="b">ox**</span> x%$$@$$*x ~=%$@@$%=· x%$$*o <span class="b">**</span>
+ <span class="b">++**</span> <span class="b">**xx</span>
+ <span class="b">xx*****=xx</span> <span class="b">==****+=</span> <span class="b">++****+=</span> <span class="b">=+**+x</span>
+ <span class="b">xx++***%%%%**=++</span> <span class="b">++**%%%%%%**++</span> <span class="b">++=**%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_035.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_035.txt
new file mode 100644
index 0000000..32f4209
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_035.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++++</span>
+ <span class="b">++=**%*%==xxxxxx++**%*%*==++</span>
+ <span class="b">+=**=*</span> <span class="b">~+*=**++</span>
+ <span class="b">++**++</span> <span class="b">==**xx</span>
+ <span class="b">===+</span> +%$@@@@@@@@@@@@@@@$%+ <span class="b">ox**++</span>
+ <span class="b">**+x</span> ~*@@@@@$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">==++</span>
+ <span class="b">**x~</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">==++</span>
+ <span class="b">==+x</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">**xx</span>
+ <span class="b">++=+</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">~+==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">+++x</span>
+ <span class="b">++++</span> o@$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·x==</span>
+ <span class="b">==+·</span> ~@$$$$$$$$@+ ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">ox==</span> =$$$$$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$@~ <span class="b">~+++</span>
+ <span class="b">xx++</span> @$$$$$$$$$$@%o x$$$$$$ =$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$@@@@= %@$$@~ @@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$@%x o$$$$$% +$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$ +%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$@x x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">+++o</span> oxx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@*+xx*@@@@@@@@@@· <span class="b">x+++</span>
+ <span class="b">o</span> <span class="b">**</span> ~=$$@@$%=· +%$@@@$*x ~*$$*x <span class="b">**</span>
+ <span class="b">++**</span> <span class="b">**+x</span>
+ <span class="b">xx******++</span> <span class="b">=+****+=</span> <span class="b">+x==**==</span> <span class="b">=+**++</span>
+ <span class="b">+=**%%%%%%**++</span> <span class="b">++***%%%%***+++x</span> <span class="b">++==*%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_036.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_036.txt
new file mode 100644
index 0000000..9545578
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_036.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++==****==++++</span>
+ <span class="b">x==***%==oo</span> <span class="b">x+==%***=+</span>
+ <span class="b">xx===*++</span> <span class="b">++**==</span>
+ <span class="b">++**x+</span> ·oxx++xxo· <span class="b">++**++</span>
+ <span class="b">**++</span> o*$@@@@@@@@@@@@@@@@@@$=~ <span class="b">+===</span>
+ <span class="b">**+x</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%~ <span class="b">x+==</span>
+ <span class="b">=*+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">++=+</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+=++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">*=o~</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+++</span>
+ <span class="b">ox==</span> @@$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$~ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> %$$$$$$$$$@ =$@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$o =@@@$$$$@@@$$$$$$$$$$$$$$$@@$@ <span class="b">==</span>
+ <span class="b">==</span> o$$$$$$$$$$$@@*~ %$$$$$ $$ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$@@@@* +@$$@* %@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$@*· +@$$$$@= =$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$@ ~*@@@$$$$$$@@@@@@@@@@@@@@@@@@@$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$@ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$@%xx*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> ~+x+*@@@@@$$$$@@@@%=xx=$@@@@$$$$@@@@@*xx+*@@@@@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$@@@$%+ =%$@@$$*o x*$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">xx******+=</span> <span class="b">x=***==x</span> <span class="b">==**==++</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*==xx</span> <span class="b">++==*%*%%%%*==++</span> <span class="b">++**%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_037.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_037.txt
new file mode 100644
index 0000000..1e29736
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_037.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++=***%%%%***=++++</span>
+ <span class="b">++==*%*%+x</span> <span class="b">x+**%*==++</span>
+ <span class="b">x+**=*+o</span> <span class="b">*=**++</span>
+ <span class="b">++**x</span> ~x==*****=+o· <span class="b">*===</span>
+ <span class="b">**++</span> +%@@@@@@@@@@@@@@@@@@@@$=~ <span class="b">++**xx</span>
+ <span class="b">**+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@@* <span class="b">~o**xx</span>
+ <span class="b">==+o</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·x**</span>
+ <span class="b">++=+</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++++</span>
+ <span class="b">+++o</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">++++</span> $@$$$$$$$$$* o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+++</span>
+ <span class="b">+++·</span> o@$$$$$$$$$@ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$+ x%@@$$$$@@%*=============*$@$· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$@@$+ %$$$$% $= <span class="b">==xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$@@@$x =@$$@= $* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$@x %@$$$$@*· ~$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$@ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@@@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$@ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> *@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~=xx+%@@@@$$$$@@@@@*+xx*@@@@@$$$$@@@@%=xx+%@@@@@@@@o <span class="b">o+++</span>
+ <span class="b">**</span> +%$@@$$*o o*$$@@$%+ +%%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">++**==****xo</span> <span class="b">==****++</span> <span class="b">=+****+=</span> <span class="b">=+**++</span>
+ <span class="b">++</span> <span class="b">x+==*%*%%%%*==++</span> <span class="b">==**%%%%%%**=+</span> <span class="b">+=**%***++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_038.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_038.txt
new file mode 100644
index 0000000..01d7bdf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_038.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++==*%%%%%%%%%%%%*==++</span>
+ <span class="b">++***%++</span> <span class="b">ox**%*==+x</span>
+ <span class="b">x+**+=</span> <span class="b">x+*===</span>
+ <span class="b">====</span> ·x=*%$@@@@@$$%*+~ <span class="b">x+**++</span>
+ <span class="b">**++</span> o*@@@@@@@@$$$$$$$@@@@@@@@%+ <span class="b">==++</span>
+ <span class="b">**+o</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">+=++</span>
+ <span class="b">==+x</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+=++</span>
+ <span class="b">++++</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==+x</span>
+ <span class="b">**</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">·x==</span>
+ <span class="b">++++</span> x@$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">+++x</span>
+ <span class="b">==</span> +@$$$$$$$$$@@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$$$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$@= =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@% <span class="b">++xx</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$@= =@$$$$$@*o~~~~~~~~~~~~~~o%@ <span class="b">x+xx</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$@@@%x @$$$@ ~ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$$$$$$$$@@$*~ @$$$@ x <span class="b">o+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$$$$$o o%@$$$$$@%xxxxxxxxxxxxxxx+$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$$$@+ o*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$ <span class="b">o+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$@@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">xxxx</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> x@@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> *+oox*@@@@@$$$@@@@@*xox=$@@@@$$$@@@@@%+oo+%@@@@@@@x <span class="b">o+++</span>
+ <span class="b">**o·</span> x%$$@$%*o ~=%$$$$%+ +*x <span class="b">**xo</span>
+ <span class="b">xx**~·</span> <span class="b">**++</span>
+ <span class="b">xx**+=****+=</span> <span class="b">++****==</span> <span class="b">x+******xo</span> <span class="b">=+**+x</span>
+ <span class="b">++</span> <span class="b">+=***%%%%%**==</span> <span class="b">++==*%*%%%%*==+x</span> <span class="b">x+==***=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_039.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_039.txt
new file mode 100644
index 0000000..cea0cf6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_039.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++</span>
+ <span class="b">+++=**%$%%******%%$%%*=+++</span>
+ <span class="b">++***%+o</span> <span class="b">x+%=**++</span>
+ <span class="b">++**+=</span> <span class="b">==**++</span>
+ <span class="b">===+</span> ·x*%$@@@@@@@@@@$%*x <span class="b">====</span>
+ <span class="b">**+x</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">++**</span>
+ <span class="b">==+o</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~+**</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">~+==</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">++++</span>
+ <span class="b">==x·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">xx++</span> @@$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">o+++</span>
+ <span class="b">==x·</span> @$$$$$$$$$$@@%=*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">++xx</span>
+ <span class="b">ox==</span> +$$$$$$$$$$$@% ·*@@@@$$$$$$@@@@@@@@@@@@@@@@@@ <span class="b">o+++</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$@$o ~$$$$$$@+ x= <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$@@@$o $$$$@ <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$@@%o $$$$$+ · <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$ =@@$$$$$@@%**************%@$ <span class="b">x==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$* <span class="b">·x==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$+ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">xx++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==+·</span> ~@@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> %*xoox%@@@@@$$@@@@@$+oox=@@@@@$$$@@@@@*xoo+%@@@@@@x <span class="b">~+==</span>
+ <span class="b">**+·</span> +%$$$$%+ o=%$$$%=o +o <span class="b">**xo</span>
+ <span class="b">xx**o~</span> <span class="b">**++</span>
+ <span class="b">xx**+=****==+o</span> <span class="b">~x==**==++</span> <span class="b">==****++</span> <span class="b">=+**+x</span>
+ <span class="b">++xx</span> <span class="b">x+==*%%%%%%*==++</span> <span class="b">x+++**%%%%%*==++</span> <span class="b">++****++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_040.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_040.txt
new file mode 100644
index 0000000..e8bfe57
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_040.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++======++++</span>
+ <span class="b">+=***%=*++++xx++++**%*%*==+x</span>
+ <span class="b">xx==**++</span> <span class="b">o+****++</span>
+ <span class="b">++**x+</span> · <span class="b">*=**</span>
+ <span class="b">===+</span> ·+*$@@@@@@@@@@@@@@@$*+· <span class="b">xx**++</span>
+ <span class="b">**+x</span> ·*@@@@@$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">=*++</span>
+ <span class="b">==+x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@x <span class="b">+=++</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">ox=*</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">x+++</span>
+ <span class="b">==</span> $@$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$@$o ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==x·</span> o@$$$$$$$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$% ~*@@@$$$$$@@@@@@@@@@@@@@@@@@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$@@*~ =$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$@@@@x @$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$@@*~ =$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$* ~=@@@$$$$$@@@@@@@@@@@@@@@@@@o <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$@= ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$@%~ ~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·x==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">+++~</span> @@$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$@@ <span class="b">==</span> <span class="b">x</span>
+ <span class="b">++++</span> =@*o··~+@@@@@@@@@@@@$+~·~x%@@@@@@@@@@@@*o··o=@@@@@x <span class="b">~+==</span>
+ <span class="b">==x~</span> ~=%%$%*+ x*%$%%=~ · <span class="b">**xx</span>
+ <span class="b">x+**x~</span> <span class="b">oo</span> <span class="b">**++</span>
+ <span class="b">x+**+===****+=</span> <span class="b">*=****==xo</span> <span class="b">++==**==++</span> <span class="b">=+**++</span>
+ <span class="b">++++</span> <span class="b">++****%%%***++</span> <span class="b">++==**%%%***+++x</span> <span class="b">++==**++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_041.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_041.txt
new file mode 100644
index 0000000..aa4c748
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_041.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">x+++==******===+++</span>
+ <span class="b">++==****++xo</span> <span class="b">·~++**%***++</span>
+ <span class="b">++****+x</span> <span class="b">==%*++</span>
+ <span class="b">++*=ox</span> ~ox+++xx~ <span class="b">++**++</span>
+ <span class="b">**++</span> o*$@@@@@@@@@@@@@@@@@@%=~ <span class="b">====</span>
+ <span class="b">=*+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">x+**</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">~+**</span>
+ <span class="b">++=+</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">x+==</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">+=++</span>
+ <span class="b">++++</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">**</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">xx==</span> o@$$$$$$$$$$$$$% ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$ ·=@@@@$$$$$$$$$$@@@@@@@@@@@@$@ <span class="b">==</span>
+ <span class="b">+++·</span> +$$$$$$$$$$$$$$$· ~*@@$$$$$@@@%%%%%%%%%%%%%%= <span class="b">==xo</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$@@=~ $$$$$% <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$@@@@= *@$$@x <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$@= =@$$$$$x <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++·</span> x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">o+++</span>
+ <span class="b">==+·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">+++o</span> @@$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$@@ <span class="b">==xo</span>
+ <span class="b">xx==</span> x@@+~ ·x$@@@@@@@@@@@*o o*@@@@@@@@@@@$+~ ·+$@@$o <span class="b">~+==</span>
+ <span class="b">==+o</span> +*%%*=o o=*%%*x <span class="b">*=+x</span>
+ <span class="b">ox**+o</span> <span class="b">++</span> <span class="b">x+</span> <span class="b">o~**++</span>
+ <span class="b">xx**===+****==+=</span> <span class="b">++*=****+=</span> <span class="b">o+*=****==++*=**++</span>
+ <span class="b">++++xx</span> <span class="b">x+==********==+x</span> <span class="b">++********==++</span> <span class="b">++==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_042.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_042.txt
new file mode 100644
index 0000000..96715cf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_042.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx===***%%%%%%%%***=++</span>
+ <span class="b">++**=%=+</span> <span class="b">·o==%*==++</span>
+ <span class="b">++**+=</span> <span class="b">*=**++</span>
+ <span class="b">====</span> o+=*%$$$$%*=+o <span class="b">=+**</span>
+ <span class="b">**++</span> ~=$@@@@@@@@@@@@@@@@@@@@@%+ <span class="b">o**++</span>
+ <span class="b">==+x</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">==++</span>
+ <span class="b">++++</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">xx==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">*=xo</span>
+ <span class="b">==+·</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">·x==</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">ox==</span> x@$$$$$$$$$$$$$$@ =$@@@$$$$$$$$@@@@@@@@@@@@@@ <span class="b">++x+</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$* =@@$$$$@@*+++++++++++++ <span class="b">~+++</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$@@@*x *@$$$% <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$@@@*o =@$$$* <span class="b">·+==</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$~ o$@$$$$@$x············· <span class="b">·+==</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$@ o*@@@@$$$$$$$@@@@@@@@@@@@@@* <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$~ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++o</span> ·@$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">·+++</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">++++</span> *@@$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@@@@$@@@ <span class="b">==xx</span>
+ <span class="b">ox==</span> %@@=~ x$@@@@@@@@@@%x ~*@@@@@@@@@@@=· x$$~ <span class="b">~+==</span>
+ <span class="b">==++</span> o+==x~ ~x+=+o <span class="b">*=xx</span>
+ <span class="b">ox**++</span> <span class="b">==</span> <span class="b">==</span> <span class="b">==</span> <span class="b">xo**++</span>
+ <span class="b">xx==**+=*=****==+=</span> <span class="b">·x*=******+=x~</span> <span class="b">*=******+===**++</span>
+ <span class="b">x++=++</span> <span class="b">++==********++xx</span> <span class="b">xx++********++++</span> <span class="b">++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_043.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_043.txt
new file mode 100644
index 0000000..849ab37
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_043.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++==***%*%%%%%%%%%**=+++</span>
+ <span class="b">++**=*+x</span> <span class="b">o+**%*==</span>
+ <span class="b">++**+=</span> <span class="b">x+**=+</span>
+ <span class="b">===+</span> o+*%$@@@@@@@$%=+~ <span class="b">++**+x</span>
+ <span class="b">=*=x</span> o*@@@@@@@$$$$$$$$$@@@@@@@%+ <span class="b">+=++</span>
+ <span class="b">==+x</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+==</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">x+==</span>
+ <span class="b">xx==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">+=++</span>
+ <span class="b">==+~</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">*=xo</span>
+ <span class="b">ox==</span> $@$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">+++x</span> $@$$$$$$$$$$$$$$@@@%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x</span> =@$$$$$$$$$$$$$$$% +$@@@@$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@= <span class="b">·x==</span>
+ <span class="b">==</span> o$$$$$$$$$$$$$$$$$@= =@$$$$$@*~···········~ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$@@@$+ @$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$@@$=~ @$$$@· <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$o o%@$$$$$@$+xxxxxxxxxxx+ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$@= o%@@@@$$$$$$$@@@@@@@@@@@@@@ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx+x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">·x==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">++++</span> o@@$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@@@@@@$ <span class="b">==xx</span>
+ <span class="b">xx==</span> =@@@+ =@@@@@@@@@@%o x$@@@@@@@@@@+ ·= <span class="b">~x==</span>
+ <span class="b">===+</span> ~xxo ·oxo· <span class="b">·o**xx</span>
+ <span class="b">===+</span> <span class="b">=*=+</span> <span class="b">+=*=</span> <span class="b">x+==</span> <span class="b">xx**++</span>
+ <span class="b">==**=**=**==**=*+=</span> <span class="b">·o=+*=****===*x~</span> <span class="b">+=*=**==***=**++</span>
+ <span class="b">++++++++</span> <span class="b">++==******==++</span> <span class="b">++==******==++</span> <span class="b">x+++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_044.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_044.txt
new file mode 100644
index 0000000..5ebc901
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_044.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++</span>
+ <span class="b">++***%*%*%****%%%%$%**==</span>
+ <span class="b">x+==**+=</span> <span class="b">x+%%%*++</span>
+ <span class="b">++**x+</span> <span class="b">=***++</span>
+ <span class="b">===+</span> ~+%$@@@@@@@@@@@@$*+· <span class="b">*===</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$@@@@@@$=· <span class="b">xx**xx</span>
+ <span class="b">===+</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**+x</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o <span class="b">**xo</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x**</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">++++</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">xx==</span> ~@$$$$$$$$$$$$$$$$$@$=+%@@@@$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$@ x%@@@@$$$$$$$$$$$$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==+·</span> +$$$$$$$$$$$$$$$$$$@ x%@@@$$$$$$@@@@@@@@@@@@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$@= =@$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$@@@@= +@$$@* <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$@@%x %$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$x +$@@$$$$@@$%%%%%%%%%%* <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$@ x$@@@@$$$$$$$$$@@@@@@@@@@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$% +%@@@@$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">x+==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">+++o</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">~+++</span>
+ <span class="b">xx+=</span> $@@$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@% <span class="b">++xx</span>
+ <span class="b">ox==x·</span> ·%@@@%o ~%@@@@@@@@$+ =@@@@@@@@@*~ <span class="b">o+==</span>
+ <span class="b">+++=</span> <span class="b">~x**xo</span>
+ <span class="b">====~o</span> <span class="b">**==</span> <span class="b">=***</span> <span class="b">+=%%x+++**++</span>
+ <span class="b">++**===*%=**====**=*++++==*=**====**=*==++++%**=**==**==++</span>
+ <span class="b">++++==++++</span> <span class="b">++++****==++++</span> <span class="b">x+++==***=+++x</span> <span class="b">xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_045.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_045.txt
new file mode 100644
index 0000000..5ad22dd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_045.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++xx</span>
+ <span class="b">x+==***%****======%%%%%%==++</span>
+ <span class="b">xx=**=++</span> <span class="b">**%*++</span>
+ <span class="b">++**xx</span> <span class="b">x+%*++</span>
+ <span class="b">===+</span> x*$@@@@@@@@@@@@@@$*+· <span class="b">++**+x</span>
+ <span class="b">===+</span> =$@@@@@$$$$$$$$$$$$$$$@@@@@$+ <span class="b">**++</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">==++</span>
+ <span class="b">x+==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">==x·</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">**xo</span>
+ <span class="b">x+++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">·+==</span>
+ <span class="b">==+·</span> @$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">xx++</span> %$$$$$$$$$$$$$$$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$ o%@@@$$$$$$@@@@@@@@@@@ <span class="b">++++</span>
+ <span class="b">+++·</span> x$$$$$$$$$$$$$$$$$$$$$@= =@$$$$$o <span class="b">++++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$@@@@= %@$$@o <span class="b">x+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$@$= $$$$$% <span class="b">x+++</span>
+ <span class="b">==+·</span> =@$$$$$$$$$$$$$$$$$$$$ o%@@$$$$$@@@$$$$$$$$$ <span class="b">xx++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$@$ o*@@@@$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++++</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+xo</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">xx++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> *@$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@@@@ <span class="b">~+==</span>
+ <span class="b">++==</span> *@@@$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@$$$$$$$$@@@@$%$* <span class="b">=+xx</span>
+ <span class="b">==+~</span> +$@@@%o ~*@@@@@@@$= +$@@@@@@@*o <span class="b">o+==</span>
+ <span class="b">++==o</span> <span class="b">x+*=xx</span>
+ <span class="b">====x+</span> <span class="b">++%%==</span> <span class="b">ox***=</span> <span class="b">****+=**++</span>
+ <span class="b">++**=*=****=**++==**=%****%*%***++==**=*=***%%%***======+x</span>
+ <span class="b">++++++++</span> <span class="b">++++======++</span> <span class="b">x+++======++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_046.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_046.txt
new file mode 100644
index 0000000..be79841
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_046.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++====++++xx</span>
+ <span class="b">x+==***%=*=+xooox+==%%%*%*==</span>
+ <span class="b">xx**==+x</span> <span class="b">x+%*==+x</span>
+ <span class="b">++**ox</span> ···· <span class="b">%===</span>
+ <span class="b">===+</span> ·+%@@@@@@@@@@@@@@@@$%+· <span class="b">x**++</span>
+ <span class="b">==++</span> *@@@@@$$$$$$$$$$$$$$$$$@@@@@%+ <span class="b">+===</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">++==</span>
+ <span class="b">ox==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">x+==</span>
+ <span class="b">==+~</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">+=++</span>
+ <span class="b">ox==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">*=</span>
+ <span class="b">+++o</span> $@$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$@% <span class="b">o+++</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$@$o ·=$@@@$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$@% =$@@@$$$$$$$$$$$$$$$$% <span class="b">++x+</span>
+ <span class="b">x+++</span> %$$$$$$$$$$$$$$$$$$$$$$$ =$@@$$$$$@@@@@@@@@ <span class="b">o+++</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$@@%o x$$$$$% <span class="b">·+++</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ $$$$@ <span class="b">·x==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$@@%o x$$$$$% <span class="b">·x==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$ =$@@$$$$$@@@@@@@@@% <span class="b">·+==</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$@% =@@@@$$$$$$$$$$$$$$$$$= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$@$o ~=$@@@$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·x==</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">ox++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">ox==</span> x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx==</span> @$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@@@$$$@@@@@*+x+*@@@@$$$$$@@@@%=+x=$@@@@$$$$@@@@@*x <span class="b">==++</span>
+ <span class="b">==++</span> x%$@@$=o x%$@@@$%x ~=$@@@@$=~ <span class="b">++==</span>
+ <span class="b">++==+o</span> <span class="b">x+==+x</span>
+ <span class="b">++==++</span> <span class="b">++****++</span> <span class="b">++*=*=++</span> <span class="b">x*=**==xx</span>
+ <span class="b">++==*****%%%%***++++*****%%%%**=**++++==***%*%%*****==++</span>
+ <span class="b">++++++++++</span> <span class="b">xx++++++++++xx</span> <span class="b">++++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_047.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_047.txt
new file mode 100644
index 0000000..8dfb797
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_047.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++========++++</span>
+ <span class="b">++==**=*==+x~····~x+**%%%%*=+x</span>
+ <span class="b">++**==xx</span> <span class="b">·x%*%*++</span>
+ <span class="b">++==~o</span> ~~ooo~· <span class="b">*=**+x</span>
+ <span class="b">===+</span> ~=$@@@@@@@@@@@@@@@@@$*x <span class="b">*==+</span>
+ <span class="b">===+</span> *@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">++**</span>
+ <span class="b">++=+</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">ox**</span>
+ <span class="b">ox==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">~+*=</span>
+ <span class="b">==+o</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">x+++</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==+x</span>
+ <span class="b">++++</span> *@$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@ <span class="b">·+==</span>
+ <span class="b">==x·</span> x@$$$$$$$$$$$$$$$$$$$$$$$%~ x%@@@@$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$ x%@@@@$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">o</span> <span class="b">==</span> x$$$$$$$$$$$$$$$$$$$$$$$$$ x%@@$$$$$@@@$$$$= <span class="b">·+==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$@$+ ·$$$$$% <span class="b">==</span>
+ <span class="b">ox++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= %@$$@o <span class="b">==</span>
+ <span class="b">ox++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$@*~ +@$$$$$~ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$ ~*@@@$$$$$$@@@@@@@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$@+~o=@@@@$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">o</span> <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">x+++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o <span class="b">~+++</span>
+ <span class="b">==x·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">+++x</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">++xo</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> @@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$@@$ <span class="b">~+==</span>
+ <span class="b">ox==</span> +$@@@@@@@@@@@%+~ o*@@@@@@@@@@@@=o ~+$@@@@@@@@@@%· <span class="b">==++</span>
+ <span class="b">==++</span> ~+*%%%=x x=%%%*+~ ~+*%%=x <span class="b">+===</span>
+ <span class="b">++==++</span> <span class="b">xo</span> <span class="b">xx</span> <span class="b">+===xx</span>
+ <span class="b">++====++</span> <span class="b">======++ox</span> <span class="b">=+**====++</span> <span class="b">=+====+x</span>
+ <span class="b">++++=***********==++++==**=**%******++++==**=*********++</span>
+ <span class="b">++++++++++</span> <span class="b">++++++++++</span> <span class="b">++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_048.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_048.txt
new file mode 100644
index 0000000..74a3df8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_048.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++======**====++</span>
+ <span class="b">++****=*++o~</span> <span class="b">·~++%*$%**++</span>
+ <span class="b">x+**+=</span> <span class="b">**%*++</span>
+ <span class="b">====</span> ~oxxxxxo~ <span class="b">++**++</span>
+ <span class="b">===+</span> o*$@@@@@@@@@@@@@@@@@@%=~ <span class="b">====</span>
+ <span class="b">===+</span> *@@@@$$$$$$$$$$$$$$$$$$$@@@@@%x <span class="b">xx**xo</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">**xx</span>
+ <span class="b">**</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">**</span>
+ <span class="b">+++x</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·+==</span>
+ <span class="b">=*</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">++++</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$@+ <span class="b">**</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$x +$@@@@$$$$$$$$$$$$@= <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$@· x$@@@@$$$$$$$$$@~ <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$* x$@@$$$$$@@$$ <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x +$$$$$o <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o @$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o ·$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$@x =$@@@$$$$$@@@@ <span class="b">==</span>
+ <span class="b">xx==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$@x =$@@@$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$@$+x=$@@@$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o <span class="b">==</span>
+ <span class="b">xx++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+x+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">ox==</span> *@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$@@% <span class="b">~+==</span>
+ <span class="b">==+~</span> +@@@@@@@@@@%x ~%@@@@@@@@@@= =@@@@@$+ <span class="b">==++</span>
+ <span class="b">====</span> ~ooo ·ooo~ <span class="b">+===</span>
+ <span class="b">xx==++·~+==+</span> <span class="b">+=**</span> <span class="b">o+**</span> <span class="b">xo====</span>
+ <span class="b">++==========+=</span> <span class="b">~</span> <span class="b">~x==*=======+=xo</span> <span class="b">++%=======+=++==*=====</span>
+ <span class="b">x+++++++==**********==++++====********==++++++==****==++</span>
+ <span class="b">++++++++</span> <span class="b">xx+++++xxx</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_049.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_049.txt
new file mode 100644
index 0000000..a8e97f2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_049.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====*****=**=+++</span>
+ <span class="b">++***%==++</span> <span class="b">··x+**$%**++</span>
+ <span class="b">++**+=</span> <span class="b">=*%*++</span>
+ <span class="b">====</span> ·ox+++++xo· <span class="b">x+**++</span>
+ <span class="b">===+</span> x*@@@@@@@@@@@@@@@@@@@$=o <span class="b">*+==</span>
+ <span class="b">===+</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">xx**xx</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">**+x</span>
+ <span class="b">**</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">**xo</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·x**</span>
+ <span class="b">**</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">++++</span>
+ <span class="b">xx++</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% +$@@@$$$$$$$$$$@% <span class="b">+++x</span>
+ <span class="b">==</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ +$@@@@$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x +$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@%o %$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@* o@$$@% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@=· +@$$$$@* <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o%@@@$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ o*@@@@$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">o</span> <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%++*@@@@$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">x+==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">+++x</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==</span> <span class="b">o</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">·x==</span>
+ <span class="b">+++~</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==</span> ~@@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$@@@+ <span class="b">o+==</span>
+ <span class="b">==+x</span> o =@@@@@@@@@*· o$@@@@@@@@$x *@*~ <span class="b">==xx</span>
+ <span class="b">+++=x·</span> <span class="b">==+=</span>
+ <span class="b">oo====xo</span> <span class="b">x+%%+x</span> <span class="b">%%=+</span> <span class="b">%*%*</span> <span class="b">++====</span>
+ <span class="b">++============+==*++++*=%*=======*+=++++==**=========*%=*=++</span>
+ <span class="b">++==++xx++====******==++</span> <span class="b">++====******==++xx++====++++</span>
+ <span class="b">++++</span> <span class="b">++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_050.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_050.txt
new file mode 100644
index 0000000..3151bf4
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_050.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++===*******===+++</span>
+ <span class="b">++****=*+x</span> <span class="b">o+**%**=++</span>
+ <span class="b">++**++</span> <span class="b">+=$*==</span>
+ <span class="b">====</span> ~o++===++o~ <span class="b">o+%*++</span>
+ <span class="b">==++</span> x%@@@@@@@@@@@@@@@@@@@$*x <span class="b">=+**</span>
+ <span class="b">===+</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">o**+x</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">**xx</span>
+ <span class="b">**</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">**xo</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">·o**</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+++</span>
+ <span class="b">xx++</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@% <span class="b">*=</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* +$@@@$$$$$@$ <span class="b">+++x</span>
+ <span class="b">==</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ +$@@@$$@= <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ +$@$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@%o $$· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ *@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ *@@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +$@@@$@· <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +$@@@@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@%+=$@@@@$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">+++x</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==xo</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">x==</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @@$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@@@% <span class="b">==</span>
+ <span class="b">==x·</span> $@@@$@@@@$***%@@@$$$$$$$@@@@%***@@@@$$$$$$@@@@$***%· <span class="b">x+==</span>
+ <span class="b">==++</span> +$@%+ =$@@@@@$*o x%@@@@@@%+ <span class="b">·x==xx</span>
+ <span class="b">+++++x</span> <span class="b">xx==++</span>
+ <span class="b">==+=++</span> <span class="b">==**=+</span> <span class="b">+=%**=</span> <span class="b">x+***==+==++</span>
+ <span class="b">=======*%**==========*****%**==========*******%**=======++</span>
+ <span class="b">++++====++</span> <span class="b">++++========++xx</span> <span class="b">xx++========++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_051.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_051.txt
new file mode 100644
index 0000000..bdf577d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_051.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">x++===*******===+++</span>
+ <span class="b">++**=*==+x</span> <span class="b">o+**%**=++</span>
+ <span class="b">++**+=</span> <span class="b">==%*++</span>
+ <span class="b">===+</span> ~x+=====+x~ <span class="b">x=**++</span>
+ <span class="b">**+x</span> +%@@@@@@@@@@@@@@@@@@@$*x <span class="b">=+==</span>
+ <span class="b">===x</span> o$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">ox**xx</span>
+ <span class="b">++=+</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">**xx</span>
+ <span class="b">oo==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">**</span>
+ <span class="b">==+o</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·+==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">++++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@@$$$$@+ <span class="b">==</span>
+ <span class="b">==x·</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x ·=@@@@$@= <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* ·=@@@~ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ·* <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@*~ <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% =$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% =@@@@$$ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@*+=$@@@$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">+++x</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">·+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= <span class="b">**</span>
+ <span class="b">==+·</span> =@@@@$$$$@@@@@*+xx=$@@@@$$$$@@@@%=xx+%@@@@$$$$@@@@* <span class="b">++++</span>
+ <span class="b">==++</span> +%$@@@%=o o*$@@@$*+ +%$@@$*+ <span class="b">o+==xo</span>
+ <span class="b">++++++</span> <span class="b">++==++</span>
+ <span class="b">====*=x+</span> <span class="b">++**==++</span> <span class="b">x+*===++</span> <span class="b">x+====++</span>
+ <span class="b">++=====***%%***=**+++======*%%%*****==++====*%*%%**=**==++</span>
+ <span class="b">++++====++++xx</span> <span class="b">+++++===++++++</span> <span class="b">++++++==++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_052.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_052.txt
new file mode 100644
index 0000000..22bc6ae
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_052.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++===*******===+++</span>
+ <span class="b">+=***%==x~</span> <span class="b">o+**$%*=++</span>
+ <span class="b">+=**++</span> <span class="b">**%*++</span>
+ <span class="b">x+**++</span> ·ox+====+xo~ <span class="b">==**+x</span>
+ <span class="b">xx**xo</span> o*@@@@@@@@@@@@@@@@@@@@%=~ <span class="b">==++</span>
+ <span class="b">xx**x·</span> *@@@@$$$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">++*=</span>
+ <span class="b">==+o</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+**</span>
+ <span class="b">++++</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">~+==</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++++</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==+·</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@@ <span class="b">o+++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· x <span class="b">==</span>
+ <span class="b">ox++</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">x+++</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$=· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@*· <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@*· <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@=+*@@~ <span class="b">o+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$$ <span class="b">o+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">o</span> <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$@@@ <span class="b">·x==</span>
+ <span class="b">==+·</span> x@@@*o o%@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@$~ <span class="b">==++</span>
+ <span class="b">==++</span> x=***=o o+***=+· <span class="b">++==</span>
+ <span class="b">x+===+</span> <span class="b">++</span> <span class="b">ox</span> <span class="b">~x</span> <span class="b">+===xx</span>
+ <span class="b">++====x+==*====+++</span> <span class="b">++*=====++</span> <span class="b">x+*=*===++*+====xx</span>
+ <span class="b">++==****++++==************++++++=*******%***==++++==**++</span>
+ <span class="b">++</span> <span class="b">++++++++++xx</span> <span class="b">++++++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_053.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_053.txt
new file mode 100644
index 0000000..a49bc03
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_053.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==*********==+xx</span>
+ <span class="b">x+==**=*+=o~</span> <span class="b">··++%*%%*=++</span>
+ <span class="b">==**++</span> <span class="b">%***++</span>
+ <span class="b">x+**++</span> ~o++====+x~ <span class="b">*+**</span> <span class="b">x</span>
+ <span class="b">++**</span> +%@@@@@@@@@@@@@@@@@@@@*x <span class="b">**++</span>
+ <span class="b">++=*</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">+=++</span>
+ <span class="b">ox**o</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+=++</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">xx==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·x==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">==x·</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$o <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==</span> <span class="b">o</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">ox==</span> $@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@% <span class="b">~+==</span>
+ <span class="b">==x·</span> o$@@@@@@@$+ +@@@@@@@@@@@%o o%@@@@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">==++</span> ·x+o ·x+=+x· o+==+o <span class="b">+===</span>
+ <span class="b">xx===+</span> <span class="b">==</span> <span class="b">++</span> <span class="b">o+=++===</span>
+ <span class="b">++====+=xo</span> <span class="b">~x*===**==+=xo</span> <span class="b">++****==+=+x</span> <span class="b">++*=**====</span>
+ <span class="b">xx++=*********++++++=***********++++++==**********==++xx</span>
+ <span class="b">++xx++</span> <span class="b">xx++++xx</span> <span class="b">xx++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_054.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_054.txt
new file mode 100644
index 0000000..ffc240e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_054.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====******====++</span>
+ <span class="b">x+==**=*++o·</span> <span class="b">~x==%*%*==</span>
+ <span class="b">++**=*+x</span> <span class="b">++%===</span>
+ <span class="b">++**xx</span> ~x++==++o~ <span class="b">o+**++</span>
+ <span class="b">===+</span> o*$@@@@@@@@@@@@@@@@@@@*x <span class="b">=+**</span>
+ <span class="b">===+</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">oo**xx</span>
+ <span class="b">++=+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">**xx</span>
+ <span class="b">xx==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">·~**</span>
+ <span class="b">==+~</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">o+==</span>
+ <span class="b">xx==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xx</span>
+ <span class="b">+++o</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">+++x</span>
+ <span class="b">++++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·x==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·x==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">++xx</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">xx==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·x==</span>
+ <span class="b">xx==</span> @@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$@@@~ <span class="b">++++</span>
+ <span class="b">ox==x</span> =@@@@@@@@@@%~ ~%@@@@@@@@@$+ =@@@@%~ <span class="b">·x==</span>
+ <span class="b">==++</span> ~oo~ ·ooo· <span class="b">==++</span>
+ <span class="b">xx===+</span> <span class="b">%%</span> <span class="b">%%</span> <span class="b">**=+</span> <span class="b">+x==++</span>
+ <span class="b">ox====**====+*+x</span> <span class="b">++*=**===*=*++</span> <span class="b">xx**==**=*==+=+=*=**++</span>
+ <span class="b">++xx</span> <span class="b">++==********==++</span> <span class="b">++==********==++</span> <span class="b">++++****++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_055.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_055.txt
new file mode 100644
index 0000000..f233e3e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_055.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++=====*****====++</span>
+ <span class="b">++***%=*=+o·</span> <span class="b">x+**%%**=+</span>
+ <span class="b">++**+*</span> <span class="b">==**=+</span>
+ <span class="b">====</span> ·~ox+++xo~ <span class="b">++**++</span>
+ <span class="b">xx**++</span> +%@@@@@@@@@@@@@@@@@@@%+· <span class="b">=*==</span>
+ <span class="b">ox**xo</span> +$@@@@$$$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">++*=</span>
+ <span class="b">=*+o</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">++xx</span>
+ <span class="b">+x++</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+x++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">·+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">x+++</span>
+ <span class="b">++++</span> ·@@$$@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@@% <span class="b">==++</span>
+ <span class="b">xx==</span> x$$= ~%@@@@@@@@@%~ =@@@@@@@@@$+ o= <span class="b">o+==</span>
+ <span class="b">==++</span> ·· ·· <span class="b">·x==xx</span>
+ <span class="b">ox===+</span> <span class="b">%*+x</span> <span class="b">%%=+</span> <span class="b">****</span> <span class="b">++**++</span>
+ <span class="b">x==**=**=**==**+*++xxxx++%***==**=*=*xxoo++%=***=======**++</span>
+ <span class="b">xx++++xx</span> <span class="b">xx++********++xx</span> <span class="b">++==******==++</span> <span class="b">++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_056.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_056.txt
new file mode 100644
index 0000000..60a5299
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_056.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++====**====++++</span>
+ <span class="b">++***%=*==o~</span> <span class="b">·</span> <span class="b">o+*=%%%*==++</span>
+ <span class="b">++**==</span> <span class="b">x+%***++</span>
+ <span class="b">++**++</span> ~ooooo~· <span class="b">**==</span>
+ <span class="b">++**o</span> o=$@@@@@@@@@@@@@@@@@@*x <span class="b">++**++</span>
+ <span class="b">++==</span> o%@@@@$$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">**++</span>
+ <span class="b">++==</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">**++</span>
+ <span class="b">ox=*</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">·o**</span>
+ <span class="b">==+o</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">x+==</span>
+ <span class="b">xx==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xx</span>
+ <span class="b">==+o</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xx</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+·</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==xo</span>
+ <span class="b">+++x</span> =@@$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@$~ <span class="b">==</span>
+ <span class="b">xx==</span> +$@@@@@$+ =@@@@@@@@@*· o%@@@@@@@@$+ <span class="b">++++</span>
+ <span class="b">===+</span> <span class="b">x+==</span>
+ <span class="b">===+</span> <span class="b">**%%</span> <span class="b">++%%+x</span> <span class="b">x+%%=+**xx</span>
+ <span class="b">++**+*++++*=**====**=*=+++++***=**++**=*==++++==%=**++=+</span>
+ <span class="b">xx++=====+xx</span> <span class="b">xx++======++++</span> <span class="b">++========++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_057.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_057.txt
new file mode 100644
index 0000000..ce6e787
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_057.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx+++===========++xx</span>
+ <span class="b">++++***%=*==xx~~~~ox==******+++x</span>
+ <span class="b">xx==**==</span> <span class="b">++**==xx</span>
+ <span class="b">++**++</span> ·~~~~· <span class="b">++**++</span>
+ <span class="b">====</span> x*$@@@@@@@@@@@@@@@@@*+ <span class="b">==*=</span>
+ <span class="b">===+</span> =$@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">++**</span>
+ <span class="b">===+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">xx==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xx</span>
+ <span class="b">+++x</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·+==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">xx++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==+·</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">=*</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@$ <span class="b">·x==</span>
+ <span class="b">++==</span> o%@@@@@@@@%o *@@@@@@@@$= x%@@@@@@@$= <span class="b">++++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====xx</span> <span class="b">++%%=+</span> <span class="b">%%==</span> <span class="b">+===</span>
+ <span class="b">++**=*==++++=**=**++=*****++++==%=**++==***%++++==%***++</span>
+ <span class="b">++=======+++</span> <span class="b">++++=====+++</span> <span class="b">xx++++==++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_058.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_058.txt
new file mode 100644
index 0000000..76dd600
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_058.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++====++++++</span>
+ <span class="b">++==**%%*%**==++++==**%*****++</span>
+ <span class="b">++***%==</span> <span class="b">x+*=**++</span>
+ <span class="b">==**++</span> <span class="b">==**++</span>
+ <span class="b">xx**++</span> x*$@@@@@@@@@@@@@@@%=o <span class="b">x+**++</span>
+ <span class="b">++**xx</span> ~*@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">~==++</span>
+ <span class="b">xx**o~</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">=*+~</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">·x*=xx</span>
+ <span class="b">++++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+==</span>
+ <span class="b">x+==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">==xx</span>
+ <span class="b">+++x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x+++</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xx</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">+++~</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++o</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">==</span> $$$$@@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$@@@+ <span class="b">x+++</span>
+ <span class="b">++++</span> +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@%o <span class="b">==+x</span>
+ <span class="b">==++</span> <span class="b">+=++</span>
+ <span class="b">===+=*%%</span> <span class="b">==%%++</span> <span class="b">++%%*=</span> <span class="b">x~====</span>
+ <span class="b">++++++**=%**++==%***==++==*%**++++**%***++==***%***=**++</span>
+ <span class="b">x+++==++++</span> <span class="b">++++++==+++x</span> <span class="b">+++++x</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_059.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_059.txt
new file mode 100644
index 0000000..c2adc0c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_059.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++++++</span>
+ <span class="b">++==***%%%************%***==++</span>
+ <span class="b">++***%==</span> <span class="b">=+****++</span>
+ <span class="b">xx====++</span> <span class="b">++====xx</span>
+ <span class="b">++**++</span> x=%@@@@@@@@@@@@@$%+o <span class="b">+=**xx</span>
+ <span class="b">++**oo</span> o%@@@@@@$$$$$$$$$$$$$$@@@@@$= <span class="b">x+*=+x</span>
+ <span class="b">++==</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">x+==xx</span>
+ <span class="b">x+==</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">++==</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==+x</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==+x</span>
+ <span class="b">++++</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $%%%$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++~</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++o</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">·+++</span>
+ <span class="b">xx++</span> *@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> x@@@$$$@@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$@@@· <span class="b">++++</span>
+ <span class="b">++++</span> +$@@@@@@@$= ~*@@@@@@@@%~ +$@%~ <span class="b">==</span>
+ <span class="b">==+x</span> <span class="b">==++</span>
+ <span class="b">===+o</span> <span class="b">==%%+o</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">xo=*++</span>
+ <span class="b">++**++++***%**====%***==++==***%====**%***++++**%%%***++</span>
+ <span class="b">++++==++</span> <span class="b">++++++++++</span> <span class="b">++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_060.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_060.txt
new file mode 100644
index 0000000..f28078a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_060.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++++</span>
+ <span class="b">++++****%%%%%%%%%%%%%*****++xx</span>
+ <span class="b">++***%**+x</span> <span class="b">+=*=**==+x</span>
+ <span class="b">x+**=*++</span> <span class="b">==**++</span>
+ <span class="b">++**+=</span> ·x=%$@@@@@@@@@$%=o <span class="b">xx====</span>
+ <span class="b">====</span> o*@@@@@@@$$$$$$$$$$$@@@@@@%x <span class="b">====</span>
+ <span class="b">==*=</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">==++</span>
+ <span class="b">ox==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">o+==</span>
+ <span class="b">==+o</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+++</span>
+ <span class="b">x+==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">~+==</span>
+ <span class="b">==+o</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">++++</span>
+ <span class="b">xx==</span> x@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">xx++</span> ~%@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">·+==</span>
+ <span class="b">++++</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> ============*@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">+++x</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==+·</span> *$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+xx</span>
+ <span class="b">+++x</span> @@$$$$$$@@$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">ox==</span> =@@@@@@$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$$@@@$$$@@@@@$ <span class="b">==xo</span>
+ <span class="b">+++x</span> ~*· =$@@@@@@@%x o%@@@@@@@@* = <span class="b">·x==</span>
+ <span class="b">**+o</span> <span class="b">==++</span>
+ <span class="b">==+=</span> <span class="b">++%$=*</span> <span class="b">%%**</span> <span class="b">**%%</span> <span class="b">xo**++</span>
+ <span class="b">++****==++++***%====***=**++++***%**==**%=**++++****==xx</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_061.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_061.txt
new file mode 100644
index 0000000..c33681c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_061.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++++</span>
+ <span class="b">++++*****%*%%%%%%*%%****==++</span>
+ <span class="b">++=****%++</span> <span class="b">x+*===**++</span>
+ <span class="b">x+==**=*</span> <span class="b">=+====++</span>
+ <span class="b">++**+=</span> ~x=*%$$@@@$$%=+~ <span class="b">++==++</span>
+ <span class="b">====oo</span> =%@@@@@@@@$$$$$$@@@@@@@@%+ <span class="b">ox==++</span>
+ <span class="b">==*=</span> +$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%· <span class="b">·x==++</span>
+ <span class="b">++==</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">o+==xx</span>
+ <span class="b">x+==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">+===</span>
+ <span class="b">==+~</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==+·</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">ox==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">xx++</span> %@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">++xx</span> *ooooooooooooooo=@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> =ooooooooooooooo=@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">~+++</span>
+ <span class="b">+++o</span> @@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">+++o</span> @@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$@@ <span class="b">++++</span>
+ <span class="b">ox==</span> *@@@$@@@$$$@@@@$$$$$$$$@@@@$$@@@@@$$$$$$$@@@@$$$@@@$ <span class="b">==xo</span>
+ <span class="b">==+x</span> o%$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">·+==</span>
+ <span class="b">**+o</span> <span class="b">==xx</span>
+ <span class="b">==+=</span> <span class="b">++%%=+</span> <span class="b">++%**=</span> <span class="b">%%*%</span> <span class="b">oo**++</span>
+ <span class="b">++***%**++xx+=***%====*=**==++++***%====***=**++++**==+x</span>
+ <span class="b">++++++++</span> <span class="b">++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_062.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_062.txt
new file mode 100644
index 0000000..b8e23eb
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_062.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++</span>
+ <span class="b">xx++==*******%%*******==++++</span>
+ <span class="b">++==**=***++</span> <span class="b">·</span> <span class="b">++==*=**==++</span>
+ <span class="b">++==**=%+o</span> <span class="b">ox=+====++</span>
+ <span class="b">++**==</span> ~ox+====++o· <span class="b">xo+===++</span>
+ <span class="b">++==++</span> ·+%@@@@@@@@@@@@@@@@@@@@*x <span class="b">+===++</span>
+ <span class="b">====~</span> *@@@@@$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">++==++</span>
+ <span class="b">++==</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==xo</span>
+ <span class="b">++==o·</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==++</span>
+ <span class="b">==+x</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">·x==xx</span>
+ <span class="b">++==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">==+~</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·x==</span>
+ <span class="b">ox==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">++++</span> *$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">++++</span>
+ <span class="b">+++x</span> @$$@@%**************%@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++~</span> ·$$$* ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$@~ @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$@+ ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">ox++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">+++~</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">ox==</span> %@@@$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@@$$$$$$$$@@@@$$@$ <span class="b">==xo</span>
+ <span class="b">==+o</span> x%@@@%~ ·*@@@@@@@@$+ x%@@@@@@@@*· <span class="b">·+==</span>
+ <span class="b">**xo</span> <span class="b">==xx</span>
+ <span class="b">==+=</span> <span class="b">++%%*=</span> <span class="b">%%**</span> <span class="b">**%%+o**++</span>
+ <span class="b">++***%*=%*==++++***%==++***=**++++***%==++==%***++x++++x</span>
+ <span class="b">++</span> <span class="b">++++++++</span> <span class="b">++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_063.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_063.txt
new file mode 100644
index 0000000..e3eb943
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_063.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xxxxxxxx</span>
+ <span class="b">++++==**************==++++</span>
+ <span class="b">++++*****%==++xx</span> <span class="b">oo++==%*==**==++</span>
+ <span class="b">++**=*==</span> <span class="b">++======xx</span>
+ <span class="b">++===*++</span> ~oooo~ <span class="b">++====++</span>
+ <span class="b">++==+=</span> ~+%@@@@@@@@@@@@@@@@@$*x <span class="b">+===++</span>
+ <span class="b">++==xx</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">+===++</span>
+ <span class="b">++==o~</span> x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">+===</span>
+ <span class="b">xx==+~</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==++</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">~+==xo</span>
+ <span class="b">++==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+o</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">~+==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">xx++</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">++xx</span>
+ <span class="b">++++</span> @$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++o</span> +$$$$$= *$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">o+++</span>
+ <span class="b">+++o</span> @$$$@ @$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> %$$$$$% ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">~+++</span>
+ <span class="b">+++o</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">+++~</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++xx</span>
+ <span class="b">xx==</span> %@@@$$$$$@@@@$@@@@@$$$$$$$$@@@@$@@@@@$$$$$$$$$@@@@$$ <span class="b">==xo</span>
+ <span class="b">==+o</span> +$@@@@$+ +$@@@@@@@@%~ ~%@@@@@@@@$+ <span class="b">·x==</span>
+ <span class="b">**+o</span> <span class="b">==xx</span>
+ <span class="b">**++</span> <span class="b">+=%%+o</span> <span class="b">++%%==</span> <span class="b">*%=+=*++</span>
+ <span class="b">++***%==****++++==*%**++++*=**==++++***%++++==*=**++++xx</span>
+ <span class="b">++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_064.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_064.txt
new file mode 100644
index 0000000..9fd11f4
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_064.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++==********====++++</span>
+ <span class="b">++==****%%****++++==**%**=====++++</span>
+ <span class="b">++==***%++</span> <span class="b">x+*+====++</span>
+ <span class="b">xx======</span> <span class="b">=+====++</span>
+ <span class="b">++====x+</span> o=%$@@@@@@@@@@@@$%=o <span class="b">xo====++</span>
+ <span class="b">++===+</span> ~*$@@@@@$$$$$$$$$$$$$$@@@@@$= <span class="b">+===++</span>
+ <span class="b">x+==++</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">====</span>
+ <span class="b">===+</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">==++</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==xx</span>
+ <span class="b">ox==x·</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·+==</span>
+ <span class="b">==+·</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">ox==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">++++</span>
+ <span class="b">xx++</span> +@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">xx++</span> +@$$$$@= *@$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">·+==</span>
+ <span class="b">++++</span> x@$$@* %@$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">xx++</span> %$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> +$@@$$$$$@@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x==</span>
+ <span class="b">xx++</span> @@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==+·</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">+++o</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">xxxx</span>
+ <span class="b">ox==</span> %@@$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@ <span class="b">++xx</span>
+ <span class="b">==+o</span> =$@@@@@@@* *@@@@@@@@@%o x%@@@@@@@@@= <span class="b">**</span>
+ <span class="b">**x~</span> <span class="b">==++</span>
+ <span class="b">**+=</span> <span class="b">+=%%</span> <span class="b">%%=x</span> <span class="b">*+**++</span>
+ <span class="b">++***%++++*=**==++===%==++x+==*=**++++*%**++++++*=**++++</span>
+ <span class="b">++++==++</span> <span class="b">++====++</span> <span class="b">++++==++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_065.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_065.txt
new file mode 100644
index 0000000..b1ee24c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_065.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++==========++++xx</span>
+ <span class="b">++++==**=*%%%%******%*%*======++++</span>
+ <span class="b">++==**=**%+o</span> <span class="b">++*=====++</span>
+ <span class="b">++===*+=</span> <span class="b">======++</span>
+ <span class="b">====++</span> ·x=%$@@@@@@@@@$%=x <span class="b">+x====++</span>
+ <span class="b">x+====oo</span> ·=$@@@@@@@$$$$$$$$$@@@@@@@%+ <span class="b">+===++</span>
+ <span class="b">====</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+===xx</span>
+ <span class="b">++==</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">====</span>
+ <span class="b">++==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·+==+x</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==xo</span>
+ <span class="b">++++</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> +%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> =@$$$$$@+ ~*@$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$@ o@$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$@ +$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +$@$$$$$@$=++++++++++++++*@@$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==x</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">+++·</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++~</span> o$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">o+++</span>
+ <span class="b">+x+x</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">ox==</span> %@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@o <span class="b">++++</span>
+ <span class="b">+++o</span> =@@@@@@@@@$x =@@@@@@@@@@* o%@@@@@@@@@%o <span class="b">*=</span>
+ <span class="b">**x·</span> ~~ ~~· ·~~ <span class="b">+=++</span>
+ <span class="b">**++</span> <span class="b">****</span> <span class="b">+=%%</span> <span class="b">~==++</span>
+ <span class="b">++**=*+xoo++*+**++++**=*+x~~ox=+**==++**=*++ooox++*=**++</span>
+ <span class="b">++======++</span> <span class="b">++====++++</span> <span class="b">++++====++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_066.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_066.txt
new file mode 100644
index 0000000..8b97f54
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_066.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++++</span>
+ <span class="b">++++==*******%%%%***==**====++</span>
+ <span class="b">++=====**%++</span> <span class="b">x+****====++</span>
+ <span class="b">++====+=++</span> <span class="b">+x======+x</span>
+ <span class="b">++====++</span> ~x=**%%%%**=+~ <span class="b">+x====++</span>
+ <span class="b">++===+</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">+===++</span>
+ <span class="b">++==++</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+===+x</span>
+ <span class="b">xx===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">++==</span>
+ <span class="b">==++</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==++</span>
+ <span class="b">++==o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">~+==xo</span>
+ <span class="b">==++</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">ox==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">o+==</span>
+ <span class="b">++==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==xo</span>
+ <span class="b">+++x</span> o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xx</span>
+ <span class="b">+++~</span> o%@$$$$$@@=++++++++++++++=$@$$$$$$$$$$$$$$$$$$$$$ <span class="b">++++</span>
+ <span class="b">+++·</span> $$$$@+ @$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+·</span> $$$$@~ @$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+·</span> x@@$$$$@*~ ·+@$$$$$$$$$$$$$$$$$$$$@ <span class="b">xx++</span>
+ <span class="b">==+·</span> o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+xx</span>
+ <span class="b">+++·</span> x@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">+++·</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">~+++</span>
+ <span class="b">+++o</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+++</span>
+ <span class="b">xx+x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">++++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==</span> *@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$@@$ <span class="b">o+++</span>
+ <span class="b">+++x</span> =@@@@@@@@@@@+ o%@@@@@@@@@@%~ ·=@@@@@@@@@%· <span class="b">==xx</span>
+ <span class="b">**x·</span> ox++o ~x++x~ o+x~ <span class="b">x+==</span>
+ <span class="b">**++</span> <span class="b">==+x</span> <span class="b">x+=+</span> <span class="b">++==</span>
+ <span class="b">++**=%++</span> <span class="b">·o=+**++===*++</span> <span class="b">++*===+=**==o·</span> <span class="b">~x*+**++</span>
+ <span class="b">x++==**===++</span> <span class="b">+++=***=+++x</span> <span class="b">++=***==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_067.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_067.txt
new file mode 100644
index 0000000..f8d6871
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_067.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++xx</span>
+ <span class="b">++====****************==++++</span>
+ <span class="b">++++=====*=*+x</span> <span class="b">~o==***=====++</span>
+ <span class="b">++======</span> <span class="b">++=+====+x</span>
+ <span class="b">xx====+=</span> ~x+=====+o~ <span class="b">++====++</span>
+ <span class="b">xx====ox</span> o*$@@@@@@@@@@@@@@@@@@@%+· <span class="b">+===++</span>
+ <span class="b">ox====</span> o%@@@@@$$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">+===++</span>
+ <span class="b">====</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">+===xo</span>
+ <span class="b">++==o</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">==+x</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·x==xo</span>
+ <span class="b">++==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">==+o</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==++</span>
+ <span class="b">xx+=</span> ·*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$ <span class="b">++++</span>
+ <span class="b">xx++</span> ~*@@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++x</span> ~@$$$@x +$$$$$$$$$$$$$$$$$$$x <span class="b">·+++</span>
+ <span class="b">+++x</span> @$$$@ @$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> ~$$$$$$@o x@$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+++</span>
+ <span class="b">+++x</span> =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">xx+x</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+++</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">+++x</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">x==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">xx++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$@@ <span class="b">·+==</span>
+ <span class="b">+++x</span> ~*@@@@@@@@@@@%o +$@@@@@@@@@@$+ o*@@@@@@@@@+ <span class="b">++xx</span>
+ <span class="b">**o·</span> ~+===+o x====x ~+=+· <span class="b">o+==</span>
+ <span class="b">x+**x++x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">x+**</span>
+ <span class="b">++==*=++</span> <span class="b">~o*+**==**+=</span> <span class="b">++**==**+*x~</span> <span class="b">++**=+</span>
+ <span class="b">++=****===++</span> <span class="b">++=******=++</span> <span class="b">+++==**==+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_068.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_068.txt
new file mode 100644
index 0000000..829d8f6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_068.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++xx++</span>
+ <span class="b">++++====************==++++</span>
+ <span class="b">++==**===%**++xo~~~~xx+=%*%****=+++x</span>
+ <span class="b">++======+=</span> <span class="b">*=*===++</span>
+ <span class="b">++====++</span> ·~~~· <span class="b">=+====xx</span>
+ <span class="b">++==++</span> ·+%$@@@@@@@@@@@@@@@@$=o <span class="b">+===++</span>
+ <span class="b">++==+x</span> o*@@@@@$$$$$$$$$$$$$$$$$@@@@@$x <span class="b">+===+x</span>
+ <span class="b">++==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">+===xo</span>
+ <span class="b">ox==+x</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">·o==+x</span>
+ <span class="b">xx==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">++++</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==xo</span>
+ <span class="b">==+·</span> @@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++x+</span>
+ <span class="b">==</span> x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">xx==</span> +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$= <span class="b">·+==</span>
+ <span class="b">xx++</span> ~$$$$$$ +$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">++++</span> @* *@$$@o @$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> x$$$$$$· =$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> =$@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">++++</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">xx++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">ox==</span> =$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">+++o</span> oo+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@@*x~o+%@@@@@@@@% <span class="b">++++</span>
+ <span class="b">**</span> x*%$$$*+ ~=%$$$%=o +*%=~ <span class="b">·o**</span>
+ <span class="b">xx**·</span> <span class="b">·o**++</span>
+ <span class="b">xx******+=</span> <span class="b">=+****=*</span> <span class="b">++=***=*+x</span> <span class="b">=+**xx</span>
+ <span class="b">++==%%%%%%==++</span> <span class="b">++==*%%%%%**=+</span> <span class="b">x+==*%%*==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_069.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_069.txt
new file mode 100644
index 0000000..2868c56
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_069.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++==**********====++++</span>
+ <span class="b">xx++==****%%**++++++++**%**=**==++</span>
+ <span class="b">++**=*=*</span> <span class="b">~x*=====++</span>
+ <span class="b">xx====+=</span> <span class="b">++====++</span>
+ <span class="b">++===+</span> ~=%$@@@@@@@@@@@@@@$%+· <span class="b">o=*==++</span>
+ <span class="b">x+==++</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@%o <span class="b">+===xx</span>
+ <span class="b">ox===+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+===xx</span>
+ <span class="b">==++</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">++==</span>
+ <span class="b">++==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xx</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">++==</span>
+ <span class="b">++==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==+x</span> $@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> +$@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$+ x$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@%· ~@$$@% =@$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> %$$$$$~ $$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> x*+=*@@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@%=+=*@@@@$@@@@o <span class="b">x+++</span>
+ <span class="b">~o**</span> o*$@@@@$*o +%@@@@@%+ x*$%+ <span class="b">**</span>
+ <span class="b">++**</span> <span class="b">**++</span>
+ <span class="b">++**==**==</span> <span class="b">==****xo</span> <span class="b">=+****++</span> <span class="b">++**++</span>
+ <span class="b">+x</span> <span class="b">++==%%%%%%%*==++</span> <span class="b">x+==*%%%%%%%**=+</span> <span class="b">+=*%%%**=+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_070.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_070.txt
new file mode 100644
index 0000000..67de540
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_070.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++========++++++</span>
+ <span class="b">++==*****%%%********%*%*****==++</span>
+ <span class="b">++==**=*++</span> <span class="b">++*=**==++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">xx====ox</span> ~+%$@@@@@@@@@@@@$%=~ <span class="b">xo====xx</span>
+ <span class="b">xx===+</span> ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· <span class="b">+===++</span>
+ <span class="b">===+</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">+===</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">++==o</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==+x</span>
+ <span class="b">==++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">++++</span> ~$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$@+ ·%$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@@@+ %@$$@x $$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·*o $$$$$* ·$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> =$@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ~@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$@@$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$@@@@$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> =@@@@@@@@%x x%@@@@@@@@= *@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==x+**%*</span> <span class="b">**%%+x</span> <span class="b">+=%%=+</span> <span class="b">oo==++</span>
+ <span class="b">++==++x+**=%=*==**%***++x+==*%*%====****+++++=*****===++</span>
+ <span class="b">++++++</span> <span class="b">++++++++</span> <span class="b">++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_071.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_071.txt
new file mode 100644
index 0000000..42ed545
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_071.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+++++++===+++++++x</span>
+ <span class="b">xx++*****%*%*%%%*%%*%*******++xx</span>
+ <span class="b">xx++***%==</span> <span class="b">+=*=**==++</span>
+ <span class="b">++**+=+x</span> <span class="b">*=**++</span>
+ <span class="b">====x+</span> x=%$@@@@@@@@@@$%*x· <span class="b">xx====</span>
+ <span class="b">====</span> x%@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">+===</span>
+ <span class="b">====</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">+===</span>
+ <span class="b">++==</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">xx==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==+x</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xx</span>
+ <span class="b">xx++</span> %$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">+++o</span> =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·x==</span>
+ <span class="b">==</span> =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x ·%@$$$$@= o$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@@$x %@$$@x $$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> @%x $$$$$* $$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">=*</span> +$@@$$$$@@%***************@@$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">=*</span> x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> =@@@@@@@@@@= o%@@@@@@@@@%~ =@@@%· <span class="b">++xx</span>
+ <span class="b">==++</span> ·· ·~· <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">**=+</span> <span class="b">+===</span>
+ <span class="b">++**==++===%==xoox==%===++==*%==+xoo++*=**+++=**=**=**++</span>
+ <span class="b">+++==+++</span> <span class="b">+++===++++</span> <span class="b">++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_072.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_072.txt
new file mode 100644
index 0000000..95a4a2a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_072.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+++++++++++++x</span>
+ <span class="b">++==*****%*%%%%%%%%*****==++</span>
+ <span class="b">++***%=*x~</span> <span class="b">*=*=**++</span>
+ <span class="b">x+**==++</span> <span class="b">xx=+**++</span>
+ <span class="b">++**++</span> ~+*%$@@@@@@@@$$%=o <span class="b">+x**=+</span>
+ <span class="b">++==oo</span> ~*@@@@@@@$$$$$$$$$$@@@@@@@%x <span class="b">=*==</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+===</span>
+ <span class="b">x+==o</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">==+o</span> @@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==xx</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xx</span>
+ <span class="b">xx==</span> $%$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">x+++</span>
+ <span class="b">+++x</span> =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">==+·</span> =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @x ·*@$$$$@$o o$@$$$$$$$$$$$$x <span class="b">==xo</span>
+ <span class="b">==</span> $@@@$x o@$$$$ *@$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @@@*o =@$$$$ %$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> % ·=@@$$$$@@%===============*@@$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> ·=$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> % =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ~@@@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$@@+ <span class="b">==</span>
+ <span class="b">x+++</span> =%o +$@@@@@@@@@@@+· o*@@@@@@@@@@@*o ·+$@@@* <span class="b">++++</span>
+ <span class="b">=*+~</span> x=**=x· o+=*=+o <span class="b">·x**</span>
+ <span class="b">**+x</span> <span class="b">x+</span> <span class="b">+x</span> <span class="b">++</span> <span class="b">ox**xo</span>
+ <span class="b">====*===**+*+x</span> <span class="b">x+*=**===*++</span> <span class="b">*+**==**++++*===</span>
+ <span class="b">+x</span> <span class="b">xx===*%%*===++</span> <span class="b">x</span> <span class="b">+==*%%*=*=++</span> <span class="b">++=+</span> <span class="b">x</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_073.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_073.txt
new file mode 100644
index 0000000..d2d6c6d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_073.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++++++++++</span>
+ <span class="b">++++****%%%%%%%%$%%%****++++</span>
+ <span class="b">++****=*+x</span> <span class="b">*=*=**++</span>
+ <span class="b">xx==**++</span> <span class="b">++*=**++</span>
+ <span class="b">++**++</span> x=%$$@@@@@@@$%*+~ <span class="b">++**++</span>
+ <span class="b">++**oo</span> =$@@@@@@@$$$$$$$$$@@@@@@@%x <span class="b">=*==</span>
+ <span class="b">++==o·</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+===</span>
+ <span class="b">x+=*o·</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">==+x</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==xx</span>
+ <span class="b">++==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">==+·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xx</span>
+ <span class="b">xx==</span> @%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">++++</span> o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">==x·</span> x o*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$~ o$@$$$$@$o ·x@$$$$$$$$$$$$= <span class="b">==xx</span>
+ <span class="b">==</span> @$@@@*~ *@$$@= $$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @@@@*o %$$$$* $$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @= ~*@@$$$$@@*+++++++++++++++%@$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @ ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @+ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==</span> <span class="b">o</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> +@@$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$@% <span class="b">==</span>
+ <span class="b">++++</span> %@$=o~o=$@@@@$$$@@@@@*x~~x*@@@@@$$$@@@@$+o~o=$@@@$~ <span class="b">x+++</span>
+ <span class="b">**o·</span> ~+%$$$%*o x*$$$$%+· · <span class="b">**</span>
+ <span class="b">x+**o~</span> <span class="b">~**+x</span>
+ <span class="b">xx**+==+****==</span> <span class="b">++*=**=*x+</span> <span class="b">oo==****++</span> <span class="b">=+**+x</span>
+ <span class="b">++=+</span> <span class="b">++==*%%%%%%*==</span> <span class="b">xx+=*%%%%%%**=++</span> <span class="b">++==++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_074.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_074.txt
new file mode 100644
index 0000000..bb794ee
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_074.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">xx+++++x</span>
+ <span class="b">++==***%*%%%%%%%%%****+++x</span>
+ <span class="b">x+==***%++</span> <span class="b">~x%*****++</span>
+ <span class="b">++**++</span> <span class="b">++*=**xx</span>
+ <span class="b">xx**++</span> o+*%$$@@@@@$$%*x~ <span class="b">+x**++</span>
+ <span class="b">x+**xx</span> +$@@@@@@@@$$$$$$$@@@@@@@@%x <span class="b">=*++</span>
+ <span class="b">x+**o~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+=++</span>
+ <span class="b">o</span> <span class="b">**+~</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">==+x</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==xx</span>
+ <span class="b">x+==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">o+==</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xo</span>
+ <span class="b">ox==</span> @@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">++++</span> $o o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++~</span> ·@ o%@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %$$· x$@$$$$@$x~~~~~~~~~~~~~~~+@$$$$$$$$$$$* <span class="b">=+xo</span>
+ <span class="b">==</span> @$$@@@*~ *@$$@* $$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$@@@*x *$$$$* $$$$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> @$* =@@$$$$@@=xxxxxxxxxxxxxx+*@$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @@ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$+ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$@@@$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$@@@$$$$$@@ <span class="b">==</span>
+ <span class="b">+++o</span> +@@@@$**%$@@@$$$$$$$@@@@%**%@@@@$$$$$$$@@@$**%@@@@@* <span class="b">~+==</span>
+ <span class="b">ox**</span> ~ ~*@@@@@@@%o +$@@@@@@$= oo <span class="b">==xx</span>
+ <span class="b">++==</span> <span class="b">==++</span>
+ <span class="b">++**o+</span> <span class="b">++%%**</span> <span class="b">++%%**xx</span> <span class="b">**%%++</span> <span class="b">+x**++</span>
+ <span class="b">+=**++</span> <span class="b">++***%*%%%%*%*++</span> <span class="b">xx==*%*%%%%*%*==++</span> <span class="b">+=**=+</span>
+ <span class="b">xx</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_075.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_075.txt
new file mode 100644
index 0000000..497f784
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_075.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++</span>
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">++**=*++</span> <span class="b">~x%*%*==+x</span>
+ <span class="b">++**==</span> <span class="b">++*===+x</span>
+ <span class="b">xx**==</span> ~+*%$$@@@@@$$%=x· <span class="b">++**++</span>
+ <span class="b">xx**+x</span> x%@@@@@@@@$$$$$$$@@@@@@@@%o <span class="b">==++</span>
+ <span class="b">xx**x~</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+*++</span>
+ <span class="b">**x~</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">==++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">*=xx</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">o+==</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xo</span>
+ <span class="b">==</span> @@$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">++++</span> %$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++~</span> @* +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+</span> *$@= =@$$$$$@*o~~~~~~~~~~~~~~o*@$$$$$$$$$$* <span class="b">+++x</span>
+ <span class="b">==</span> $$$@@@$+ @$$$@ @$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$@@$*~ @$$$@ ~@$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$x o%@$$$$$@%+xxxxxxxxxxxxxx+$@$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @@= ~*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==xo</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">+++~</span> *@@@@@@$$@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@@@$$@@@@@$ <span class="b">·x==</span>
+ <span class="b">oo==</span> x* ·*@@@@@@@@$x +$@@@@@@@@= ~+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==o</span> <span class="b">****</span> <span class="b">=*%%x</span> <span class="b">++%$++</span> <span class="b">==++</span>
+ <span class="b">x+==****+x++***%**==**%***++++==**=*====%***=+xx++**==xx</span>
+ <span class="b">++++++</span> <span class="b">+++++++x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_076.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_076.txt
new file mode 100644
index 0000000..517a5a5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_076.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==***%%%%%%%%*%***==++</span>
+ <span class="b">+=****++</span> <span class="b">o+*=%*==xx</span>
+ <span class="b">++**+=</span> <span class="b">++*===</span>
+ <span class="b">**+=</span> ~+*%$$@@@@@$$%=x~ <span class="b">++**++</span>
+ <span class="b">xx**+x</span> x%@@@@@@@@$$$$$$$@@@@@@@@%x <span class="b">==++</span>
+ <span class="b">ox**x~</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">=*++</span>
+ <span class="b">=*+~</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">++++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">*=oo</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">o+==</span>
+ <span class="b">=++o</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">==</span> $@@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">o+++</span>
+ <span class="b">xx++</span> *@% =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++o</span> @$o ·=@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==+·</span> *$$$x ~*@$$$$$@=~~~~~~~~~~~~~~~o%@$$$$$$$$$% <span class="b">++xx</span>
+ <span class="b">==</span> $$$$@@@%o @$$$@ x@$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$@@$=· @$$$@ +@$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$~ x%@$$$$$@*+xxxxxxxxxxxxxx+$@$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$@o o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$% o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@@· <span class="b">==</span>
+ <span class="b">x+==</span> ·%@$x =@@@@@@@@@@= o$@@@@@@@@@$o =o <span class="b">++xx</span>
+ <span class="b">===+</span> ·~~· ~o~ <span class="b">x+==</span>
+ <span class="b">===+</span> <span class="b">++%%</span> <span class="b">%%+x</span> <span class="b">**=+</span> <span class="b">++==</span>
+ <span class="b">++**=**===++**=*=+~·~o+=%=**++===*==o~··x+%=**++++****++</span>
+ <span class="b">++</span> <span class="b">x++=====++xx</span> <span class="b">++======++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_077.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_077.txt
new file mode 100644
index 0000000..4ead350
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_077.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">+++==**%%%%%%%%*%%**=+++</span>
+ <span class="b">++****++</span> <span class="b">·x**%*==xx</span>
+ <span class="b">++**+=</span> <span class="b">+x*===</span>
+ <span class="b">==+=</span> ~+*%$$@@@@@$$%*+~ <span class="b">+x**++</span>
+ <span class="b">xx**+x</span> x%@@@@@@@@$$$$$$$@@@@@@@@%x <span class="b">==++</span>
+ <span class="b">**x~</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">+*++</span>
+ <span class="b">==+~</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">++++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">**oo</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">o+==</span>
+ <span class="b">+++o</span> %@$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">==</span> $@@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">o+++</span>
+ <span class="b">++++</span> *@$~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++o</span> @$@ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==+·</span> =$$$% x@@$$$$@$x~~~~~~~~~~~~~~~=@$$$$$$$$$% <span class="b">++xo</span>
+ <span class="b">==</span> $@$$@@@$=· %$$$@+ @$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$@@@*o %$$$@= $$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$= ·=@@$$$$@@=xxxxxxxxxxxxxx+*@$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$ =$@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$x =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@$$$@@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@@@x <span class="b">==</span>
+ <span class="b">x+++</span> x$@@%o +@@@@@@@@@@@+ o%@@@@@@@@@@%o =+ <span class="b">++++</span>
+ <span class="b">==+x</span> ox+xo ~x++x· <span class="b">~+**</span>
+ <span class="b">**++</span> <span class="b">==</span> <span class="b">==++</span> <span class="b">++==</span> <span class="b">++**</span>
+ <span class="b">++**==*=**==**=*++</span> <span class="b">·o*+**++===*++</span> <span class="b">++*===++****=+</span>
+ <span class="b">++++</span> <span class="b">++++****==++</span> <span class="b">+==***==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_078.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_078.txt
new file mode 100644
index 0000000..4a7f7ab
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_078.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">+++===*%*%%%%%%%%%%*=+=+</span>
+ <span class="b">++**=*++</span> <span class="b">·o**%*==xx</span>
+ <span class="b">++**+=</span> <span class="b">+x*===</span>
+ <span class="b">====</span> o+*%$@@@@@@@$%*+o <span class="b">+x**++</span>
+ <span class="b">xx**+x</span> +%@@@@@@@$$$$$$$$$@@@@@@@%x <span class="b">==++</span>
+ <span class="b">**x~</span> ·%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">+=++</span>
+ <span class="b">=*+~</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">++++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**oo</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">~+==</span>
+ <span class="b">+++o</span> %@$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">==</span> $@$@$%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">o+++</span>
+ <span class="b">xx++</span> *@$% +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++o</span> @$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">==+·</span> =$$$@= =@$$$$$@=~··············~*@$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> %@$$$@@@$+ @$$$@ ·@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$@@$= @$$$@ o@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$~ x%@$$$$$@$+++++++++++++++=$@$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$@+ o%@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==x·</span> ~@@$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@@= <span class="b">==</span>
+ <span class="b">xx++</span> =@@@@$x ·x$@@@@@@@@@@@=~ o*@@@@@@@@@@@%x ·+* <span class="b">x+++</span>
+ <span class="b">**x~</span> x=***+~ ~+***=o <span class="b">·o**</span>
+ <span class="b">**+x</span> <span class="b">o++</span> <span class="b">++</span> <span class="b">++</span> <span class="b">oo**xo</span>
+ <span class="b">====++x+*===**==+o</span> <span class="b">·x*=**====++</span> <span class="b">=+**==*=====</span>
+ <span class="b">++=+++</span> <span class="b">++===*%%*==+++</span> <span class="b">++==*%%**=++</span> <span class="b">xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_079.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_079.txt
new file mode 100644
index 0000000..98c847b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_079.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==**%%%%%%%%%%$%%**=++</span>
+ <span class="b">++****+o</span> <span class="b">==%*==xx</span>
+ <span class="b">++**+=</span> <span class="b">ox*===</span>
+ <span class="b">=*==</span> o=%$$@@@@@@@$$%=o <span class="b">xx**++</span>
+ <span class="b">xx**+x</span> +$@@@@@@@$$$$$$$$$@@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">**o~</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">+=++</span>
+ <span class="b">**x~</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">++=+</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**xx</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">~+==</span>
+ <span class="b">+++o</span> %@$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">==</span> $@$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">xx++</span> *@$@· ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">==</span>
+ <span class="b">+++o</span> @$$@ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">==+·</span> =$$$$$~ o$@$$$$@%~ x@$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> %@$$$$@@@%o %@$$@+ $$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$@@$=~ %$$$@* $$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> $@$$$= o*@@$$$$@@*++++++++++++++=%@$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$+ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@@* <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@*x· ~x%@@@@@@@@@@@$+~ o=@@@@@@@@@@@@*o· ~+* <span class="b">x+++</span>
+ <span class="b">**x·</span> o x*%%%*+· ~=%%%%=o <span class="b">·o**</span>
+ <span class="b">ox**xo</span> <span class="b">oo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">oo**xx</span>
+ <span class="b">===*+x</span> <span class="b">*+****=*+x</span> <span class="b">=+****==++</span> <span class="b">++==*****===</span>
+ <span class="b">++====++</span> <span class="b">++==**%%%**=++</span> <span class="b">++=**%%%*==+x</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_080.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_080.txt
new file mode 100644
index 0000000..b8e4d01
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_080.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++</span>
+ <span class="b">+==**%*%%$%%%%%%%%%*==++</span>
+ <span class="b">+=**=*x·</span> <span class="b">+=%***++</span>
+ <span class="b">++**++</span> <span class="b">*=**+x</span>
+ <span class="b">**++</span> ~+*$$@@@@@@@@@$$*+~ <span class="b">ox**++</span>
+ <span class="b">xx**oo</span> ~=@@@@@@@$$$$$$$$$$$@@@@@@@=~ <span class="b">+=++</span>
+ <span class="b">xx**o·</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+==+</span>
+ <span class="b">**x·</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++++</span>
+ <span class="b">+++x</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==xx</span>
+ <span class="b">xx==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">·+==</span>
+ <span class="b">=++~</span> $@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">==</span> @@$@@%*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">xx++</span> %$$$= o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++o</span> @$$@x x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$@x <span class="b">==xo</span>
+ <span class="b">==+·</span> =$$$$@* +@$$$$$@o =@$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> %@$$$$@@@@* @$$$@ o@$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$@@@*~ o@$$$@ =$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> $@$$$% ·=@@$$$$$@$*==============%@@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$@~ ·=$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$~ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@@% <span class="b">==</span>
+ <span class="b">++++</span> %@@@@@@*x~~x*@@@@@@$@@@@@$+o~o+$@@@@@$@@@@@@*x~~x*~ <span class="b">o+++</span>
+ <span class="b">**o·</span> ·+x o*%$$$%+· ·+%$$$%*o <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~**++</span>
+ <span class="b">xx**+=</span> <span class="b">x+=****=++</span> <span class="b">~x==****+=</span> <span class="b">=+****==**++</span>
+ <span class="b">++==**==xx</span> <span class="b">xx==**%%%%%*==++</span> <span class="b">++**%%%%%*==++</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_081.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_081.txt
new file mode 100644
index 0000000..aed9c8a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_081.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++==*%*%%%****%%$%%%**++xx</span>
+ <span class="b">xx==**=*</span> <span class="b">++%***++</span>
+ <span class="b">++**++</span> <span class="b">==**++</span>
+ <span class="b">xx**++</span> o=%$@@@@@@@@@@@$%=o <span class="b">==++</span>
+ <span class="b">xx**oo</span> o%@@@@@@$$$$$$$$$$$$$@@@@@@%o <span class="b">+===</span>
+ <span class="b">x+**</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">++==</span>
+ <span class="b">**o·</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">+++x</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@· <span class="b">==xx</span>
+ <span class="b">xx==</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·x==</span>
+ <span class="b">==+~</span> @@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">==</span> @$$@@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">xx++</span> %$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++~</span> @$$@% =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$x <span class="b">==xo</span>
+ <span class="b">==x·</span> *$$$$@$o ~$$$$$$@x o@$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> %@$$$$$@@@$o $$$$@ @$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$@@*~ $$$$@+ o@$$$$$$@ <span class="b">++++</span>
+ <span class="b">==</span> $@$$$$ ·=@@$$$$$@@%**************%@@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$+ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@@$ <span class="b">==</span>
+ <span class="b">++++</span> $@@@@@@$=xox=@@@@@$$$@@@@@*xoo+%@@@@@$$$@@@@$=oox*o <span class="b">o+++</span>
+ <span class="b">**x·</span> ~==· ~=%$$$$*x +%$$$$%=· <span class="b">**</span>
+ <span class="b">x+**~·</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">==****++</span> <span class="b">==****+=</span> <span class="b">=+****==**++</span>
+ <span class="b">++==**==++</span> <span class="b">++**%%%%%*==++</span> <span class="b">+=***%%%%%**++</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_082.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_082.txt
new file mode 100644
index 0000000..ba491c1
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_082.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">xx++++++++++</span>
+ <span class="b">++==***%%%*=++++==**%*%*==++</span>
+ <span class="b">++**=*++</span> <span class="b">·</span> <span class="b">*=**++</span>
+ <span class="b">===*</span> <span class="b">==**++</span>
+ <span class="b">++**x+</span> o=%$@@@@@@@@@@@@@$%=~ <span class="b">====</span>
+ <span class="b">++**</span> +$@@@@@$$$$$$$$$$$$$$$@@@@@$+ <span class="b">++*=</span>
+ <span class="b">xx**</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">x+==</span>
+ <span class="b">o</span> <span class="b">**</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">++++</span>
+ <span class="b">==+o</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==+x</span>
+ <span class="b">x+==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·x==</span>
+ <span class="b">==x·</span> @@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$@%xo=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">++++</span> $$$$@ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++~</span> ·@$$$@ ·=@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$+ <span class="b">==xo</span>
+ <span class="b">==+·</span> *$$$$$@*~ x$$$$$$+ =$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$@@@@* +@$$@* %@$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$@@=· %$$$$$ ·$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$~ ~*@@@$$$$$@@$$$$$$$$$$$$$$$@@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$@ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$ <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@@@%+xx=%@@@@$$$$@@@@@*xox*@@@@@$$$$@@@@%+xx=x <span class="b">o+++</span>
+ <span class="b">**</span> o*%+ +%$@@$%=~ o*$$@@$%+ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">x+**~</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">=+****++</span> <span class="b">++****==</span> <span class="b">x+****==**++</span>
+ <span class="b">++==*%**++</span> <span class="b">++**%%%%$%**=+</span> <span class="b">++==*%%%%*%*==++</span> <span class="b">++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_083.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_083.txt
new file mode 100644
index 0000000..d730b37
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_083.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++=++x</span>
+ <span class="b">++==*%*%**++xxxxxx==%*%**=++</span>
+ <span class="b">+=**=*+~</span> <span class="b">*=**=+</span>
+ <span class="b">x+**==</span> <span class="b">++**++</span>
+ <span class="b">++**xo</span> ·+%$@@@@@@@@@@@@@@@$%x <span class="b">====</span>
+ <span class="b">++*=</span> ~*@@@@@$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">x+**</span>
+ <span class="b">++==</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">~+**</span>
+ <span class="b">xx**</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">x+==</span>
+ <span class="b">==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">+=++</span>
+ <span class="b">x+++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">**</span>
+ <span class="b">==x·</span> @$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++++</span>
+ <span class="b">ox==</span> @$$$@*~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·+==</span>
+ <span class="b">xx++</span> @$$$@~ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++~</span> o$$$$$x x%@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==x</span> %@$$$$@$+ %$$$$$+ ~$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$$$@@@$~ @$$@$ +@$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$$@@= %$$$$$x ·$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $@$$$@x o*@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$@ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$@=· ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$ <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@@@@$=xx+%@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx=x <span class="b">o+++</span>
+ <span class="b">**</span> o*%=~ x%$@@@$%x ~=%$@@$%=~ <span class="b">**xo</span>
+ <span class="b">++**</span> <span class="b">**++</span>
+ <span class="b">x+**+=</span> <span class="b">=+****==</span> <span class="b">xx****==</span> <span class="b">==**==**+x</span>
+ <span class="b">++=**%**=+</span> <span class="b">++***%%%%*%*++xx</span> <span class="b">++==*%%%%*%*==++</span> <span class="b">xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_084.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_084.txt
new file mode 100644
index 0000000..1fd3352
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_084.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++===***==++++</span>
+ <span class="b">+=***%**+x~·</span> <span class="b">oo==%%%*++++</span>
+ <span class="b">+=**==</span> <span class="b">x+*=**++</span>
+ <span class="b">++**++</span> ~ox+++xo~ <span class="b">===+</span>
+ <span class="b">++==</span> +%@@@@@@@@@@@@@@@@@@$%x <span class="b">++**xx</span>
+ <span class="b">===+</span> =@@@@@$$$$$$$$$$$$$$$$$$$@@@@@+ <span class="b">oo**xx</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·o**</span>
+ <span class="b">x+==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">~+==</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">+=++</span>
+ <span class="b">++++</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">**</span>
+ <span class="b">==</span> x@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">ox==</span> ~@$$$@= o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·x==</span>
+ <span class="b">+++x</span> @$$$@+ o%@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@ <span class="b">==</span>
+ <span class="b">+++·</span> +$$$$$% x%@@$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> $@$$$$@@$+ x@$$$$x =$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$@@@$o @$$$@ @$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$@$x ·$$$$$$$· o$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$@= +$@@@$$$$$@@@@@@@@@@@@@@@@@@@$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$@@=x+$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">=+xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$ <span class="b">==</span>
+ <span class="b">+++x</span> ·@@@@@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$$@@@@%+x+o <span class="b">o+++</span>
+ <span class="b">**</span> o*$%x ~=%$@@$%=~ +%$@@@$%x <span class="b">**xo</span>
+ <span class="b">++**</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">xx******</span> <span class="b">==****xo</span> <span class="b">==******+x</span>
+ <span class="b">++***%%*++xx</span> <span class="b">++==*%%%%*%**=++</span> <span class="b">++==*%*%%%%***++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_085.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_085.txt
new file mode 100644
index 0000000..4e074e6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_085.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++****%%%%***=++++</span>
+ <span class="b">++==***%+x</span> <span class="b">ox**%*==++</span>
+ <span class="b">xx===*+x</span> <span class="b">*=**++</span>
+ <span class="b">++**x+</span> ~x+=*****=+o· <span class="b">==*=</span>
+ <span class="b">===+</span> x%$@@@@@@@@@@@@@@@@@@@$*o <span class="b">+x**+x</span>
+ <span class="b">==+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">**xx</span>
+ <span class="b">===+</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">**xx</span>
+ <span class="b">++++</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">·x**</span>
+ <span class="b">**</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">+++x</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">*=</span>
+ <span class="b">=*</span> *@$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">xx++</span> +@$$$$x +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">+++o</span> @$$$@* +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> =$$$$$$· +$@$$$$$@@*==============*@@$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> $@$$$$$@@*x $$$$@x o@$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> $$$$$$$$@@@%~ $$$$@ @$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$@%· o$$$$$$@+ +@$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$@* ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$@@%*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@$ <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@@@@@$=xx+%@@@@$$$$@@@@@*+xx*@@@@@$$$$@@@@%=xxo <span class="b">o+++</span>
+ <span class="b">**</span> o*$%+ +%$@@$$*o o*$$@@$%+ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">++**</span> <span class="b">**++</span>
+ <span class="b">x+**+=</span> <span class="b">~x=*****xo</span> <span class="b">==***=++</span> <span class="b">=+******+x</span>
+ <span class="b">++==*%%*==xx</span> <span class="b">x+==*%*%%%%*==++</span> <span class="b">==**%$%%%%**=+</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_086.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_086.txt
new file mode 100644
index 0000000..d1ca571
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_086.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++==*%%$%%%%%%%**===++</span>
+ <span class="b">+=****++</span> <span class="b">ox****==</span>
+ <span class="b">++**+=</span> <span class="b">++**++</span>
+ <span class="b">====</span> ~+*%$$@@@@@$%*=x· <span class="b">++**+x</span>
+ <span class="b">xx**xx</span> +%@@@@@@@@$$$$$$$@@@@@@@@*o <span class="b">**++</span>
+ <span class="b">ox**o~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">**+~</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==xx</span>
+ <span class="b">++=x</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">**</span>
+ <span class="b">xx==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+++</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">==</span> @@$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">+x++</span> $$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++~</span> ·@$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %$$$$$@* +@@$$$$@%x~~~~~~~~~~~~~~o=@$$$$$$= <span class="b">==+x</span>
+ <span class="b">==</span> @$$$$$$@@@$+ $$$$@o @$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$@@@*o $$$$@x @$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$@= ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$@$ ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$+ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> =@$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@% <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@@@@@=xox=@@@@@$$$@@@@@%+oo+%@@@@@$$$@@@@$=xo~ <span class="b">o+++</span>
+ <span class="b">**</span> o*$%=~ o*%$$$$%x +%$$$$%=~ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">++**~</span> <span class="b">**+x</span>
+ <span class="b">x+**+=</span> <span class="b">*=***=++</span> <span class="b">=+****+=</span> <span class="b">=+******++</span>
+ <span class="b">++==*%%*==++</span> <span class="b">==**%%%%%***++</span> <span class="b">++***%%%%%**++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_087.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_087.txt
new file mode 100644
index 0000000..cfec2a6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_087.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++</span>
+ <span class="b">++=**%*%*%******%%%*==++</span>
+ <span class="b">xx==*%==</span> <span class="b">+=*=**++</span>
+ <span class="b">++*=x+</span> <span class="b">==**xx</span>
+ <span class="b">xx**++</span> o=%$@@@@@@@@@@@%*+~ <span class="b">xx**++</span>
+ <span class="b">++**~</span> o%@@@@@@$$$$$$$$$$$$@@@@@@$=· <span class="b">=*++</span>
+ <span class="b">x+**</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+=++</span>
+ <span class="b">**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">x+==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">o+==</span>
+ <span class="b">==x·</span> @@$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">ox==</span> @$$$$@$=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">x+++</span>
+ <span class="b">+++x</span> @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+·</span> +$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$o ·%@$$$$@= o$$$$$$$= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$@@@$o $@$$@o @$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$@@%x $$$$$= @$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@% <span class="b">++xx</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$= x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@% <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@@@@@*xoo+$@@@@@$$@@@@@%+oox*@@@@@$$$@@@@@=xo· <span class="b">o+++</span>
+ <span class="b">**o·</span> ~=%%=o +%$$$$%+ o*%$$$%=~ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">x+**~·</span> <span class="b">~**+x</span>
+ <span class="b">++**+=</span> <span class="b">==****++</span> <span class="b">=+****+=</span> <span class="b">++******++</span>
+ <span class="b">++==*%%**=++</span> <span class="b">++***%%%%***++</span> <span class="b">++***%%%%%**++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_088.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_088.txt
new file mode 100644
index 0000000..237b9c9
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_088.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++====++++++</span>
+ <span class="b">++==*%**==++++++++==**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">==**++</span>
+ <span class="b">++**+=</span> · <span class="b">++**++</span>
+ <span class="b">++==</span> ~=%@@@@@@@@@@@@@@@@$*x <span class="b">====</span>
+ <span class="b">++=+</span> x$@@@@@$$$$$$$$$$$$$$$$@@@@@$= <span class="b">++==</span>
+ <span class="b">++=+</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">x+==</span>
+ <span class="b">x+==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+=++</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xo</span>
+ <span class="b">++++</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">·+==</span>
+ <span class="b">=*</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">xx++</span> +@$$$$@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">+++~</span> @$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@%o x$$$$$$ =$$$$$$+ <span class="b">==</span> <span class="b">o</span>
+ <span class="b">==</span> $$$$$$$$@@@@= %@$$@~ @$$$$@= <span class="b">==xx</span>
+ <span class="b">==</span> @$$$$$$@%o o$$$$$$ =$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$@x +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@* <span class="b">==</span>
+ <span class="b">++++</span> %@@@@@@@@@*o··o=@@@@@@@@@@@@%x~·~x%@@@@@@@@@@@@=o~ <span class="b">x+++</span>
+ <span class="b">**x·</span> +*%=o ~=%%$%*x x*%$%%=~ <span class="b">·o**</span>
+ <span class="b">x+**o~</span> <span class="b">o</span> <span class="b">oo**++</span>
+ <span class="b">++**+=xo</span> <span class="b">=+****==</span> <span class="b">*+****==+x</span> <span class="b">++==****++</span>
+ <span class="b">++==******++</span> <span class="b">++****%%%***++</span> <span class="b">++==**%%%***==+x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_089.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_089.txt
new file mode 100644
index 0000000..b362244
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_089.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++==****==++++</span>
+ <span class="b">==***%==++</span> <span class="b">ox==%***==</span> <span class="b">x</span>
+ <span class="b">==**++</span> <span class="b">++*===xx</span>
+ <span class="b">++**++</span> ·oxx++xxo~ <span class="b">+x**=+</span>
+ <span class="b">===+</span> ~=$@@@@@@@@@@@@@@@@@@$*o <span class="b">++**</span>
+ <span class="b">==+x</span> ~%@@@@@$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+**</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">+=++</span>
+ <span class="b">ox=*</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">+++o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">x+++</span> $@$$$@% ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@=· $$$$$* o$$$$$$o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$@@@@+ $$$$@· @$$$$@x <span class="b">==</span>
+ <span class="b">=*</span> @$$$$$$@+ *@$$$$$o %$$$$$@x <span class="b">==</span>
+ <span class="b">=*</span> @$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$o <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@=o ·x%@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ <span class="b">++++</span>
+ <span class="b">**x·</span> o=*+~ x=%%%=x ~+*%%*+~ <span class="b">·x**</span>
+ <span class="b">x+**xo</span> <span class="b">xo</span> <span class="b">++</span> <span class="b">++oo**+x</span>
+ <span class="b">++**=*xx</span> <span class="b">*=****==+x</span> <span class="b">*+****==++</span> <span class="b">++==****++</span>
+ <span class="b">++==******++</span> <span class="b">++==********++xx</span> <span class="b">++==********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_090.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_090.txt
new file mode 100644
index 0000000..e781e1e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_090.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">+++=**%%%%%%%%**=+++</span>
+ <span class="b">++***%==o·</span> <span class="b">·x==%***++</span>
+ <span class="b">++**+*</span> <span class="b">*+**++</span>
+ <span class="b">====</span> o+=*%$$$$%*=+o <span class="b">====</span>
+ <span class="b">xx**xx</span> o*@@@@@@@@@@@@@@@@@@@@@@*x <span class="b">xx**+x</span>
+ <span class="b">xx**o~</span> ·%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~o**xx</span>
+ <span class="b">**x·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·o**</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">o+==</span>
+ <span class="b">xx==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++++</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">xx==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">=++x</span>
+ <span class="b">++xo</span> @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$@$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$+ ~*@$$$$$@$=+++++++++++++++%@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@=~ $$$$$x @$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@@@= $$$$@~ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% +@$$$$$@%~··············~=@$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@+· +$@@@@@@@@@@%o ~*@@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">**+~</span> x+o o+=+x~ ~x+=+o <span class="b">~x**</span>
+ <span class="b">xx**+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">++++**+x</span>
+ <span class="b">xx**==+=</span> <span class="b">x+==*****=+*</span> <span class="b">~x*=******=*x~</span> <span class="b">=+==**==xx</span>
+ <span class="b">++==******++</span> <span class="b">++==********+++x</span> <span class="b">xx++********==+x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_091.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_091.txt
new file mode 100644
index 0000000..425fbf0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_091.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++==**%%*%%%%%%*%%**==++</span>
+ <span class="b">==***%xx</span> <span class="b">xx%***==</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">++**++</span> x=*$$@@@@@@$$*=x <span class="b">++**+x</span>
+ <span class="b">++**~o</span> ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@$= $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$*o $$$$@x @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@@ <span class="b">x==</span>
+ <span class="b">++++</span> o$@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+o</span> ·o~ ~oo~ ~oxo· <span class="b">o+==</span>
+ <span class="b">xx**+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">==++**+x</span>
+ <span class="b">x+==**+*x~</span> <span class="b">++*=**==**+*+x</span> <span class="b">x+*=**==**=*++</span> <span class="b">~x*=****==xx</span>
+ <span class="b">x+++****==++</span> <span class="b">++++********++++</span> <span class="b">++==******=++x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_092.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_092.txt
new file mode 100644
index 0000000..0407990
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_092.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++xx</span>
+ <span class="b">===*%%%%*%****%*%%%%*===</span>
+ <span class="b">++**=%++</span> <span class="b">++%=**++</span>
+ <span class="b">===*</span> <span class="b">**==</span>
+ <span class="b">x+**+x</span> ~+*$@@@@@@@@@@@@$*+~ <span class="b">x+**+x</span>
+ <span class="b">++==</span> =$@@@@@$$$$$$$$$$$$$$@@@@@$= <span class="b">==++</span>
+ <span class="b">++*=</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">=*++</span>
+ <span class="b">x+==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==+x</span>
+ <span class="b">=*o</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">o*=</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">==</span> =@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">x+++</span> =@$$$$@$**@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++xx</span>
+ <span class="b">+++·</span> ·@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@%~ ~$$$$$$@= x@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@%~ $$$$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%x $$$$$+ ·@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%***************$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x$@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@$ <span class="b">·+==</span>
+ <span class="b">++++</span> =@@@@@@@%o ~%@@@@@@@@@+ +@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">x+=*=+</span> <span class="b">++%%++</span> <span class="b">%%=+</span> <span class="b">=*====xx</span>
+ <span class="b">==**=*==++*=*=**==**=*=*++++=**=**===*=**%++++==%***==++xx</span>
+ <span class="b">++++==**==++</span> <span class="b">++==****==++++</span> <span class="b">++++****==++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_093.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_093.txt
new file mode 100644
index 0000000..06e4f4d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_093.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++xx</span>
+ <span class="b">x+==*%*%*%========%*%*%*==+x</span>
+ <span class="b">++**=*+x</span> <span class="b">x+*=**++</span>
+ <span class="b">xx**=*</span> <span class="b">==**xx</span>
+ <span class="b">++**o</span> x*$@@@@@@@@@@@@@@$*x <span class="b">o**++</span>
+ <span class="b">++=+</span> o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o <span class="b">+=++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">x+==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==+x</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">=*</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">*=</span>
+ <span class="b">++++</span> *@$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> o@$$$$@* o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$@* =$@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$% o*@@$$$$@@*++==========++=$@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@$+· $$$$$x $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o %$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ o$@$$$$@*~ ·+@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$@@ <span class="b">*=</span>
+ <span class="b">==+~</span> *@@@$$$$$$@@@@%%$@@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@* <span class="b">~+==</span>
+ <span class="b">++==</span> o%@@@@@@= x$@@@@@@@%x ~*@@@@@@@@= <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">ox====o+</span> <span class="b">++%%==</span> <span class="b">x+%%**</span> <span class="b">*=====xo</span>
+ <span class="b">++**=**%***=*=**++==***%****%**=**++==**=*=***%**=**==++</span>
+ <span class="b">x+++====++++</span> <span class="b">++++======++xx</span> <span class="b">++++======++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_094.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_094.txt
new file mode 100644
index 0000000..bd9522a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_094.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++====++++xx</span>
+ <span class="b">++==*%**==++oooo++==**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**+=</span> ···· <span class="b">=+**++</span>
+ <span class="b">++==</span> x=$@@@@@@@@@@@@@@@@$=x <span class="b">==++</span>
+ <span class="b">==++</span> =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">++==</span>
+ <span class="b">===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===</span>
+ <span class="b">++=+</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">ox**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= ·*@$$$$@x =@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@ ~@$$@ @$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$x +$$$@ x$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@@*==============*@@$$$$@$=++++==========*@@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@@@@@@@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@% <span class="b">==</span>
+ <span class="b">==+o</span> ~@@@@$$$$@@@@*+x+*@@@@$$$$$@@@@%=xx=$@@@@$$$$@@@@@*~ <span class="b">o+==</span>
+ <span class="b">xx==</span> x*$@@$*o o*$@@@@%+ ·=%@@@@$*o <span class="b">==xx</span>
+ <span class="b">====</span> <span class="b">~·++==</span>
+ <span class="b">====+=</span> <span class="b">=+*==*++</span> <span class="b">++****++</span> <span class="b">++=*====</span>
+ <span class="b">++*****%**%***==++++**=***%%%*****++++***%%%%%***=**++++</span>
+ <span class="b">++++++++++</span> <span class="b">++++++++++++</span> <span class="b">++++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_095.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_095.txt
new file mode 100644
index 0000000..b566afe
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_095.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++============++</span>
+ <span class="b">++**%%=*++o~····~o++*=%%**++</span>
+ <span class="b">+=**==</span> <span class="b">==**=+</span>
+ <span class="b">++**++</span> ·~~oo~~· <span class="b">++**++</span>
+ <span class="b">===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===</span>
+ <span class="b">===+</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">++==</span>
+ <span class="b">===x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x===</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+=++</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x·</span> =@$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$@= <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$% +%@@@@@$$$$$$$$$$% ·+%@@@@@$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@o +%@@@$$$$$$@ +%@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ o$$$$$$$$ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@%~ x@$$$$$@@@@*· +@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ $$$$$$$$x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@o ·+$@@@$$$$$@ ~+$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$* ~=$@@@@@$$$$$$$$$= ~=$@@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@$%$@@@@@$$$$$$$$$$$$$$@@$%$@@@@$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@+ <span class="b">==</span>
+ <span class="b">==+x</span> %@@@@@@@@@@%x· ·x*@@@@@@@@@@@@=~ ~+$@@@@@@@@@@@%x <span class="b">x+==</span>
+ <span class="b">++==o·</span> x*%%=x o=%%%*+~ ~+*%%%=x <span class="b">·x==++</span>
+ <span class="b">====oo</span> <span class="b">ox</span> <span class="b">xo====</span>
+ <span class="b">====+=+x</span> <span class="b">++======+=</span> <span class="b">======+=</span> <span class="b">~</span> <span class="b">++*=====</span>
+ <span class="b">++==*******=**==++++************==++++==*****%******++++</span>
+ <span class="b">++++++++++</span> <span class="b">+++++++++x</span> <span class="b">++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_096.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_096.txt
new file mode 100644
index 0000000..aff846a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_096.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">+=***%==+o</span> <span class="b">o+==%***=+</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·ooxxxxoo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">++**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$@@%%@@@@$$$$$$$$$$$$$$$@@$%%@@@@$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> =@$$$$$ x%@@@@$$$$$$$$$$$$ x$@@@$$$$$$$$$$@= <span class="b">+==</span>
+ <span class="b">==</span> @$$$$@$ +$@@@$$$$$$$@% +$@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@% =@$$$$$$$@* *@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$= $$$$$$$$@@@$+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$+ $$$$$$$$@@@$+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% =@$$$$$$$@* *@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$% +$@@@$$$$$$$@% +$@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$$$$$$$ x%@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$@@$%%@@@@$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> o$@@@@@@@@$+ ·*@@@@@@@@@@*· x$@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">xx==+x</span> ·oo~ ~oo~ ~ooo~ <span class="b">o+==+x</span>
+ <span class="b">++==+x</span> <span class="b">===+</span> <span class="b">+=**</span> <span class="b">x++==++</span>
+ <span class="b">++====+=+x</span> <span class="b">x+*+*=====+===o~</span> <span class="b">~o=+*+=====*==+x</span> <span class="b">++*=====++</span>
+ <span class="b">++++==********==++++==**********==++++++=*********==++++</span>
+ <span class="b">++++++</span> <span class="b">xxxx++xxxx</span> <span class="b">++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_097.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_097.txt
new file mode 100644
index 0000000..316e492
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_097.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">xx+=***%==x~</span> <span class="b">~x==%***=+xx</span>
+ <span class="b">x+===*++</span> <span class="b">++*===+x</span>
+ <span class="b">++**+x</span> ~ox++++xo~ <span class="b">x+**++</span>
+ <span class="b">==++</span> x*$@@@@@@@@@@@@@@@@@@$*x <span class="b">++==</span>
+ <span class="b">**+x</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">x+**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==+x</span>
+ <span class="b">+++x</span> @$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$$$ x$@@@$$$$$$$$$$$% +$@@@$$$$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ =$@@@$$$$$$$% =$@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ ~$$$$$$$$@@+ ~$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$$$$@@$+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x +$@$$$$$$$$o =$@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ x$@@@$$$$$$$$@% x$@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$~ o%@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@$ <span class="b">·x==</span>
+ <span class="b">++++</span> =@@@@@@@@*~ o%@@@@@@@@$+ =@@@@@@@@@*· <span class="b">++++</span>
+ <span class="b">ox==++</span> <span class="b">++==xx</span>
+ <span class="b">++===+</span> <span class="b">**%*</span> <span class="b">=*%%</span> <span class="b">+++===++</span>
+ <span class="b">++=====%+=++==*==========*==++==***========%+=++++*=*+====++</span>
+ <span class="b">xx++==******==++xxx+++==******==+++x+x++==******====++</span>
+ <span class="b">xx++xx</span> <span class="b">xx++xx</span> <span class="b">xx++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_098.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_098.txt
new file mode 100644
index 0000000..7eb1d4a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_098.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********==++xx</span>
+ <span class="b">x+==*%**=+~·</span> <span class="b">·~+=**%*==+x</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**xo</span> ·ox+====+xo· <span class="b">ox**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**+o</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+**</span>
+ <span class="b">==+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+==</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@@+·~=@@@@$$$$$$$$$$$$$$@@x·~=@@@@$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$$$ ·=@@@@$$$$$$$$$@% ~*@@@@$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$$$% ~*@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@*~ =$$$$$$$@@*· =$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x o$$$$$$$@@$x x$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@$$$$$$$$ +$@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ x$@@@@$$$$$$$$@% x$@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==+o</span> +@@@$$$$$$@@@@%**%@@@@$$$$$$@@@@$***%@@@@$$$$$$@@@@+ <span class="b">o+==</span>
+ <span class="b">++==</span> ·=$@@@@@%x o*@@@@@@$= =$@@@@@@*x <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">++====x+</span> <span class="b">x+****+x</span> <span class="b">****++</span> <span class="b">=+====++</span>
+ <span class="b">++=====**%****%==========********==========**%****%*======++</span>
+ <span class="b">++++======++++</span> <span class="b">++++========++</span> <span class="b">++++========++xx</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_099.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_099.txt
new file mode 100644
index 0000000..624e9ee
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_099.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">+++===********===+++</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==+x</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++*=x</span> ~ox+====+xo~ <span class="b">x=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">~+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@$o +$@@@$$$$$$$$$$$$$$@$o +$@@@$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$$$ +$@@@$$$$$$$$$@% +$@@@$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$$$$ =$@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%o x$$$$$$$@@%o +$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*~ +$$$$$$$@@*~ =$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=$@@$$$$$$$% ~*@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@@$$$$$$$$$@% ·=@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$@$x·~=@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@@% <span class="b">==</span>
+ <span class="b">==+x</span> ~$@@@@$$$@@@@$=xx+%@@@@$$$$@@@@@*+xx=$@@@@$$$$@@@@%~ <span class="b">x+==</span>
+ <span class="b">++==</span> o*$@@$%=· +*$@@@$*x ~=%@@@$%+ <span class="b">==++</span>
+ <span class="b">====</span> <span class="b">~·++==</span>
+ <span class="b">xx====+=</span> <span class="b">++**=*+=</span> <span class="b">x+====+=</span> <span class="b">x=+====xx</span>
+ <span class="b">++====*%%%***=====++====%%%%%**=====++====*%*%%*%*====++</span>
+ <span class="b">xx++++===+++++</span> <span class="b">xx++++====++++</span> <span class="b">xx++++====++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_100.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_100.txt
new file mode 100644
index 0000000..c66e087
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_100.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">+++===********===+++</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==+x</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++*=x</span> ~ox+====+xo~ <span class="b">x==++</span>
+ <span class="b">**++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">==+~</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">~+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$%· o*@@@@$$$$$$$$$$$$$@% o%@@@@$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@$ o%@@@@$$$$$$$$@% x%@@@@$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$$$$ x%@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$+ ~$$$$$$$@@$x o$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@= *$$$$$$$@@+ *$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@$$$$$$$% o%@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@@$$$$$$$$$$% o%@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$@@=ox*@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@=~ x%@@@@@@@@@@@%x ~=@@@@@@@@@@@@= <span class="b">++==</span>
+ <span class="b">xx==x·</span> o=***+~ x=***=x ~+****+~ <span class="b">·x==++</span>
+ <span class="b">====xo</span> <span class="b">+o</span> <span class="b">xx</span> <span class="b">xx====</span>
+ <span class="b">======+x</span> <span class="b">o=+=====*+x</span> <span class="b">=+=*====++</span> <span class="b">++======</span>
+ <span class="b">++==***%******==++++==***%********++++==************==++</span>
+ <span class="b">++++++++++</span> <span class="b">++++++++++</span> <span class="b">++++++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_101.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_101.txt
new file mode 100644
index 0000000..63dc3de
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_101.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx+===********===+xx</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==+x</span>
+ <span class="b">xx**=*+x</span> <span class="b">x+*=**xx</span>
+ <span class="b">++*=xo</span> ·ox+====+xo· <span class="b">ox=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$% ~*@@@@$$$$$$$$$$$$$@* o*@@@@$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% o*@@@@$$$$$$$$@% o%@@@@$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$+ ·$$$$$$$$@$+ ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$% x%@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@$+ ·=@@@@@@@@@@@*~ o%@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">ox==+~</span> x+=+o x+=+x· o+==+o <span class="b">~+==+x</span>
+ <span class="b">++==+x</span> <span class="b">++</span> <span class="b">==</span> <span class="b">++==++</span>
+ <span class="b">++====++</span> <span class="b">x+*+==**==++</span> <span class="b">ox=+==***=+*</span> <span class="b">=+==**++</span>
+ <span class="b">++==**********==++xx++**********==++++++************++++</span>
+ <span class="b">++++++xx</span> <span class="b">++++++xx</span> <span class="b">xx++++xx</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_102.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_102.txt
new file mode 100644
index 0000000..a53995b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_102.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx+===********===+xx</span>
+ <span class="b">+++=****+=o·</span> <span class="b">·o==****=++x</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**+x</span> ~x++==++x~ <span class="b">x+**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**xx</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">xx**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@% ~*@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@$ ~*@@@@$$$$$$$$@% o*@@@@$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$=· ·$$$$$$$$@$+ ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$% x$@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=x+%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@%~ o%@@@@@@@@@$+ =@@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">ox==+x</span> oo~ ~oo· ~oo~ <span class="b">x+==xo</span>
+ <span class="b">x+==++</span> <span class="b">++**</span> <span class="b">%%</span> <span class="b">++==++</span>
+ <span class="b">++=*==+*xx</span> <span class="b">~x++*=**=*===*+x</span> <span class="b">++*=**==**+*++</span> <span class="b">x+*===*=++</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">++==********==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_103.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_103.txt
new file mode 100644
index 0000000..04ce9a0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_103.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">x++====******====++x</span>
+ <span class="b">++==***%==xo</span> <span class="b">ox==%***==+x</span>
+ <span class="b">xx=*=*++</span> <span class="b">++*=*=xx</span>
+ <span class="b">++**++</span> ~ox++++xo~ <span class="b">++**++</span>
+ <span class="b">**++</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">++**</span>
+ <span class="b">**+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$% ~*@@@@$$$$$$$$$$$$$@* o*@@@@$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> *@$$$@% o*@@@@$$$$$$$$@% o%@@@@$$$$$$$@* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ o%@@$$$$$$$$ o%@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$= ·$$$$$$$$@$+ ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$$@@+ %$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$$% x$@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$@@=x+%@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">++++</span> %@@@@@@@@@*· *@@@@@@@@@$x x$@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">==+x</span> ·· ·· ·· <span class="b">x+==</span>
+ <span class="b">x+==++</span> <span class="b">+=%%</span> <span class="b">+%*+</span> <span class="b">++==++</span>
+ <span class="b">xx==**=*++xxxx*=*=**==**=*++xxxx+=*=**==**=*=+xxxx++*+**==++</span>
+ <span class="b">++++******==++</span> <span class="b">xx++*******=++++</span> <span class="b">++++=*******++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_104.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_104.txt
new file mode 100644
index 0000000..6447b65
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_104.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++=====**=====++xx</span>
+ <span class="b">++++***%**++~·</span> <span class="b">·~++**%***+++x</span>
+ <span class="b">xx==*%=+</span> <span class="b">+=%*==xx</span>
+ <span class="b">++**++</span> ~~oooo~~ <span class="b">++**++</span>
+ <span class="b">====</span> ·+%@@@@@@@@@@@@@@@@@@%+· <span class="b">====</span>
+ <span class="b">**+x</span> ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">x+**</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">++=+</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">xx==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> $$$$$@%· o%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==+·</span> =@$$$@$ x%@@@@$$$$$$$$@% x%@@@@$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$$$$ x$@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$+ ~$$$$$$$@@$x o$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@= =$$$$$$$@@= *$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@$$$$$$$% o%@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@@$$$$$$$$$$% o*@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=oo*@@@@$$$$$$$$$$$$$$@@+ox*@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·x==</span>
+ <span class="b">+++=</span> =@@@@@@@@@= +$@@@@@@@@%o ~%@@@@@@@@$= <span class="b">++++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">=*%%</span> <span class="b">++%%++</span> <span class="b">+=**+x</span>
+ <span class="b">++**=*=+++++******++**=%*=++++==*=**++**=*==++++++*=**++</span>
+ <span class="b">xx++======++++</span> <span class="b">++======++++</span> <span class="b">++++==**==++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_105.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_105.txt
new file mode 100644
index 0000000..3a11958
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_105.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++============++xx</span>
+ <span class="b">++++**%%**==xo~~~~ox==**%%**+++x</span>
+ <span class="b">xx==**==</span> <span class="b">==**==xx</span>
+ <span class="b">++**+=</span> ·~~~~· <span class="b">=+**++</span>
+ <span class="b">===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===</span>
+ <span class="b">**++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++**</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">++=+</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">+=++</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">ox==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">++++</span> $@$$$@$o +$@@@$$$$$$$$$$$$$$@$~ +$@@@$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==+·</span> +@$$$$$ +$@@@@$$$$$$$$@% +$@@@$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$$$$ +$@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%o x$$$$$$$@@%o x$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*~ +$$$$$$$@@*~ =$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@$$$$$$$% ~*@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@@$$$$$$$$$@% ~*@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$@$x·~=@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">++==</span> =$@@@@@@@$= x%@@@@@@@@%~ *@@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">==++</span> <span class="b">++==</span>
+ <span class="b">===+</span> <span class="b">==*%+x</span> <span class="b">++%%=+</span> <span class="b">+===</span>
+ <span class="b">++**=%==++++*=**==++**=*==++++***=**++******++++==%=**++</span>
+ <span class="b">++======++++</span> <span class="b">++======++++</span> <span class="b">++++======++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_106.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_106.txt
new file mode 100644
index 0000000..d472c43
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_106.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++====++++++</span>
+ <span class="b">xx+=***%%%**==++++==**%%%***=+xx</span>
+ <span class="b">ox==**=*x</span> <span class="b">ox*=**==xo</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====</span> ~+%$@@@@@@@@@@@@@@$%+~ <span class="b">====</span>
+ <span class="b">===+</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">+===</span>
+ <span class="b">===+</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">+===</span>
+ <span class="b">++=+</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">+=++</span>
+ <span class="b">ox==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==xx</span>
+ <span class="b">==+x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">xx==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@% <span class="b">==xo</span>
+ <span class="b">++++</span> %@$$$@@+~o=@@@@$$$$$$$$$$$$$$@@+~o*@@@@$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$% o*@@@@$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$$$% o%@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@=· =$$$$$$$@@= *$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x o$$$$$$$@@$x x$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@$$$$$$$$ +$@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ x%@@@@$$$$$$$$@% x$@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">x+==</span> +$@@@@@@@$+ o%@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++**=***++==%***==++***%**++++*=%**=++==***%==++**%=**++</span>
+ <span class="b">x+++==++++</span> <span class="b">x+++++==++xx</span> <span class="b">++++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_107.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_107.txt
new file mode 100644
index 0000000..0d5034d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_107.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++*****%*%=******=%*%*****++</span>
+ <span class="b">++**=*+x</span> <span class="b">x+*=**++</span> <span class="b">x</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====ox</span> o=%@@@@@@@@@@@@@@%=o <span class="b">xo====</span>
+ <span class="b">===+</span> ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ <span class="b">+===</span>
+ <span class="b">===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===</span>
+ <span class="b">++==</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">ox==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xo</span>
+ <span class="b">==+x</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">ox==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">++++</span> *@$$$@@*x+%@@@@$$$$$$$$$$$$$$@@*x+%@@@@$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==x·</span> ~@$$$$$ x%@@@@$$$$$$$$$$% x$@@@@$$$$$$$$@~ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ x$@@@$$$$$$$% +$@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ %@$$$$$$@@x %$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@x @$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$=· $$$$$$$$@$=· ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$$$$ o%@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> x%@@@@@@@$+ ~%@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====x</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++***%**====%***++++==*%**====%***==++++***%==+=***=**++</span>
+ <span class="b">xx++++++++</span> <span class="b">++==++++</span> <span class="b">++++++++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_108.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_108.txt
new file mode 100644
index 0000000..0b07a3b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_108.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==***%*%*%%%%%%*%*%***==++</span>
+ <span class="b">++**=*==</span> <span class="b">==*=**++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**++</span> ~+*%@@@@@@@@@@%*+~ <span class="b">++**++</span>
+ <span class="b">====</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">====</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">++==</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">==++</span>
+ <span class="b">xx==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xx</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">ox==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">++++</span> x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$@$%%@@@@$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o%@@@@$$$$$$$$$$$$ o%@@@@$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ o%@@@$$$$$$$@% x%@@@$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$$$@* x@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*· $$$$$$$$@@@@* $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+· $$$$$$$$@@$+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@$$$$$$$$o x$@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$@% x%@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o*@@@@$$$$$$$$$$$$$o o%@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">ox==</span> x%@@@@@@@$+ ~*@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==ox</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">x+***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">+++++++x</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_109.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_109.txt
new file mode 100644
index 0000000..c187dd5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_109.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==****%%*%%%%%%*%%****==++</span>
+ <span class="b">++****=*++</span> <span class="b">++*=****++</span>
+ <span class="b">++=*==+=</span> <span class="b">=+====++</span>
+ <span class="b">++**++</span> ~+=%$$@@@@$$%=+~ <span class="b">++**++</span>
+ <span class="b">++==oo</span> +%@@@@@@@@$$$$$$@@@@@@@@%+ <span class="b">oo==++</span>
+ <span class="b">++==</span> o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o <span class="b">==++</span>
+ <span class="b">++==~</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">~==++</span>
+ <span class="b">ox==+~</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">~+==xo</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">++++</span> ~@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@~ <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$~ =@@@@$$$$$$$$$$$$$· ·=@@@@$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@% ·=$@@@$$$$$$$@% ·*@@@@$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$= ·*@$$$$$$$$+ ~*@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@*x $$$$$$$$@@@*o $$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$+ $$$$$$$$@@@%x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* =@$$$$$$$@= =@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$@% +$@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$ +$@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$@@$$@@@$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==ox</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">x+***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_110.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_110.txt
new file mode 100644
index 0000000..0ecf74c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_110.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++==******%%%*******==++++</span>
+ <span class="b">++==**=***++</span> <span class="b">++******==++</span>
+ <span class="b">++==**=*+o</span> <span class="b">o+*=**==++</span>
+ <span class="b">++====x</span> ·o++====++o· <span class="b">x====++</span>
+ <span class="b">++==++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++==++</span>
+ <span class="b">++==xo</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">ox==++</span>
+ <span class="b">++==+~</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">~+==++</span>
+ <span class="b">==+x</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">x+==</span>
+ <span class="b">++==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==++</span>
+ <span class="b">==x·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·x==</span>
+ <span class="b">++==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ <span class="b">==++</span>
+ <span class="b">+++x</span> @$$$$$* ·=@@@@$$$$$$$$$$$$$$= ~=@@@@$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@$ ·*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$$$$ ~*@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@=~ $$$$$$$$@@=· ·$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$$$$$$@@@@o $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x %$$$$$$$@@x %$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$% +$@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$% +$@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*++%@@@@$$$$$$$$$$$$$$@@*+=%@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+===***++==%***++x+==*%**====**%*==xx++***%==++***=**++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_111.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_111.txt
new file mode 100644
index 0000000..f9eafa6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_111.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++xxxx++</span>
+ <span class="b">xx++==****************==++xx</span>
+ <span class="b">x+==**==*%=*++oo</span> <span class="b">oo++==%*==**==++</span>
+ <span class="b">x+++**=*+=</span> <span class="b">=+*=**+++x</span>
+ <span class="b">++====++</span> ~oooo~ <span class="b">++====++</span>
+ <span class="b">++===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===++</span>
+ <span class="b">++==+x</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">x+==++</span>
+ <span class="b">x+==+x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x+==+x</span>
+ <span class="b">==++</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+===</span>
+ <span class="b">++==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==++</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">++==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $$$$$@@x ·+$@@@$$$$$$$$$$$$$$@$o ~=@@@@$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x·</span> =@$$$$$ =$@@@$$$$$$$$$@% =$@@@$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ =$@@$$$$$$$% ·=@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%o +$$$$$$$@@*~ +$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$$$$$$@@@@+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$$$@@%~ +$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@$$$$$$$$ ·=@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$$% =$@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$@$o ·=$@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+**=%*=++++%***=+++==*%**++++**%*==+++=***%++++==%=**++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_112.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_112.txt
new file mode 100644
index 0000000..75ce50d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_112.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++====********====++xx</span>
+ <span class="b">++==**=**%****++++****%**=**==++</span>
+ <span class="b">++=====*+x</span> <span class="b">++*=====++</span>
+ <span class="b">++======</span> <span class="b">======++</span>
+ <span class="b">++====xx</span> o=%$@@@@@@@@@@@@$%=o <span class="b">xx====++</span>
+ <span class="b">++===+</span> ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· <span class="b">+===++</span>
+ <span class="b">xx===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===xx</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">++==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==++</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$$@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> *@$$$$@$*%@@@@$$$$$$$$$$$$$$$@@$*%@@@@$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$ ~*@@@@$$$$$$$$$$$$ ~*@@@@$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$$$@% o*@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@%~ o$$$$$$$$@%· x$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@%~ $$$$$$$$$@@@%· $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%+ $$$$$$$$@@%x $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o x$@$$$$$$$$~ +$@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$@% +$@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ x%@@@@$$$$$$$$$$$$$x x%@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* <span class="b">==xx</span>
+ <span class="b">==++</span> <span class="b">++==</span>
+ <span class="b">===+</span> <span class="b">++%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++**=%+++x++**%*=+++===*==++++==*===++++*%**++++++****++</span>
+ <span class="b">++++====++</span> <span class="b">++====++</span> <span class="b">++====++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_113.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_113.txt
new file mode 100644
index 0000000..ee9846d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_113.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++============++++xx</span>
+ <span class="b">++====**=**%%%****%%%**=**====++</span>
+ <span class="b">++====**=*o~</span> <span class="b">~o*=**====++</span>
+ <span class="b">======++</span> <span class="b">++======</span>
+ <span class="b">x+====++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++====++</span>
+ <span class="b">xx====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====xx</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">=+==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">x+==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==+x</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">xx==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xx</span>
+ <span class="b">++++</span> x@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$o ·*@@@@$$$$$$$$$$$$$~ ~*@@@@$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@% ~*@@@@$$$$$$$@* ~*@@@@$$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$+ ~*@$$$$$$$$x o*@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$$$$$@@$*~ @$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$+ $$$$$$$$@@@$+ @$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* +@$$$$$$$@* =@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% +$@@@$$$$$$$@% +$@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$ +$@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@@$$$$$$$$$$$$$$$$@@$$@@@@$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx++</span> ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">==+x</span> ·~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++</span>
+ <span class="b">++++==++++</span> <span class="b">x+++====++xx</span> <span class="b">++++====++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_114.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_114.txt
new file mode 100644
index 0000000..396d5a2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_114.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++++++++++++++++</span>
+ <span class="b">++++==****=***%%%%***=****==++++</span>
+ <span class="b">++++=====%==o~</span> <span class="b">~o==%=====++++</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">====++</span> ~x=**%%%%**=x~ <span class="b">+=====</span>
+ <span class="b">====++</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">++====</span>
+ <span class="b">====o~</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· <span class="b">~o====</span>
+ <span class="b">++==x·</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·x==++</span>
+ <span class="b">xx==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==xx</span>
+ <span class="b">=+++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">+++=</span>
+ <span class="b">xx==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==xo</span>
+ <span class="b">++++</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+o</span> @$$$$@$~ x%@@@@$$$$$$$$$$$$$@%· x%@@@@$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> %$$$$$$ x%@@@@$$$$$$$$@% x%@@@@$$$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$$$$ +$@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%+ o$$$$$$$@@%x x$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $@$$$$$$$@@@@+ $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=· =$$$$$$$@@= *$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@$$$$$$$% o*@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$$$% ~*@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$@@+~o*@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">x+++</span> x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x <span class="b">+=++</span>
+ <span class="b">==+o</span> ox++o ~x++x~ o++xo <span class="b">o+==</span>
+ <span class="b">**+x</span> <span class="b">**</span> <span class="b">**</span> <span class="b">x+**</span>
+ <span class="b">++**==o~</span> <span class="b">++*+**++**+*xo</span> <span class="b">ox*+**++**=*++</span> <span class="b">~o=+**=+</span>
+ <span class="b">++==***=++++</span> <span class="b">++==****==++</span> <span class="b">x+++****==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_115.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_115.txt
new file mode 100644
index 0000000..f5d198a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_115.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++++==****************==++++</span>
+ <span class="b">++===****%++~~</span> <span class="b">~~++%****===++</span>
+ <span class="b">++=====*+x</span> <span class="b">x+*=====++</span>
+ <span class="b">++====xx</span> ·ox+====+xo· <span class="b">xx====++</span>
+ <span class="b">====++</span> x%$@@@@@@@@@@@@@@@@@@$%x <span class="b">++====</span>
+ <span class="b">++==+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+==++</span>
+ <span class="b">++==+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+==++</span>
+ <span class="b">ox==++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++==xo</span>
+ <span class="b">+++=</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">=+++</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==xo</span>
+ <span class="b">++==</span> @@$$$$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+x</span> @$$$$$@*x+%@@@@$$$$$$$$$$$$$$@@*x+%@@@@$$$$$$$$$$$$@ <span class="b">x+==</span>
+ <span class="b">==</span> *$$$$$$ x%@@@@$$$$$$$$$$% x%@@@@$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ x%@@@$$$$$$@% +$@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ *$$$$$$$@@x %$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$$$$$$@@@@x $$$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@=· $$$$$$$$@$= ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$$$$ o*@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ ~*@@@@$$$$$$$$@% ~*@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ~*@@@@$$$$$$$$$$$$$@* ~*@@@@$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x~</span> ~+===+o x====x o+=*=+~ <span class="b">~+**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">x+**</span>
+ <span class="b">==**++</span> <span class="b">~o*+**=***+=</span> <span class="b">=+**==**+*o~</span> <span class="b">++====</span>
+ <span class="b">+==****==+++</span> <span class="b">++=******=++</span> <span class="b">++===*%**==+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_116.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_116.txt
new file mode 100644
index 0000000..0d845be
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_116.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++++==************==++++</span>
+ <span class="b">++++****=**%=+xo~~~~ox+=***=****++++</span>
+ <span class="b">xx++===*==</span> <span class="b">=+*===++xx</span>
+ <span class="b">++====++</span> ·~~~~· <span class="b">++====++</span>
+ <span class="b">++===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===++</span>
+ <span class="b">++==++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++==++</span>
+ <span class="b">x+===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===+x</span>
+ <span class="b">==++</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">++==</span>
+ <span class="b">++==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">++==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $@$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==x·</span> +@$$$$$x o%@@@@$$$$$$$$$$$$$o x%@@@@$$$$$$$$$$@+ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$@% o%@@@@$$$$$$$@* x%@@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$o o%@$$$$$$$$~ x%@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$$$$@@%+ $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@* $$$$$$$$@@@$* $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* x@$$$$$$$@* x@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@$$$$$$$@* x%@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$$$ x%@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%$@@@@$$$$$$$$$$$$$$$$@@%$@@@@$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o +*$$$$*+ o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~·**xx</span>
+ <span class="b">ox**+*</span> <span class="b">++****=*+x</span> <span class="b">x+*=****++</span> <span class="b">*+**xx</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">x++=*%%%%%%*=++x</span> <span class="b">++**%%%%%*==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_117.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_117.txt
new file mode 100644
index 0000000..591cfae
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_117.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++====********====++++</span>
+ <span class="b">++==**=**%**++++++++**%**=**==++</span>
+ <span class="b">++=*=*=*</span> <span class="b">*=*=*=++</span>
+ <span class="b">x+====+=</span> <span class="b">=+====+x</span>
+ <span class="b">++===+</span> ·+%$@@@@@@@@@@@@@@$%+· <span class="b">+===++</span>
+ <span class="b">x+==++</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">++==+x</span>
+ <span class="b">ox==++</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">++==xx</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==++</span>
+ <span class="b">==+x</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">x+==</span>
+ <span class="b">++==</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==++</span>
+ <span class="b">++++</span> %@$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$@@%=*@@@@@$$$$$$$$$$$$$$@@%**@@@@$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$% +$@@@@$$$$$$$$$$% +$@@@@$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@* o*@@@$$$$$$@+ o*@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@%· x$$$$$$$@* x$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@* *@$$$$$$@@@@= %@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o ~$$$$$$$@%~ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@* ·=$@@$$$$$$@= ·=$@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$% o%@@@@@$$$$$$$$$* x%@@@@$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*+=$@@@@$$$$$$$$$$$$$$@@*+=$@@@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x <span class="b">o+++</span>
+ <span class="b">**</span> +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ <span class="b">**xo</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">x+**++</span> <span class="b">ox****==</span> <span class="b">==****xo</span> <span class="b">=+**++</span>
+ <span class="b">+=**%%%%%%%*==++</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">x+==*%%%%%%%**++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_118.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_118.txt
new file mode 100644
index 0000000..436dfbe
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_118.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++++========++++++</span>
+ <span class="b">++==*****%%%********%%%*****==++</span>
+ <span class="b">++==**=*=+</span> <span class="b">++*=**==++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">xx====ox</span> ~=%$@@@@@@@@@@@@$%=~ <span class="b">xo====xx</span>
+ <span class="b">x+===+</span> ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· <span class="b">+===+x</span>
+ <span class="b">===+</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">+===</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">x+==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==+x</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$+xxxxxxxxxxxxxx=$@$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o x$$$x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@~ o@$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@%o··············o%@$$$@%o··············~*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@@@@@@@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++**oo</span> <span class="b">==$%++</span> <span class="b">++%%==</span> <span class="b">oo==++</span>
+ <span class="b">x+==*%**====****++++++*%**====**%*++++++**=*====*=%*==++</span>
+ <span class="b">++++++</span> <span class="b">++++++++</span> <span class="b">++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_119.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_119.txt
new file mode 100644
index 0000000..a334097
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_119.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++====++++++</span>
+ <span class="b">xx++*******%*%%**%%*%*******++xx</span>
+ <span class="b">xx+=****==</span> <span class="b">==****=+xx</span>
+ <span class="b">++**+*x</span> <span class="b">x*+**++</span>
+ <span class="b">====x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x====</span>
+ <span class="b">====</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">====</span>
+ <span class="b">==++</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">++==</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">xx==x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·o==xx</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">ox==</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">++++</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==+·</span> @$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$@@@@$%==**$@@@@$$$$$$$$@@@@@%*==*%@@@@$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@@= =@@$$$$$@%o o$@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@* + *$$$$@ xo o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$* ·x * $$$@ * = =@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ * x $$$$ x+ % * +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ + *$$$@ x o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ ·· o+=$@@$$$$@x ~ ·++%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@= =@@@$$$$$$$@@*o @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· <span class="b">+++x</span>
+ <span class="b">==++</span> ·~· ~~ ·~· <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">++==</span>
+ <span class="b">++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++</span>
+ <span class="b">+++++===++</span> <span class="b">+++==+++</span> <span class="b">+++===++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_120.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_120.txt
new file mode 100644
index 0000000..8bd15cf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_120.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x++++++++++++++x</span>
+ <span class="b">++==*****%%%%%%%%%%*****==++</span>
+ <span class="b">++**=*=*</span> <span class="b">*=*=**++</span>
+ <span class="b">xx**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**x+</span> ~+*$$@@@@@@@@$$*+~ <span class="b">+x**++</span>
+ <span class="b">====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">ox==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xo</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">++++</span> x@$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$$@@@*x· ·x*$@@$$$$$$$$@@@%=~ o=%@@@$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$$@@+ x@@$$$$$@* $@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@% ~~o=$x $$$$$@ ·~~x%= +@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ % = @$$@ =· %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ o *x $$$$ ~+ x @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ $ x · @$$$ ·+ + ~ *$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * $$$$@~ x· +@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·o%*xxx=$@$$$$$@~ ~=%+ox+%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@= x@@@$$$$$$$@$· @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$=x~··~x%$$$$$$$$$$$@@@$*+o··~o*$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**+~</span> ~+=*=+o ·x=**=x· o+=*=+~ <span class="b">·+**</span>
+ <span class="b">**xx</span> <span class="b">++</span> <span class="b">++</span> <span class="b">o+**xx</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**+=</span> <span class="b">++====</span>
+ <span class="b">+==**%*==+++</span> <span class="b">++=******=++</span> <span class="b">+++=**%%*===</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_121.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_121.txt
new file mode 100644
index 0000000..ad287b6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_121.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++****%%%%%%%%%%%%****++++</span>
+ <span class="b">++***%*%x~</span> <span class="b">~x%*%***++</span>
+ <span class="b">x+**==++</span> <span class="b">++==**++</span>
+ <span class="b">++**++</span> ·x*%$$@@@@@@$$%*x· <span class="b">++**++</span>
+ <span class="b">++==~</span> o*@@@@@@@@$$$$$$$$@@@@@@@@*o <span class="b">~==++</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">==++</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">==x~</span> @$$$$$$@@%x o*@@$$$$$$$$@@$=~ ~=$@@$$$$$@ <span class="b">~x==</span>
+ <span class="b">==</span> $$$$$$@$· $@$$$$$@+ *@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@* ·~·~x$o %$$$$@ o··o%= ~@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * = @$$@ % o *@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ * *+ $$$$ oo * @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ % @$$$ * %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ + @$$$@x ~o *@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@ ·x==x=*%@@$$$$$@x o+=x+=%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%· x@@$$$$$$$$@@x @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@%=++++*$$$$$$$$$$$$$@@@$*=+++=%$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o x*$$$$*x o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~~**xx</span>
+ <span class="b">xx**+=</span> <span class="b">++******+x</span> <span class="b">x+******++</span> <span class="b">*+**xx</span>
+ <span class="b">++==*%%%%%%*=+</span> <span class="b">xx==*%%%%%%*=+xx</span> <span class="b">+=*%%%%%%*==++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_122.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_122.txt
new file mode 100644
index 0000000..5388065
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_122.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x++++++x</span>
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">x+==**=*+o</span> <span class="b">o+*=**==+x</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> x=%$$@@@@@@$$%=x <span class="b">++**++</span>
+ <span class="b">++**oo</span> ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">++=*</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">*=++</span>
+ <span class="b">==x~</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> o@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">++x~</span> @$$$$$$@@%x o*@@$$$$$$$$@@$=· ·=$@@$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$@$ $@$$$$$@x =@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@= ~· o%~ *$$$$$ ~ ·*+ @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% = * @$$@ $ + =@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ ~$ *+ $$$$ xo @ @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= = @$$@ % $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ ~· x@$$$@= x · $@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@x *@@@@$$$$$@% o$@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@= x@$$$$$$$$$@@%o @$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@$$$$@@$$$$$$$$$$$$@@@@@@$$$@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">+++o</span> =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= <span class="b">~+++</span>
+ <span class="b">ox==</span> ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ <span class="b">==xo</span>
+ <span class="b">++==</span> <span class="b">==++</span>
+ <span class="b">++**++</span> <span class="b">=*%%==</span> <span class="b">==%%*=</span> <span class="b">+x**++</span>
+ <span class="b">+=***%%%%*%=**+x</span> <span class="b">++***%%%%%%***++</span> <span class="b">x+**=%*%%%%***=+</span>
+ <span class="b">xxxx</span> <span class="b">xxxx</span> <span class="b">xxxx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_123.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_123.txt
new file mode 100644
index 0000000..db5c78f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_123.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++==***%*%%%%%%*%***==++</span>
+ <span class="b">xx==***%+x</span> <span class="b">x+%***==xx</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> o=*%$$@@@@$$%*=o <span class="b">++**++</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">x+=*</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">*=xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@@*o ~*@@@$$$$$$$@@%x +%@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@% %@$$$$@@o +@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@+ o ~*~ =@$$$$ ·~ =+ @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$% ·= * @$$@ $ + =@$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ ~@ *x $$$$ x~ @ @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@* +~ ·@$$@ % $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ ~ · =@$$$$* x o ~@@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ *@@@@$$$$$@$ ~@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%o +$$$$$$$$$$@@$+ $$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++*=o</span> <span class="b">+=%$++</span> <span class="b">++$%=+</span> <span class="b">o==++</span>
+ <span class="b">x+==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===xx</span>
+ <span class="b">++++++xx</span> <span class="b">++++++++</span> <span class="b">xx++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_124.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_124.txt
new file mode 100644
index 0000000..d7a2e4e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_124.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++++***%%$%%%%$%%***++++</span>
+ <span class="b">++***%+x</span> <span class="b">x+%***++</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> o=*%$$@@@@$$%*=o <span class="b">++**+x</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">x+**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$$$$@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@$= +$@@$$$$$$$@@*o o*@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@* *@$$$$@@· x@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@o o = +@$$$% o· xx @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$% ~+ * @$$@ $ * +@$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ o@ *x $$$$ x~ @ @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@* xo o@$$@ $ $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@~ ~ ~o *@$$$$% o + x@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= *@@@@$$$$$@$ ~@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$x +$$$$$$$$$$$@@=· $$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">x+++</span> ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">===x</span> ~~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">===+</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">+===</span>
+ <span class="b">++**=%+x··~o==*===++***%=+~··~+=%***++===*==o~··x+%=**++</span>
+ <span class="b">++=====+++</span> <span class="b">xx++=====+xx</span> <span class="b">+=======++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_125.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_125.txt
new file mode 100644
index 0000000..4a14a3f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_125.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+%***=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> o=%%$$@@@@$$%%=o <span class="b">++**xx</span>
+ <span class="b">x+**oo</span> ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ <span class="b">oo**+x</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@$+ x%@@$$$$$$$@@*· ~*@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@* *@$$$$@$ ~@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@o o + x@$$$% x o~ @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$@* ox * $$$@ $ * +@$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ o@ *o $$$$ x~ @ @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@* ox o@$$@ $ $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@o ~ ox %@$$$$% ~ = +@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* =@@@@$$$$$@@· ·@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ +$$$$$$$$$$$@@*o $$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x <span class="b">++xx</span>
+ <span class="b">==+o</span> ~x+xo ·x++x· ox+xo <span class="b">o+==</span>
+ <span class="b">**++</span> <span class="b">==</span> <span class="b">=*</span> <span class="b">x+**</span>
+ <span class="b">+=**==o·</span> <span class="b">++*=**==**=*+o</span> <span class="b">o+*=**==**=*+x</span> <span class="b">·o=+**=+</span>
+ <span class="b">++==****++++</span> <span class="b">++==****==++</span> <span class="b">++++****==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_126.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_126.txt
new file mode 100644
index 0000000..4ed857c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_126.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==**%%%%%%%%%%%%**==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+%***=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> ·x=%$$@@@@@@$$%=x· <span class="b">++**xx</span>
+ <span class="b">x+**~</span> ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ <span class="b">~**+x</span>
+ <span class="b">++**</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@o <span class="b">++xx</span>
+ <span class="b">++x~</span> @$$$$$@@%o ~*@@$$$$$$@@$+ =@@$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$@= =@$$$$@$ @$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@· o o o@$$$* x @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@* xo * $$$@ % % +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ o@ =o $$$$ x~ @ @ +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% ·+ x@$$@ $ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@x ~ x+ ~$@$$$$$ ·* =@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% =@@@@$$$$$@@o @@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*~ =$$$$$$$$$$$@@%x ·$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x~</span> ~+***=o ·x=**=x· o=***+o <span class="b">·x**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**oo</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**=*</span> <span class="b">++====</span>
+ <span class="b">++=**%%**=++</span> <span class="b">++=**%%**=++</span> <span class="b">++=**%%*==++xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_127.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_127.txt
new file mode 100644
index 0000000..a6d93b3
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_127.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">+++=*%%%%%%%%%%%%%%*=+++</span>
+ <span class="b">+=*%=*x·</span> <span class="b">·x*=%*=+</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++**+x</span>
+ <span class="b">++**</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">**++</span>
+ <span class="b">xx**</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">**xx</span>
+ <span class="b">xx**</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o <span class="b">**xx</span>
+ <span class="b">=*x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x*=</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">=*</span> o@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">xx++</span> x@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$@@@@@@@@@@@@@$$$$$$@x <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@*~ *@@$$$$$$@@$x x$@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@+ +@$$$$@% @$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@ ·~ ~ ~@$$@* + $$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= +~ * $$$@ % $ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ o@ =~ $$$$ xo @ $ +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% + +@$$@ % @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@+ += o$@$$$$$ ~%~ ·*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$ =@@@$$$$$$$@x @@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@%x =$$$$$$$$$$$@@$+· ~$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% <span class="b">++++</span>
+ <span class="b">**x·</span> x*%%%*+ o=%%%%=o +*%%%*x <span class="b">·o**</span>
+ <span class="b">ox**xo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">~o**xx</span>
+ <span class="b">===*+x</span> <span class="b">*+****==++</span> <span class="b">++==****+*</span> <span class="b">o+*=**</span>
+ <span class="b">++==**%%%**=++</span> <span class="b">++=*%%%%*=++</span> <span class="b">++==*%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_128.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_128.txt
new file mode 100644
index 0000000..7efbabf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_128.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++=**%*%%%%%%%%%%*%**=++</span>
+ <span class="b">x+==*%=*</span> <span class="b">*=%*==+x</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">x+**++</span> o=%$@@@@@@@@@@$%=o <span class="b">++**+x</span>
+ <span class="b">++**</span> x%@@@@@@$$$$$$$$$$$$@@@@@@%x <span class="b">**++</span>
+ <span class="b">++==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==++</span>
+ <span class="b">x+**</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">**+x</span>
+ <span class="b">**x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">=*</span> x@$$$$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$@@@@$$$$$$$$$@x <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$$$@@@@$$$$$@@@@$$$$$$$$$$@@@@@$$$$@@@@@$$$$$@+ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@= +@@$$$$$$@@%~ ~%@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> @$$$$$@o ~~ o@$$$$@* ~~ $@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@ o~ ·@$$@= x $$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= * *~ $$$@ % @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ ~@ + $$$$ xo @ % =@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% * =@$$@ % @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= **· +@@$$$$@ o%o o%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@~ =@@@$$$$$$$@+ @@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@$+~ *$$$$$$$$$$$@@@*o x$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ <span class="b">x+++</span>
+ <span class="b">**o·</span> ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**o~</span> <span class="b">~~**xx</span>
+ <span class="b">xx**+=</span> <span class="b">++****=*+x</span> <span class="b">xx*=****++</span> <span class="b">==**+x</span>
+ <span class="b">++==*%%%%%**=+</span> <span class="b">++++*%%%%%%*++++</span> <span class="b">==**%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_129.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_129.txt
new file mode 100644
index 0000000..837a8bd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_129.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x++++++x</span>
+ <span class="b">+==**%%%%%****%%%%%**==+</span>
+ <span class="b">++===*+=</span> <span class="b">=+*===++</span>
+ <span class="b">===*</span> <span class="b">*===</span>
+ <span class="b">x+**x+</span> ·+*$@@@@@@@@@@@@$*+· <span class="b">+x**++</span>
+ <span class="b">++==</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">++==</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">=*++</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">**o·</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·o**</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">=*</span> +@$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">x+++</span> =@$$$$$$@@@@$%%%$$@@@$$$$$$$$$$@@@@$%%%%$@@@@$$$$$@= <span class="b">+++x</span>
+ <span class="b">+++·</span> ·@$$$$$@$x o$@$$$$$$@@* *@@$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$$@· ~xx ·@$$$$@= ·ox~ $@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@ +· ~ @$$@+ x $$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ * *~ $$$@ * @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ ·$ x @$$$ ox $ = =@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * *$$$@ * ~@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@* ·*%~ ~*@@$$$$@ +%x· +$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x +@@@$$$$$$$@* @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*x· ~*$$$$$$$$$$$@@@%+~ +$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> ~=%$$$$*o +%$$$$%+ o*$$$$%*o <span class="b">**</span>
+ <span class="b">xx**~~</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">++==**==x~</span> <span class="b">~x==**==++</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%%%%%%*==</span> <span class="b">x+==*%%%%%%*==+x</span> <span class="b">==**%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_130.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_130.txt
new file mode 100644
index 0000000..cf834c5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_130.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++***%%%==++++==%%%***++++</span>
+ <span class="b">++**=*+o</span> <span class="b">o+*=**++</span>
+ <span class="b">x+**==</span> <span class="b">==**+x</span>
+ <span class="b">++**</span> x*$@@@@@@@@@@@@@@$*x <span class="b">**++</span>
+ <span class="b">++*+</span> o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o <span class="b">+*++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">==</span> *@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@* <span class="b">==</span>
+ <span class="b">xx++</span> *@$$$$$@@@@$*+++=%@@@@$$$$$$$$$@@@$*=++=%$@@@$$$$$@* <span class="b">++xx</span>
+ <span class="b">==+·</span> o@$$$$$@%· %@$$$$$$@@x +@@$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$@ ·o+=o @$$$$@x ~x=x *@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@ * x @$$@o oo %$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ $ *x $$$$ = @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ * ~ @$$$ ~+ * x *@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * $$$$@ + x@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ o**xoo+%@@$$$$@· ~=%+oox*@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@= x@@@$$$$$$$@$~ @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$=xo~~o+%$$$$$$$$$$$@@@@*+o~~ox*$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@$$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%***++xx</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">xx++*%*%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_131.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_131.txt
new file mode 100644
index 0000000..9b79db3
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_131.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++==*%*%==++xxxx++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">+=++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@$ <span class="b">==</span>
+ <span class="b">x+++</span> %@$$$$$@@@$*xo~ox=$@@@$$$$$$$$@@@@%+o~ox+%@@@$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$@@* =@$$$$$$@$~ o@@$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ·o+%o $$$$$@~ ·~x*+ =@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$ * + @$$@· +~ %$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ ~ *x $$$$ ~+ o @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ $ x @$$$ ·= x · *@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ = $$$$@~ o~ =@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o==o++*$@$$$$$@o ~+*xx+=%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%· x@@$$$$$$$$@@o @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@%=+xx+*$$$$$$$$$$$$$@@@$*+xx+=%$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*=+++</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">x++=***%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_132.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_132.txt
new file mode 100644
index 0000000..fbcdcfb
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_132.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++===***==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**++</span> ·oxx++xxo· <span class="b">++**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">++**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++=+</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==x~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~x==</span>
+ <span class="b">ox==</span> @@$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$$@@$*o ~=$@@$$$$$$$$@@@%x ·x%@@@$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> =$$$$$@@o ~@@$$$$$@* %@$$$$$= <span class="b">+==</span>
+ <span class="b">==</span> @$$$$@* ·~~+%o %$$$$@ ··~x%= o@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$ * = @$$@ % ~ *@$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$@x @ * *+ $$$$ oo * @ o@$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= * @$$$ * %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ x ~@$$$@+ x %@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@~ oo·=%$@@$$$$$@= ~o·x%$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@+ x@$$$$$$$$$@@*· @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@$%%%%@@$$$$$$$$$$$$@@@@@$%%%$@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">o+++</span>
+ <span class="b">**</span> x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">x+****==</span> <span class="b">==****+x</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*==++</span> <span class="b">++==*%*%%%%*==++</span> <span class="b">xx==*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_133.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_133.txt
new file mode 100644
index 0000000..8aee11d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_133.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++==**%%%%***=++++</span>
+ <span class="b">++==*%**+x</span> <span class="b">x+**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">====</span> ox=******=xo <span class="b">====</span>
+ <span class="b">**++</span> ·=$@@@@@@@@@@@@@@@@@@@@$=· <span class="b">++**</span>
+ <span class="b">**+o</span> =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">o+**</span>
+ <span class="b">**+~</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">~x**</span>
+ <span class="b">+++x</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">x+++</span>
+ <span class="b">xx==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">ox==</span> @$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++o</span> @$$$$$@@@%x o*@@@$$$$$$$@@$+· ·=$@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$$@$ $@$$$$$@x =@$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$@+ ~~ ~%~ *@$$$$ ~ ·== @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$% = * @$$@ % + =@$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$@o @ ~@ *x $$$$ xo @ @ x@$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= =· @$$@ % $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ ·~ +@$$$$= o ~ $@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@x *@@@@$$$$$@% o@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*~ +@$$$$$$$$$@@$x @$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@@$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*=+xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx+=*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_134.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_134.txt
new file mode 100644
index 0000000..778a14e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_134.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++=**%%%%%%%%%%**=++++</span>
+ <span class="b">+=***%+x</span> <span class="b">x+%***=+</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">ox**+=</span> o=*%$@@@@@@$%*=o <span class="b">++**xo</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**+x</span>
+ <span class="b">x+**</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">**+x</span>
+ <span class="b">ox**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xo</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$$$@@@@@@@@@@@@@$$$$$$$$$$$@@@@@@@@@@@@$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@$x o%@@$$$$$$$@$= =@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@= =@$$$$@$ ~@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@~ o x x@$$@% x ~· @$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$@* xo * $$$@ $ % +@$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ o@ =o $$$$ x~ @· @ +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@% ~x x@$$@ $ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@x · xx ·%@$$$$% ~ = =@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% *@@@@$$$$$@@~ @@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=· +$$$$$$$$$$$@@%o $$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> o*%$$$$*x ·+%$$$$%+· x*$$$$$*o <span class="b">**</span>
+ <span class="b">x+**~</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">+x*=**==</span> <span class="b">==**==x+</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%*%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++**%%%*%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_135.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_135.txt
new file mode 100644
index 0000000..2b1bed7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_135.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++</span>
+ <span class="b">++==*%%%*%****%*%%%*==++</span>
+ <span class="b">x+==*%==</span> <span class="b">==%*==+x</span>
+ <span class="b">===*xo</span> <span class="b">ox*===</span>
+ <span class="b">++**x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x**++</span>
+ <span class="b">++*=</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">x+==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==+x</span>
+ <span class="b">xx==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==xx</span>
+ <span class="b">**o·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·o**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">=*</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$$$@@@@@@$@@@@@@$$$$$$$$$$@@@@@@$$@@@@@@$$$$$@+ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$@@= +@@$$$$$$@@%o o$@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> @$$$$$@o ~ o@$$$$@% ·· $$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@ oo ~@$$@= x $$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= = *· $$$@ % $ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@o @ ~@ +· $$$$ xo @ % +@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$% = =@$$@ % @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= **· x@@$$$$$ o%o ~%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$· =@@@$$$$$$$@+ @@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@$+ *$$$$$$$$$$$@@$=~ o$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· <span class="b">x+++</span>
+ <span class="b">**o</span> ~=%$$$%*o +%$$$$%+ o*%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**~~</span> <span class="b">~**+x</span>
+ <span class="b">++**==</span> <span class="b">++==**==xo</span> <span class="b">o+==**==++</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++**%%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_136.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_136.txt
new file mode 100644
index 0000000..66c8c40
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_136.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">x</span> <span class="b">++++====++++</span>
+ <span class="b">++==*%*%==++++++++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">x+**+=</span> ·· <span class="b">=+**+x</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++++</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">++++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$$$@@@@$*=+=*$@@@@$$$$$$$$$@@@@%=+==%@@@@$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$@$~ ·%@$$$$$$@@x +@@$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$@ ~x=~ @$$$$@x ·o=x *@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@ = x @$$@o ~x $$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ % *o $$$$ = @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ * o @$$$ ~x * x *@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * %$$$@ = x@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o**oo~+%@@$$$$@ ·+%xo~x=@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@= +@@@$$$$$$$@% @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$=o~··~x%$$$$$$$$$$$@@@$*x~··~o*$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= <span class="b">==</span>
+ <span class="b">++++</span> %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% <span class="b">x+++</span>
+ <span class="b">**x·</span> +*%%%*+· o=%%%%=o ·+%%$%*+ <span class="b">·o**</span>
+ <span class="b">x+**o~</span> <span class="b">oo</span> <span class="b">oo</span> <span class="b">oo**+x</span>
+ <span class="b">++**+=+~</span> <span class="b">=+******+x</span> <span class="b">x+******+=</span> <span class="b">~x==**++</span>
+ <span class="b">++==**%%%***++xx</span> <span class="b">++==***%%***==++</span> <span class="b">xx++***%%%**==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_137.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_137.txt
new file mode 100644
index 0000000..de5f454
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_137.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++==****==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·oxx++xxo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">++**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$$@@@$*xooox=$@@@$$$$$$$$@@@@%+ooox+%@@@$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> =$$$$$$@= =@$$$$$$@$~ o@@$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$@$ ·o+%o $$$$$@~ ox*+ =@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$ * + @$$@· +· %$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$@x @ ~ *x $$$$ ~+ o @ o@$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ $ o @$$$ ·= x · *$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ = $$$$@~ o~ =@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~==o++*$@$$$$$@o ·x*ox+=%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@% x@@$$$$$$$$@$o @@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@%=+xx+*$$$$$$$$$$$$$@@@$*+xx+=%$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x·</span> o=*%%=x ~+*%%*+~ x=%%*=x <span class="b">·x**</span>
+ <span class="b">x+**xo</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**+x</span>
+ <span class="b">x+**=*xx</span> <span class="b">*+****==++</span> <span class="b">++==****+*</span> <span class="b">x+==**+x</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_138.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_138.txt
new file mode 100644
index 0000000..284028b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_138.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">+++=**%%%%%%%%**=+++</span>
+ <span class="b">++***%==o·</span> <span class="b">·o==%***++</span>
+ <span class="b">++**+*</span> <span class="b">*+**++</span>
+ <span class="b">====</span> o+=*%$$$$%*=+o <span class="b">====</span>
+ <span class="b">x+**xx</span> x*@@@@@@@@@@@@@@@@@@@@@@*x <span class="b">xx**xx</span>
+ <span class="b">xx**~~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~~**xx</span>
+ <span class="b">**x·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·x**</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==</span>
+ <span class="b">xx==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> @$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">+++o</span> @$$$$$$@@@*x· ·o=$@@$$$$$$$$@@@%+~ ~+%@@@$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$$@@x o@@$$$$$@* %@$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$@% ·~o+%x %$$$$@ ~~x%* x@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$ % = @$$@ * ~ *@$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ * *+ $$$$ ox * @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ % @$$@ * %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ + ·@$$$@x o %@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@ ~xx~=%$@@$$$$$@= ox~x*%@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x x@@$$$$$$$$@@= @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@$%**%$@$$$$$$$$$$$$@@@@$%**%$@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">**+~</span> o+=+x· o+==+o ·x+=+x <span class="b">~x**</span>
+ <span class="b">xx**+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">x+**+x</span>
+ <span class="b">xx**==+=</span> <span class="b">~+*=******+*</span> <span class="b">*+******=*x~</span> <span class="b">=+==**xx</span>
+ <span class="b">++==********++</span> <span class="b">x+++********+++x</span> <span class="b">++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_139.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_139.txt
new file mode 100644
index 0000000..c453721
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_139.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++==**%%*%%%%%%*%%**==++</span>
+ <span class="b">==***%xx</span> <span class="b">xx%***==</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">xx**++</span> x=*$$@@@@@@$$*=x <span class="b">++**+x</span>
+ <span class="b">++**~o</span> ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xo</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$$$$$@@@@@@@@@@$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$$$$@@$=o ~+$@@$$$$$$$$@@@%x· ·x%@@@$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$@@o ~@@$$$$$@= %@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$@* ~~~x%x %$$$$@ ·~~o%= o@$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$ * = @$$@ * o *@$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ % *+ $$$$ oo % @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@= * @$$@ * %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ x ~@$$$@+ o %@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@~ ~o~~=%$@@$$$$$@* oo~x%$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@+ x@$$$$$$$$$@@*· @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@$$%%$$@$$$$$$$$$$$$@@@@@$%%%$@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ <span class="b">x==</span>
+ <span class="b">++=+</span> o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+x</span> ·oxo~ ~oo~ ~oxo· <span class="b">o+*=</span>
+ <span class="b">x+**+x</span> <span class="b">=*</span> <span class="b">==</span> <span class="b">++**xx</span>
+ <span class="b">x+==**+*+o</span> <span class="b">++*=**==**=*+x</span> <span class="b">x+*=**==**=*++</span> <span class="b">~+*=**==xx</span>
+ <span class="b">++++******==++</span> <span class="b">++++********++++</span> <span class="b">++==******++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_140.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_140.txt
new file mode 100644
index 0000000..be700a4
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_140.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++xx</span>
+ <span class="b">===*%%%%*%****%*%%%%*===</span>
+ <span class="b">++**=%++</span> <span class="b">++%=**++</span>
+ <span class="b">===*</span> <span class="b">*===</span>
+ <span class="b">x+**+x</span> ~+*$@@@@@@@@@@@@$*+~ <span class="b">x+**+x</span>
+ <span class="b">++==</span> =$@@@@@$$$$$$$$$$$$$$@@@@@$= <span class="b">==++</span>
+ <span class="b">++*=</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">=*++</span>
+ <span class="b">x+==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==+x</span>
+ <span class="b">=*o</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">o*=</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">==</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">x+++</span> =@$$$$$$$$@@@@@@@@@$$$$$$$$$$$$$$@@@@@@@@@@$$$$$$$@= <span class="b">++xx</span>
+ <span class="b">+++·</span> ·@$$$$$$@@@%+~ ~x*@@@$$$$$$$$@@@$=o· ~o=$@@@$$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$$@@x x@@$$$$$@% $@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@% ~o=%x $$$$$@ ~~x%= x@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$ * = @$$@ * · *$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@x @ = *+ $$$$ ox * @ o@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ % @$$@ * %$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ + ·@$$$@x o %@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@ ~xo~=%$@@$$$$$@= ox~x*%@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x x@@$$$$$$$$@@* @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@$%%%%$@$$$$$$$$$$$$@@@@$$%%%$@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">++++</span> =@@@@@@@@@*· x$@@@@@@@@$x *@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">++%%xx</span> <span class="b">xx%%++</span> <span class="b">+===xx</span>
+ <span class="b">==**=*==++++*=*=**==**=%=*++++*=%=**==**=*=*++++==*=**==xx</span>
+ <span class="b">++++==****==++</span> <span class="b">++==****==++</span> <span class="b">++==****==++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_141.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_141.txt
new file mode 100644
index 0000000..f5780d6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_141.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++xx</span>
+ <span class="b">x++=*%*%*%========%*%*%*=++x</span>
+ <span class="b">++**=*+x</span> <span class="b">x+*=**++</span>
+ <span class="b">xx**=*</span> <span class="b">*=**xx</span>
+ <span class="b">++**o</span> x*$@@@@@@@@@@@@@@$*x <span class="b">o**++</span>
+ <span class="b">++=+</span> o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o <span class="b">+=++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">x+==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==+x</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">=*</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">*=</span>
+ <span class="b">++++</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> o@$$$$$$$@@@@@@@@@@@@@$$$$$$$$$$@@@@@@@@@@@@@$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$@@%~ ~*@@$$$$$$@@$+ +$@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@o o@$$$$@* $@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ x @$$@+ o $$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ % %o $$$$ = @ x@$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@+ $ o @$$$ ·= o *$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ x $$$$@x ~ *@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@~ · +%$@@$$$$$@= ~%%@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*· +@@$$$$$$$$@@%o @@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@@@@@@@@@@$$$$$$$$$$$$@@@@@@@@@@@$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> *@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@@$$$$$$$@@@* <span class="b">~+==</span>
+ <span class="b">++==</span> o%@@@@@@@$x ·*@@@@@@@@*· x$@@@@@@@%x <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">ox====o+</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">xo====+x</span>
+ <span class="b">++**=**%****%***==++**=*=******=*=**++==***%****%**=**++</span>
+ <span class="b">x++++=====++++</span> <span class="b">++++====++++</span> <span class="b">++++======+++x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_142.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_142.txt
new file mode 100644
index 0000000..1051e2b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_142.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++====++++xx</span>
+ <span class="b">++==*%**==++oooo++==**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**=+</span>
+ <span class="b">++**+=</span> ···· <span class="b">=+**++</span>
+ <span class="b">++==</span> x=$@@@@@@@@@@@@@@@@$=x <span class="b">==++</span>
+ <span class="b">==++</span> =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">++==</span>
+ <span class="b">===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===</span>
+ <span class="b">++=+</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">o</span> <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span> <span class="b">o</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@@@@@@@@@@@@@@@@@$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@= ·*@$$$@= +@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$@ ~@$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$x +$$$+ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@@*==============*@@$$$@@*===============$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+x</span> ~@@@@$$$$$@@@@%+x+=$@@@@$$$$@@@@$=+x+%@@@@$$$$$@@@@o <span class="b">o+==</span>
+ <span class="b">xx==</span> x*$@@@$%x ~=$@@@@$=~ x%$@@@$*x <span class="b">==xx</span>
+ <span class="b">====</span> <span class="b">====</span>
+ <span class="b">====+=</span> <span class="b">xx*=**==</span> <span class="b">==**=*xx</span> <span class="b">=+====</span>
+ <span class="b">++*****%*%%*****==++==***%*%%*%***==++==*****%%%%*****++</span>
+ <span class="b">++++++++++++</span> <span class="b">x++++++++++x</span> <span class="b">++++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_143.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_143.txt
new file mode 100644
index 0000000..a5cb02d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_143.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++============++</span>
+ <span class="b">++**%%=*++o~····~o++*=%%**++</span>
+ <span class="b">+=**==</span> <span class="b">==**=+</span>
+ <span class="b">++**++</span> ·~~oo~~· <span class="b">++**++</span>
+ <span class="b">===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===</span>
+ <span class="b">==++</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">++==</span>
+ <span class="b">===x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x===</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+=++</span>
+ <span class="b">ox==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++x</span> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x·</span> =@$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$@$**%$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$@ o+*%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ *$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@ @$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ =$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@ ~x=%@@@@$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$==%$@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@= <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@$+~ o*@@@@@@@@@@@@*o ·+$@@@@@@@@@@@% <span class="b">x+==</span>
+ <span class="b">++==x·</span> x=%%%*x o=*%%*=o x*%%%*x <span class="b">·x==++</span>
+ <span class="b">====oo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">~o====</span>
+ <span class="b">====+=++</span> <span class="b">=+*==*==++</span> <span class="b">++=====*+=</span> <span class="b">xx=+====</span>
+ <span class="b">++==**=*********++++==***%****%***==++++************==++</span>
+ <span class="b">++++++++++xx</span> <span class="b">++++++++++++</span> <span class="b">x</span> <span class="b">++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_144.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_144.txt
new file mode 100644
index 0000000..b0f7b89
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_144.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">+=***%==+o</span> <span class="b">ox==%***=+</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·ooxxxxoo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">++**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> =@$$$$@= o*@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">+==</span>
+ <span class="b">==</span> @$$$$@+ x%@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$% =@@$$$$@$+oooooooooooooox%@$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@$=~ *@$$$o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@$*x *$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$% +@@$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@+ o*@@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= ~=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ <span class="b">x==</span>
+ <span class="b">++++</span> o$@@@@@@@@@$+ ·*@@@@@@@@@@*· +$@@@@@@@@@$o <span class="b">++++</span>
+ <span class="b">x+==+x</span> ·ooo~ ~oo~ ~ooo· <span class="b">o+==+x</span>
+ <span class="b">++==++</span> <span class="b">+**</span> <span class="b">**+</span> <span class="b">x+==++</span>
+ <span class="b">++====+=+x</span> <span class="b">++*========*+x</span> <span class="b">x+*========*++</span> <span class="b">x+======++</span>
+ <span class="b">++++==********==++++++==********==++++++==********====++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_145.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_145.txt
new file mode 100644
index 0000000..f096e8c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_145.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">xx+=***%==x~</span> <span class="b">~x==%***=+xx</span>
+ <span class="b">x+===*++</span> <span class="b">++*===+x</span>
+ <span class="b">++**+x</span> ~ox++++xo~ <span class="b">x+**++</span>
+ <span class="b">==++</span> x*$@@@@@@@@@@@@@@@@@@$*x <span class="b">++==</span>
+ <span class="b">**+x</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">x+**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> @@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==+x</span>
+ <span class="b">+++x</span> @$$$$@@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$$% ~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$@* =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@%· %@$$$$@x ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@%~ %$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@$+ $$$$$= o$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@* ~*@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·x==</span>
+ <span class="b">++++</span> =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">oo==++</span> <span class="b">++==xx</span>
+ <span class="b">++===+</span> <span class="b">++%%+o</span> <span class="b">o+%%++</span> <span class="b">+===++</span>
+ <span class="b">++=====%+=++++*=*========***++++***========*=*++++=+%=====++</span>
+ <span class="b">xx++==******====++</span> <span class="b">++==********==++</span> <span class="b">++====******==++xx</span>
+ <span class="b">++++</span> <span class="b">++++</span> <span class="b">++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_146.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_146.txt
new file mode 100644
index 0000000..423d3e7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_146.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********===+xx</span>
+ <span class="b">++==*%**=+~·</span> <span class="b">·~+=**%*==++</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**xo</span> ·ox+====+xo· <span class="b">ox**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**+o</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+**</span>
+ <span class="b">==+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+==</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@=· ~$$$$$* +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@* $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*~ =$$$$$$· %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==+o</span> +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ <span class="b">o+==</span>
+ <span class="b">++==</span> =$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">++====x+</span> <span class="b">*=**==</span> <span class="b">==**=*</span> <span class="b">+x====++</span>
+ <span class="b">++=====**%******=========**%****%**=========******%**=====++</span>
+ <span class="b">++++========++xx</span> <span class="b">++++========++++</span> <span class="b">xx++========++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_147.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_147.txt
new file mode 100644
index 0000000..baf0b28
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_147.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==********===+++</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==++</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++*=x</span> ~ox+====+xo~ <span class="b">x=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$x x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$o =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@$x $$$$$= o$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@= $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@= %$$$$$@x ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=oo*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+x</span> ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@@~ <span class="b">x+==</span>
+ <span class="b">++==</span> o*$@@@$*x ·=%$@@$%=· x*$@@@$*x <span class="b">==++</span>
+ <span class="b">====</span> <span class="b">=+==</span>
+ <span class="b">xx====+=</span> <span class="b">x+*===+=</span> <span class="b">=+====+x</span> <span class="b">=+====xx</span>
+ <span class="b">++====*%%%%**=====++====*%*%%*%*====++=====**%%%%*====++</span>
+ <span class="b">xx++++====++++</span> <span class="b">++++====++++</span> <span class="b">++++====++++x+</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_148.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_148.txt
new file mode 100644
index 0000000..a36374d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_148.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==********===+++</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==++</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++*=x</span> ~ox+====+xo~ <span class="b">x==++</span>
+ <span class="b">**++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">==+~</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">~+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$$x x%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% x$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$o =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@$x $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ ·$$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=xx%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@% <span class="b">++==</span>
+ <span class="b">xx==x·</span> o=***=x ~+****+~ x=***=x <span class="b">·x==++</span>
+ <span class="b">====xo</span> <span class="b">xx</span> <span class="b">x+</span> <span class="b">ox====</span>
+ <span class="b">======+x</span> <span class="b">=+=*====++</span> <span class="b">++====*=+=</span> <span class="b">x+*=====</span>
+ <span class="b">++==***%********++++==************==++++********%***==++</span>
+ <span class="b">++++++++++</span> <span class="b">+x++++++++x+</span> <span class="b">++++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_149.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_149.txt
new file mode 100644
index 0000000..eaf1e09
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_149.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********===+xx</span>
+ <span class="b">++==*%**++~·</span> <span class="b">·~++**%*==++</span>
+ <span class="b">xx**=*+x</span> <span class="b">x+*=**xx</span>
+ <span class="b">++*=xo</span> ·ox+====+xo· <span class="b">ox=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x ·%$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">ox==+o</span> x+=+x· o+==+o ·x+=+x· <span class="b">~+==+x</span>
+ <span class="b">++==+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">xx==++</span>
+ <span class="b">++====++</span> <span class="b">ox*+==**==+=</span> <span class="b">=+=***==+*xo</span> <span class="b">++====++</span>
+ <span class="b">++==**********==++++++************++++++==**********==++</span>
+ <span class="b">++++++++</span> <span class="b">xx++++xx</span> <span class="b">++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_150.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_150.txt
new file mode 100644
index 0000000..9f44006
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_150.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********===+xx</span>
+ <span class="b">+++=****==o·</span> <span class="b">·o==****=+++</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**+x</span> ~x++==++x~ <span class="b">xx**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**xx</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">x+**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$@% ·=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ·*@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*~ $$$$$= o$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x %$$$$$@x ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%o <span class="b">++++</span>
+ <span class="b">ox==+x</span> ~oo· ~oo~ ·ooo <span class="b">o+==xo</span>
+ <span class="b">++==++</span> <span class="b">+%%</span> <span class="b">%%+o</span> <span class="b">++==++</span>
+ <span class="b">++=*===*xx</span> <span class="b">~o++*=**==**+*++</span> <span class="b">++*+**==**=*++</span> <span class="b">~</span> <span class="b">xx*===*=++</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_151.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_151.txt
new file mode 100644
index 0000000..540e3e1
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_151.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">x+++===******====++x</span>
+ <span class="b">++==***%=*xo</span> <span class="b">ox==%***==++</span>
+ <span class="b">xx=*=*++</span> <span class="b">++*=*=xx</span>
+ <span class="b">++**++</span> ~ox++++xo~ <span class="b">++**++</span>
+ <span class="b">**++</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">++**</span>
+ <span class="b">**+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++=+</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> *@$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@* <span class="b">+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$=· $$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ %@$$$$$o ·$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">++++</span> %@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· <span class="b">++++</span>
+ <span class="b">==+x</span> ·· ·· ··· <span class="b">x+==</span>
+ <span class="b">x+==++</span> <span class="b">++%%</span> <span class="b">%*++</span> <span class="b">++*=xx</span>
+ <span class="b">xx==**=*++xxxx+=*=**==**=*=+xxxx+=%=**==**=*=+xxoo++*=**==xx</span>
+ <span class="b">++++******==++xx</span> <span class="b">++++********++++</span> <span class="b">xx++==******=+++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_152.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_152.txt
new file mode 100644
index 0000000..34e3422
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_152.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++=====**=====++xx</span>
+ <span class="b">+++=***%**++~·</span> <span class="b">·~++**%***++++</span>
+ <span class="b">xx==*%=+</span> <span class="b">+=%*==xx</span>
+ <span class="b">++**++</span> ~~oooo~~ <span class="b">++**++</span>
+ <span class="b">====</span> ·+%@@@@@@@@@@@@@@@@@@%+· <span class="b">====</span>
+ <span class="b">**+x</span> ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">x+**</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">++=+</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">ox==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> $$$$$$%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==+·</span> =@$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$+ ~$$$$$* +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@= *$$$$$$· %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">+++=</span> =$@@@@@@@@* x%@@@@@@@@%x *@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">++%%+x</span> <span class="b">x+%%=+</span> <span class="b">+=**+x</span>
+ <span class="b">++**=*=+++++=**=**++**=%==++++==%=**++**=**=+++++=*=**++</span>
+ <span class="b">xx++======++++</span> <span class="b">++========++</span> <span class="b">++++==**==++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_153.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_153.txt
new file mode 100644
index 0000000..b81afbd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_153.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++============++xx</span>
+ <span class="b">++++**%%=*==xo~~~~ox==**%%**++++</span>
+ <span class="b">xx==**==</span> <span class="b">==**==xx</span>
+ <span class="b">++**+=</span> ·~~~~· <span class="b">=+**++</span>
+ <span class="b">===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===</span>
+ <span class="b">**++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++**</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===</span>
+ <span class="b">++=+</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">+=++</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">ox==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">+++x</span> $@$$$@$o x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==+·</span> +@$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%x o$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*~ +$$$$$$ *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> +$@@@@@@@$* o%@@@@@@@@%o *$@@@@@@@$= <span class="b">==++</span>
+ <span class="b">==++</span> <span class="b">++==</span>
+ <span class="b">====</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">+===</span>
+ <span class="b">++**=%==++++****==++**=***++++***=**++==****++++==%=**++</span>
+ <span class="b">+++=====++++</span> <span class="b">+++======++x</span> <span class="b">++++=====+++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_154.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_154.txt
new file mode 100644
index 0000000..7f4c1c1
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_154.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++====++++++</span>
+ <span class="b">xx+=***%%%**==++++==**%%%***=+xx</span>
+ <span class="b">ox==**=*xo</span> <span class="b">ox*=**==xo</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====</span> ~+%$@@@@@@@@@@@@@@$%+~ <span class="b">====</span>
+ <span class="b">===+</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">+===</span>
+ <span class="b">===+</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">+===</span>
+ <span class="b">++=+</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">+=++</span>
+ <span class="b">ox==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==xo</span>
+ <span class="b">==+x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">ox==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xo</span>
+ <span class="b">++++</span> %@$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@=· =$$$$$$ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x o$$$$$% +$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">++==</span> +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++**=***++==%***==++***%**++++**%***++==***%==++**%=**++</span>
+ <span class="b">x+++==++++</span> <span class="b">x+++====+++x</span> <span class="b">++++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_155.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_155.txt
new file mode 100644
index 0000000..0a9d3d0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_155.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++*****%*%=******=%*%*****++</span>
+ <span class="b">x</span> <span class="b">++**=*++</span> <span class="b">x+*=**++</span> <span class="b">x</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====ox</span> o=%@@@@@@@@@@@@@@%=o <span class="b">xo====</span>
+ <span class="b">===+</span> ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ <span class="b">+===</span>
+ <span class="b">===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===</span>
+ <span class="b">++==</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">ox==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xo</span>
+ <span class="b">==+x</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">ox==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">++++</span> *@$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==x·</span> ~@$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ %@$$$$$o ·$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$=· $$$$$* x$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> x%@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====o</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++***%**====%***++++==***%====%***==++++***%==+=***=**++</span>
+ <span class="b">xx++++++++</span> <span class="b">++====++</span> <span class="b">++++++++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_156.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_156.txt
new file mode 100644
index 0000000..d1c6743
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_156.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==***%*%*%%%%%%*%*%***==++</span>
+ <span class="b">++**=*==</span> <span class="b">==*=**++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**++</span> ~+*%@@@@@@@@@@%*+~ <span class="b">++**++</span>
+ <span class="b">====</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">====</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">++==</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">==++</span>
+ <span class="b">xx==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xx</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">ox==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">++++</span> x@$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@%· x$$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o x%@$$$$$@@*===============$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> *@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">ox==</span> x%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==ox</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">x+***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">+++++++x</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_157.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_157.txt
new file mode 100644
index 0000000..03caabe
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_157.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==****%%*%%%%%%*%%****==++</span>
+ <span class="b">++****=*++</span> <span class="b">++*=****++</span>
+ <span class="b">++=*==+=</span> <span class="b">=+====++</span>
+ <span class="b">++**++</span> ~+=%$$@@@@$$%=+~ <span class="b">++**++</span>
+ <span class="b">++==oo</span> +%@@@@@@@@$$$$$$@@@@@@@@%+ <span class="b">oo==++</span>
+ <span class="b">++==</span> o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o <span class="b">==++</span>
+ <span class="b">++==~</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">~==++</span>
+ <span class="b">ox==+~</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">~+==xo</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">++++</span> ~@$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++x+</span>
+ <span class="b">==+~</span> @$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$= *@$$$$$@$xoooooooooooooox*@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@%x $$$$$o @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@%x $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= =@$$$$$@$xooooooooooooooo*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++*=oo</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_158.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_158.txt
new file mode 100644
index 0000000..b35f4a8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_158.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++==******%%%%******==++++</span>
+ <span class="b">++==**=***++</span> <span class="b">++******==++</span>
+ <span class="b">++==**=*+o</span> <span class="b">o+*=**==++</span>
+ <span class="b">++====x</span> ·o++====++o· <span class="b">x====++</span>
+ <span class="b">++==++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++==++</span>
+ <span class="b">++==xo</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">ox==++</span>
+ <span class="b">++==+~</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">~+==++</span>
+ <span class="b">==+x</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">x+==</span>
+ <span class="b">++==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==++</span>
+ <span class="b">==x·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·x==</span>
+ <span class="b">++==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==++</span>
+ <span class="b">+++x</span> @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> *$$$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@%**************%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@$x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o ·$$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=**+x</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_159.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_159.txt
new file mode 100644
index 0000000..88548ed
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_159.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++xxxx++</span>
+ <span class="b">xx++==****************==++xx</span>
+ <span class="b">++==**==*%=*++oo</span> <span class="b">oo++*=%*==**==++</span>
+ <span class="b">xx++**=*+=</span> <span class="b">=+*=*=++xx</span>
+ <span class="b">++====++</span> ~oooo~ <span class="b">++====++</span>
+ <span class="b">++===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===++</span>
+ <span class="b">++==+x</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">x+==++</span>
+ <span class="b">x+==+x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x+==++</span>
+ <span class="b">===+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+===</span>
+ <span class="b">++==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==++</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">++==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==+·</span> =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$x o$$$$$* +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*· =$$$$$$· %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+**=%*=++++%***++x+==*%**++++**%*==++++***%++++==%=**++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_160.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_160.txt
new file mode 100644
index 0000000..2e212c6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_160.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++====********====++xx</span>
+ <span class="b">++==**=**%****++++****%**=**==++</span>
+ <span class="b">++=====*+x</span> <span class="b">++%=====++</span>
+ <span class="b">++======</span> <span class="b">======++</span>
+ <span class="b">++====xx</span> o=%$@@@@@@@@@@@@$%=o <span class="b">xx====++</span>
+ <span class="b">++===+</span> ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· <span class="b">+===++</span>
+ <span class="b">xx===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===xx</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">++==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==++</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> *@$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ %$$$$$@x ·$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*· $$$$$= x$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$@@$$$$$$$$$$$$$$%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$% ~=@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">===+</span> <span class="b">++%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++**=%+++x++**%*=+++===*==+xx+==*===+++=*%**++++++****++</span>
+ <span class="b">++++====++</span> <span class="b">++++==++</span> <span class="b">++====+++x</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_161.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_161.txt
new file mode 100644
index 0000000..d96fee8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_161.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++============++++xx</span>
+ <span class="b">++====**=**%%%****%%%**=**====++</span>
+ <span class="b">++====**=*o~</span> <span class="b">~o*=**====++</span>
+ <span class="b">======++</span> <span class="b">++======</span>
+ <span class="b">x+====++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++====++</span>
+ <span class="b">xx====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====xx</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">=+==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">x+==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==+x</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">xx==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xx</span>
+ <span class="b">++++</span> x@$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$+ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x x%@$$$$$@@*++++++++++++++=$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx++</span> ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">==+x</span> ·~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%++</span> <span class="b">++==</span>
+ <span class="b">++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++</span>
+ <span class="b">++++==++++</span> <span class="b">x+++====+++x</span> <span class="b">++++====++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_162.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_162.txt
new file mode 100644
index 0000000..1bac9f4
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_162.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++++++</span>
+ <span class="b">++++==****=***%%%%***=****==++++</span>
+ <span class="b">++++=====%==o~</span> <span class="b">~o==%=====++++</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">=====+</span> ~x=**%%%%**=x~ <span class="b">+=====</span>
+ <span class="b">====++</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">++====</span>
+ <span class="b">====o~</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· <span class="b">~o====</span>
+ <span class="b">++==x·</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·x==++</span>
+ <span class="b">xx==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==xx</span>
+ <span class="b">=+++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">+++=</span>
+ <span class="b">ox==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==xo</span>
+ <span class="b">++++</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+o</span> @$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> %$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@$=· $$$$@x @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% x@$$$$$@*~ ·+@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">x+++</span> x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+o</span> ox++o ~x++x~ o++xo <span class="b">o+==</span>
+ <span class="b">**+x</span> <span class="b">**</span> <span class="b">**</span> <span class="b">x+**</span>
+ <span class="b">++**==o~</span> <span class="b">++*+**++**+*xo</span> <span class="b">ox*+**++**=*++</span> <span class="b">~o=+**++</span>
+ <span class="b">++==****++++</span> <span class="b">++==****==++</span> <span class="b">x+++=***==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_163.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_163.txt
new file mode 100644
index 0000000..e2828f8
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_163.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++++==****************==++++</span>
+ <span class="b">++===****%++~~</span> <span class="b">~~++%***====++</span>
+ <span class="b">++=====*+x</span> <span class="b">x+*=====++</span>
+ <span class="b">++====xx</span> ·ox+====+xo· <span class="b">xx====++</span>
+ <span class="b">====++</span> x%$@@@@@@@@@@@@@@@@@@$%x <span class="b">++====</span>
+ <span class="b">++==+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+==++</span>
+ <span class="b">++==+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+==++</span>
+ <span class="b">ox==++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++==xo</span>
+ <span class="b">+++=</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">=+++</span>
+ <span class="b">o</span> <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==xo</span>
+ <span class="b">++==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+x</span> @$$$$@= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+==</span>
+ <span class="b">==</span> *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ·=@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*~ $$$$$= o@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x %$$$$$@x o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%+=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x~</span> ~+===+o x====x o+=*=+~ <span class="b">~+**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">x+**</span>
+ <span class="b">==**++</span> <span class="b">~o*+**==**+=</span> <span class="b">=+**==**+*o~</span> <span class="b">++====</span>
+ <span class="b">+==****===++</span> <span class="b">++=******=++</span> <span class="b">+++==****==+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_164.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_164.txt
new file mode 100644
index 0000000..93246f7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_164.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++++==************==++++</span>
+ <span class="b">++++****=**%=+xo~~~~ox+=%**=****++++</span>
+ <span class="b">xx++===*==</span> <span class="b">=+*===++xx</span>
+ <span class="b">++====++</span> ·~~~~· <span class="b">++====++</span>
+ <span class="b">++===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===++</span>
+ <span class="b">++==++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++==++</span>
+ <span class="b">x+===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===+x</span>
+ <span class="b">==++</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">++==</span>
+ <span class="b">++==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">++==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==x·</span> +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@%x x$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@= $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*~ +$$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o +*$$$$*+ o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~·**xx</span>
+ <span class="b">ox**+*</span> <span class="b">++****=*+x</span> <span class="b">x+*=****++</span> <span class="b">*+**xx</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">x++=*%%%%%%*=++x</span> <span class="b">==**%%%%%*==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_165.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_165.txt
new file mode 100644
index 0000000..35acb52
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_165.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++====********====++++</span>
+ <span class="b">++==**=**%**++++++++**%**=**==++</span>
+ <span class="b">++=*=*=*</span> <span class="b">*=*=*=++</span>
+ <span class="b">x+====+=</span> <span class="b">=+====+x</span>
+ <span class="b">++===+</span> ·+%$@@@@@@@@@@@@@@$%+· <span class="b">+===++</span>
+ <span class="b">x+==++</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">++==+x</span>
+ <span class="b">xx==++</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">++==xx</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==++</span>
+ <span class="b">==+x</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">x+==</span>
+ <span class="b">++==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==++</span>
+ <span class="b">++++</span> %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@*· =$$$$$$· *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%x o$$$$$* =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++o</span> o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x <span class="b">o+++</span>
+ <span class="b">**</span> +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ <span class="b">**xo</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">x+**+=</span> <span class="b">ox****==</span> <span class="b">==****xo</span> <span class="b">=+**++</span>
+ <span class="b">++**%%%%%%%*==+x</span> <span class="b">++==*%%%%%%%==++</span> <span class="b">++==*%%%%%%%**=+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_166.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_166.txt
new file mode 100644
index 0000000..1cb8aec
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_166.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++========++++++</span>
+ <span class="b">++==*****%%%********%%%*****==++</span>
+ <span class="b">++==**=*=+</span> <span class="b">++*=**==++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">xx====ox</span> ~=%$@@@@@@@@@@@@$%=~ <span class="b">xo====xx</span>
+ <span class="b">x+===+</span> ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· <span class="b">+===+x</span>
+ <span class="b">===+</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">+===</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">x+==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==+x</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> =@$$$$@*++$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@x %$$$$$@x ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@=~ $$$$$= o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~=@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++**oo</span> <span class="b">==$%++</span> <span class="b">++$$==</span> <span class="b">oo==++</span>
+ <span class="b">x+==*%=*====****++++++*%**====**%*++++++**=*====*=%*==+x</span>
+ <span class="b">++++++</span> <span class="b">++++++++</span> <span class="b">++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_167.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_167.txt
new file mode 100644
index 0000000..f61e874
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_167.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x</span> <span class="b">++++++===+++++++</span> <span class="b">x</span>
+ <span class="b">xx++*******%*%%*%%%*%*******++xx</span>
+ <span class="b">xx+=****==</span> <span class="b">==****=+xx</span>
+ <span class="b">++**+*x</span> <span class="b">x*+**++</span>
+ <span class="b">====x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x====</span>
+ <span class="b">====</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">====</span>
+ <span class="b">==++</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">++==</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">x+==o·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x==xx</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">ox==</span> +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">++++</span> +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==+·</span> @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$@$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ~$$$$$$@+ o@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*x $$$$@= ~@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· <span class="b">+++x</span>
+ <span class="b">==++</span> ·~· ~~ ·~· <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">++==</span>
+ <span class="b">++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++</span>
+ <span class="b">+++++===++</span> <span class="b">+++==+++</span> <span class="b">+++===++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_168.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_168.txt
new file mode 100644
index 0000000..c37a57b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_168.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">xx+++++++++++++x</span>
+ <span class="b">++==*****%%%%%%%%%%*****==++</span>
+ <span class="b">++**=*=*</span> <span class="b">*=*=**++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**x+</span> ~+*$$@@@@@@@@$$*+~ <span class="b">+x**++</span>
+ <span class="b">====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">ox==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xo</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">++++</span> x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@%· o@$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*~ $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$= $$$$@+ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x x%@$$$$$@@*===============$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**+~</span> ~+=*=+o ·x=**=x· o+=*=+~ <span class="b">·+**</span>
+ <span class="b">**xx</span> <span class="b">++</span> <span class="b">++</span> <span class="b">o+**xx</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**=*</span> <span class="b">++====</span>
+ <span class="b">+==**%*==+++</span> <span class="b">++=******=++</span> <span class="b">++=***%%*==+</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_169.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_169.txt
new file mode 100644
index 0000000..39e0d90
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_169.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++****%%%%%%%%%%%%****++++</span>
+ <span class="b">++***%*%x~</span> <span class="b">~x%*%***++</span>
+ <span class="b">++**==++</span> <span class="b">++==**++</span>
+ <span class="b">++**++</span> ·x*%$$@@@@@@$$%*x· <span class="b">++**++</span>
+ <span class="b">++==~</span> o*@@@@@@@@$$$$$$$$@@@@@@@@*o <span class="b">~==++</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">==++</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">==x~</span> @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x==</span>
+ <span class="b">==</span> $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*~ ·=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@=· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@$$$$$@@=+++++++++++++++$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o x*$$$$*x o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~~**+x</span>
+ <span class="b">x+**+=</span> <span class="b">++******+x</span> <span class="b">x+*=****++</span> <span class="b">*+**+x</span>
+ <span class="b">++==*%%%%%%*==</span> <span class="b">xx==*%%%%%%*==xx</span> <span class="b">==*%%%%%%*==++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_170.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_170.txt
new file mode 100644
index 0000000..cd5c33e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_170.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+x++++x+</span>
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">x+==**=*+o</span> <span class="b">o+*=**==+x</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> x=%$$@@@@@@$$%=x <span class="b">++**++</span>
+ <span class="b">++**oo</span> ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">++=*</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">*=++</span>
+ <span class="b">==x~</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">~x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">++x~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$= $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">+++o</span> =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= <span class="b">~+++</span>
+ <span class="b">xx==</span> ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ <span class="b">==xo</span>
+ <span class="b">++==</span> <span class="b">==++</span>
+ <span class="b">++**++</span> <span class="b">=*%%==</span> <span class="b">==%%*=</span> <span class="b">+x**++</span>
+ <span class="b">+=**%%%%%*%=**+x</span> <span class="b">++***%%%%%%***++</span> <span class="b">++**=%*%%%%***=+</span>
+ <span class="b">xxxx</span> <span class="b">xxxx</span> <span class="b">xxxx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_171.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_171.txt
new file mode 100644
index 0000000..fdaa337
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_171.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++==***%*%%%%%%*%***==++</span>
+ <span class="b">xx==***%+x</span> <span class="b">x+%***==+x</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> o=*%$$@@@@$$%*=o <span class="b">++**++</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">xx=*</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">*=+x</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==o</span> <span class="b">+=%$++</span> <span class="b">++$%=+</span> <span class="b">o==++</span>
+ <span class="b">x+==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===++</span>
+ <span class="b">++++++xx</span> <span class="b">++++++++</span> <span class="b">xx+==+++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_172.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_172.txt
new file mode 100644
index 0000000..99d6bf3
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_172.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++++***%%$%%%%$%%***++++</span>
+ <span class="b">++***%+x</span> <span class="b">x+%***++</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> o=*%$$@@@@$$%*=o <span class="b">++**+x</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">===x</span> ~~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">===+</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">+===</span>
+ <span class="b">++**=%+x··~o==*===++***%=+o~·~+=%***++===*==o~··x+%=**++</span>
+ <span class="b">+++====+++</span> <span class="b">xx++====++xx</span> <span class="b">++======++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_173.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_173.txt
new file mode 100644
index 0000000..3c8dff4
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_173.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+%***=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> o=%%$$@@@@$$%%=o <span class="b">++**xx</span>
+ <span class="b">x+**oo</span> ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ <span class="b">oo**+x</span>
+ <span class="b">xx**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**xx</span>
+ <span class="b">xx**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x <span class="b">++xx</span>
+ <span class="b">==+o</span> ~x+xo ·x++x· ox+xo <span class="b">o+==</span>
+ <span class="b">**++</span> <span class="b">==</span> <span class="b">=*</span> <span class="b">x+**</span>
+ <span class="b">+=**==o·</span> <span class="b">++*=**==**=*+o</span> <span class="b">o+*=**==**=*+x</span> <span class="b">·o*+**=+</span>
+ <span class="b">++==****++++</span> <span class="b">++==****==++</span> <span class="b">++++****==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_174.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_174.txt
new file mode 100644
index 0000000..bd1a0a0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_174.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==**%%%%%%%%%%%%**==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+****=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> ·x=%$$@@@@@@$$%=x· <span class="b">++**xx</span>
+ <span class="b">x+**~</span> ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ <span class="b">~**+x</span>
+ <span class="b">++**</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">++x~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% +@$$$$$@*~··············~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$=· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x~</span> ~+***=o ·x=**=x· o=***+o <span class="b">·x**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**xx</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**=*</span> <span class="b">++====</span>
+ <span class="b">++=**%%**=++</span> <span class="b">++=**%%**=++</span> <span class="b">++=**%%*==++xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_175.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_175.txt
new file mode 100644
index 0000000..1765bcf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_175.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">+++=*%%%%%%%%%%%%%%*=+++</span>
+ <span class="b">+=*%=*x·</span> <span class="b">·x*=%*=+</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++**+x</span>
+ <span class="b">++**</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">**++</span>
+ <span class="b">xx**</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">**xx</span>
+ <span class="b">xx**</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o <span class="b">**xx</span>
+ <span class="b">=*x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x*=</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">=*</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">*=</span>
+ <span class="b">xx++</span> x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*~ ·+@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*~ $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=· $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% <span class="b">++++</span>
+ <span class="b">**x·</span> x*%%%*+ o=%%%%=o +*%%%*x <span class="b">·o**</span>
+ <span class="b">xx**xo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">~x**xx</span>
+ <span class="b">===*+x</span> <span class="b">*+****==++</span> <span class="b">++==****+*</span> <span class="b">o+*=**</span>
+ <span class="b">++==**%%%**=++</span> <span class="b">++=*%%%%*=++</span> <span class="b">++==*%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_176.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_176.txt
new file mode 100644
index 0000000..5dbc4d2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_176.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++=**%*%%%%%%%%%%*%**=++</span>
+ <span class="b">x+==*%=*</span> <span class="b">*=%*==+x</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">x+**++</span> o=%$@@@@@@@@@@$%=o <span class="b">++**+x</span>
+ <span class="b">++**</span> x%@@@@@@$$$$$$$$$$$$@@@@@@%x <span class="b">**++</span>
+ <span class="b">++==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==++</span>
+ <span class="b">x+=*</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">**+x</span>
+ <span class="b">**x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">=*</span> x@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> @$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$~ o$$$$$$@= x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@%o $$$$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%x $$$$@+ ·@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@*==============*@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ <span class="b">x+++</span>
+ <span class="b">**o·</span> ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**o~</span> <span class="b">~~**xx</span>
+ <span class="b">xx**+=</span> <span class="b">++=***=*+x</span> <span class="b">x+*=***=++</span> <span class="b">==**xx</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">++++*%%%%%%*++++</span> <span class="b">==**%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_177.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_177.txt
new file mode 100644
index 0000000..828afeb
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_177.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x++++++x</span>
+ <span class="b">+===*%%%%%****%%%%%*===+</span>
+ <span class="b">++===*+=</span> <span class="b">=+*===++</span>
+ <span class="b">===*</span> <span class="b">*===</span>
+ <span class="b">x+**x+</span> ·+*$@@@@@@@@@@@@$*+· <span class="b">xx**++</span>
+ <span class="b">++*=</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">++==</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">=*++</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">**o·</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·o**</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">=*</span> +@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">x+++</span> =@$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">+++x</span>
+ <span class="b">+++·</span> ·@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$@$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ·%$$$$$@+ o$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*o $$$$$= o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$· =@@$$$$$@@%**************%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> ~=%$$$$*o +%$$$$%+ o*$$$$%*o <span class="b">**</span>
+ <span class="b">xx**~~</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">++==**==x~</span> <span class="b">~x==**==++</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%%%%%%*==</span> <span class="b">x+==*%%%%%%*==++</span> <span class="b">==**%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_178.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_178.txt
new file mode 100644
index 0000000..30b75b9
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_178.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++***%%%==++++==%%%***++++</span>
+ <span class="b">++**=*+o</span> <span class="b">o+*=**++</span>
+ <span class="b">x+**==</span> <span class="b">==**+x</span>
+ <span class="b">++**</span> x*$@@@@@@@@@@@@@@$*x <span class="b">**++</span>
+ <span class="b">++*+</span> o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o <span class="b">+*++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">==</span> *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">xx++</span> *@$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xx</span>
+ <span class="b">==+·</span> o@$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@= *$$$$$$~ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$+ ~$$$$$* +@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@$$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">xx****==</span> <span class="b">==***=xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%***++xx</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">xx++*%*$%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_179.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_179.txt
new file mode 100644
index 0000000..157ef6e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_179.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++==*%*%==++xxxx++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">+=++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">x+++</span> %@$$$@@x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">+++x</span>
+ <span class="b">==+·</span> x@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@*~ +$$$$$% *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@= $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*=+++</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">+++=*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_180.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_180.txt
new file mode 100644
index 0000000..01fa033
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_180.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++===***==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**++</span> ·oxx++xxo· <span class="b">++**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">++**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++++</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==x~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~x==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> =$$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$= <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ o*@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$= ·$$$$$* x@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">o+++</span>
+ <span class="b">**</span> x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">x+**+=</span> <span class="b">x+****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++***%%%%*%*==++</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">x+==*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_181.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_181.txt
new file mode 100644
index 0000000..ea015b6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_181.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++=***%%%%**==++++</span>
+ <span class="b">++==*%**+x</span> <span class="b">x+**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">====</span> ox=******=xo <span class="b">====</span>
+ <span class="b">**++</span> ·=$@@@@@@@@@@@@@@@@@@@@$=· <span class="b">++**</span>
+ <span class="b">**+o</span> =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">o+**</span>
+ <span class="b">**x~</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">~x**</span>
+ <span class="b">+++x</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">x+++</span>
+ <span class="b">xx==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++o</span> @$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$@$ +%@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$~ +$@$$$$$@@%==============*@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@%x $$$$@+ ·@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@%o $$$$@· @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ o$$$$$$@= x@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@@$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*=+xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_182.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_182.txt
new file mode 100644
index 0000000..3545521
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_182.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++=**%%%%%%%%%%**=++++</span>
+ <span class="b">+=***%+x</span> <span class="b">x+%***=+</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">ox**+=</span> o=*%$@@@@@@$%*=o <span class="b">=+**xo</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">x+**</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">**+x</span>
+ <span class="b">ox**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xo</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> o*%$$$$*x ·+%$$$$%+· x*$$$$$*o <span class="b">**</span>
+ <span class="b">x+**~</span> <span class="b">**+x</span>
+ <span class="b">x+**+=</span> <span class="b">+x*=**==x</span> <span class="b">==**==x+</span> <span class="b">=+**++</span>
+ <span class="b">++==*%*%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++**%%%*%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_183.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_183.txt
new file mode 100644
index 0000000..5368c62
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_183.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++</span>
+ <span class="b">++==*%%%*%****%*%%%*==++</span>
+ <span class="b">x+==*%==</span> <span class="b">==%*==+x</span>
+ <span class="b">===*xo</span> <span class="b">ox*===</span>
+ <span class="b">++**x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x**++</span>
+ <span class="b">++*=</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">++==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==+x</span>
+ <span class="b">xx==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==xx</span>
+ <span class="b">**o·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·o**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">**</span> +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ~$$$$$$@+ x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%o $$$$$+ ~@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· <span class="b">x+++</span>
+ <span class="b">**o</span> ~=%$$$%*o +%$$$$%+ o*%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**~~</span> <span class="b">~**+x</span>
+ <span class="b">x+**==</span> <span class="b">++==**==+o</span> <span class="b">ox==**==++</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">x+++**%%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_184.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_184.txt
new file mode 100644
index 0000000..f92a332
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_184.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">x</span> <span class="b">++++====++++</span>
+ <span class="b">++==*%*%==++++++++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">x+**+=</span> ·· <span class="b">=+**+x</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++++</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">++++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$@@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@*o +$$$$$% *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= <span class="b">==</span>
+ <span class="b">++++</span> %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% <span class="b">x+++</span>
+ <span class="b">**x·</span> +*%%%*+· o=%%%%=o ·+%%$%*+ <span class="b">·o**</span>
+ <span class="b">x+**o~</span> <span class="b">oo</span> <span class="b">oo</span> <span class="b">oo**++</span>
+ <span class="b">x+**+=+~</span> <span class="b">=+******+x</span> <span class="b">x+******+=</span> <span class="b">~x=+**++</span>
+ <span class="b">++==**%%%***++xx</span> <span class="b">++==***%%***==++</span> <span class="b">xx++***%%%**==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_185.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_185.txt
new file mode 100644
index 0000000..66aaba2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_185.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++==****==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·oxx++xxo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@= ·$$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x·</span> o=*%%=x ~+*%%*+~ x=%%%=x <span class="b">·x**</span>
+ <span class="b">x+**xo</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**+x</span>
+ <span class="b">x+**=*xx</span> <span class="b">*+****=*++</span> <span class="b">++==****+*</span> <span class="b">x+==**++</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_186.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_186.txt
new file mode 100644
index 0000000..d49b01d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_186.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">+++=**%%%%%%%%**=+++</span>
+ <span class="b">++***%==o·</span> <span class="b">·o==%***++</span>
+ <span class="b">++**+*</span> <span class="b">*+**++</span>
+ <span class="b">====</span> o+=*%$$$$%*=+o <span class="b">====</span>
+ <span class="b">x+**xx</span> x*@@@@@@@@@@@@@@@@@@@@@@*x <span class="b">xx**+x</span>
+ <span class="b">xx**~~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~~**xx</span>
+ <span class="b">**x·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·o**</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==</span>
+ <span class="b">xx==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">+++o</span> @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@=~ $$$$$x @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@= $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% +@$$$$$@%~··············~=@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">**+~</span> o+=+x· o+==+o ·x+=+x <span class="b">~x**</span>
+ <span class="b">xx**+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">x+**+x</span>
+ <span class="b">xx**==+=</span> <span class="b">~x*=******+*</span> <span class="b">*+******=*x~</span> <span class="b">=+==**xx</span>
+ <span class="b">++==********++</span> <span class="b">x+++********+++x</span> <span class="b">++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_187.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_187.txt
new file mode 100644
index 0000000..a3fe2f9
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_187.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++==**%%*%%%%%%*%%**==++</span>
+ <span class="b">==***%xx</span> <span class="b">xx%***==</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">xx**++</span> x=*$$@@@@@@$$*=x <span class="b">++**+x</span>
+ <span class="b">++**~o</span> ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$= $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ <span class="b">x==</span>
+ <span class="b">++=+</span> o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+x</span> ·oxo~ ~oo~ ~oxo· <span class="b">o+*=</span>
+ <span class="b">x+**+x</span> <span class="b">=*</span> <span class="b">*=</span> <span class="b">++**xx</span>
+ <span class="b">x+==**+*+o</span> <span class="b">++*=**==**=*+x</span> <span class="b">x+*=**==**=*++</span> <span class="b">~+*=**==xx</span>
+ <span class="b">++++******==++</span> <span class="b">++++********++++</span> <span class="b">++==******++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_188.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_188.txt
new file mode 100644
index 0000000..383a114
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_188.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++xx</span>
+ <span class="b">===*%%%%*%****%*%%%%*===</span>
+ <span class="b">++**=%++</span> <span class="b">++%=*=++</span>
+ <span class="b">==**</span> <span class="b">**==</span>
+ <span class="b">x+**+x</span> ~+*$@@@@@@@@@@@@$*+~ <span class="b">x+**+x</span>
+ <span class="b">++==</span> =$@@@@@$$$$$$$$$$$$$$@@@@@$= <span class="b">==++</span>
+ <span class="b">++*=</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">=*++</span>
+ <span class="b">x+==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==+x</span>
+ <span class="b">**o</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">o*=</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==</span>
+ <span class="b">x+++</span> =@$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++xx</span>
+ <span class="b">+++·</span> ·@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@x %$$$$$@x ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*~ $$$$$= o$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">++++</span> =@@@@@@@@@*· x$@@@@@@@@$x *@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">++%%xx</span> <span class="b">xx%%++</span> <span class="b">+===xx</span>
+ <span class="b">==**=*==++++*=*=**==**=%=*++++*=%***==**=*=*++++==*=**==xx</span>
+ <span class="b">++++==****==++</span> <span class="b">++==****==++</span> <span class="b">++==****==++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_189.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_189.txt
new file mode 100644
index 0000000..6fedc55
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_189.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++xx</span>
+ <span class="b">x+==*%*%*%========%*%*%*=++x</span>
+ <span class="b">++**=*+x</span> <span class="b">x+*=**++</span>
+ <span class="b">xx**=*</span> <span class="b">==**xx</span>
+ <span class="b">++**o</span> x*$@@@@@@@@@@@@@@$*x <span class="b">o**++</span>
+ <span class="b">++=+</span> o*@@@@@$$$$$$$$$$$$$$$$@@@@@*o <span class="b">+=++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">x+==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==+x</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">=*</span> *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">*=</span>
+ <span class="b">++++</span> *@$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> o@$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@= *$$$$$$~ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$+ ~$$$$$* +$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ o%@@@@$$$$$$$$$$@$$$$$$$$$$$$@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$% o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> *@@@$$$$$$$@@@@$%%@@@@$$$$$$$$@@@@%%$@@@@$$$$$$$@@@* <span class="b">~+==</span>
+ <span class="b">++==</span> o%@@@@@@@$x ·*@@@@@@@@*· x$@@@@@@@%x <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">ox====o+</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">+o====+x</span>
+ <span class="b">++**=**%****%***==++**=*=******=*=**++==***%****%*****++</span>
+ <span class="b">xx+++=====++++</span> <span class="b">++++====++++</span> <span class="b">++++======+++x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_190.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_190.txt
new file mode 100644
index 0000000..95209a1
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_190.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++====++++xx</span>
+ <span class="b">++==*%**==++oooo++==**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**+=</span> ···· <span class="b">=+**++</span>
+ <span class="b">++==</span> x=$@@@@@@@@@@@@@@@@$=x <span class="b">==++</span>
+ <span class="b">==++</span> =$@@@@$$$$$$$$$$$$$$$$$$@@@@$= <span class="b">++==</span>
+ <span class="b">===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===</span>
+ <span class="b">++=+</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">+=++</span>
+ <span class="b">ox**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**xo</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$@$x +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%o x$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o +$$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+x</span> ~@@@@$$$$$@@@@%+x+=$@@@@$$$$@@@@$=+x+%@@@@$$$$$@@@@o <span class="b">o+==</span>
+ <span class="b">xx==</span> x*$@@@$%x ~=$@@@@$=~ x%$@@@$*x <span class="b">==xx</span>
+ <span class="b">====</span> <span class="b">====</span>
+ <span class="b">====+=</span> <span class="b">xx*=**==</span> <span class="b">==**=*xx</span> <span class="b">=+====</span>
+ <span class="b">++*****%*%%*****==++==***%*%%*%***==++==*****%%%%*****++</span>
+ <span class="b">++++++++++++</span> <span class="b">x++++++++++x</span> <span class="b">++++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_191.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_191.txt
new file mode 100644
index 0000000..7da0266
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_191.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">==**%%=*++oo····~o++*=%%**++</span>
+ <span class="b">+=**==</span> <span class="b">==**=+</span>
+ <span class="b">++**++</span> ·~~oo~~· <span class="b">++**++</span>
+ <span class="b">===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===</span>
+ <span class="b">===+</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">++==</span>
+ <span class="b">===x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x===</span>
+ <span class="b">++=+</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+=++</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xx</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++x</span> $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x·</span> =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$x o$$$$$% +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@=· =$$$$$$ %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@= <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@$+~ o*@@@@@@@@@@@@*o ·+$@@@@@@@@@@@% <span class="b">x+==</span>
+ <span class="b">++==x·</span> x=%%%*x o=*%%*=o x*%%%*x <span class="b">·x==++</span>
+ <span class="b">====oo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">~o====</span>
+ <span class="b">====+=++</span> <span class="b">=+*==*==++</span> <span class="b">++=====*+=</span> <span class="b">ox=+====</span>
+ <span class="b">++==**=*********++++==***%****%***==++++*********=**==++</span>
+ <span class="b">++++++++++xx</span> <span class="b">++++++++++++</span> <span class="b">xx++++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_192.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_192.txt
new file mode 100644
index 0000000..f03d928
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_192.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">+=***%==+o</span> <span class="b">o+==%***=+</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·ooxxxxoo· <span class="b">++**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">x+**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">x+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~x==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> =@$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$@= <span class="b">+==</span>
+ <span class="b">==</span> @$$$$$$ o%@@$$$$$@@$$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$=· ·$$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o $$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@ <span class="b">x==</span>
+ <span class="b">++++</span> o$@@@@@@@@@$+ ·*@@@@@@@@@@*· +$@@@@@@@@@$o <span class="b">++++</span>
+ <span class="b">x+==+x</span> ·ooo~ ~oo~ ~ooo· <span class="b">o+==+x</span>
+ <span class="b">++==++</span> <span class="b">+**</span> <span class="b">**+</span> <span class="b">x+==++</span>
+ <span class="b">++====+=+x</span> <span class="b">++*========*+x</span> <span class="b">x+*========*++</span> <span class="b">x+======++</span>
+ <span class="b">++++==********==++++++==********==++++++==********====++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_193.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_193.txt
new file mode 100644
index 0000000..eea662a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_193.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++====****====++</span>
+ <span class="b">x++=***%==x~</span> <span class="b">~x==%***=+xx</span>
+ <span class="b">x+===*++</span> <span class="b">++*===+x</span>
+ <span class="b">++**+x</span> ~ox++++xo~ <span class="b">x+**++</span>
+ <span class="b">==++</span> x*$@@@@@@@@@@@@@@@@@@$*x <span class="b">++==</span>
+ <span class="b">**+x</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">x+**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$@% ~=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@=~ $$$$$= o$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x %@$$$$$x ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*++%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·x==</span>
+ <span class="b">++++</span> =@@@@@@@@@* x$@@@@@@@@$x *@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">ox==++</span> <span class="b">++==xx</span>
+ <span class="b">++===+</span> <span class="b">++%%+o</span> <span class="b">o+%%++</span> <span class="b">+===++</span>
+ <span class="b">++=====%+=++++*=*========***++++***========*=*++++=+%=====++</span>
+ <span class="b">xx++==******====++</span> <span class="b">++==********==++</span> <span class="b">++====******==++xx</span>
+ <span class="b">++++</span> <span class="b">++++</span> <span class="b">++++xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_194.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_194.txt
new file mode 100644
index 0000000..1d12134
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_194.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********===+xx</span>
+ <span class="b">x+==*%**=+~·</span> <span class="b">·~+=**%*==++</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**xo</span> ·ox+====+xo· <span class="b">ox**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">o+**</span>
+ <span class="b">==+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+==</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*~ $$$$$= o$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@$x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x %$$$$$@x ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">==+o</span> +@@@$$$$$$$@@@$***%@@@@$$$$$$@@@@%***$@@@$$$$$$$@@@+ <span class="b">o+==</span>
+ <span class="b">++==</span> =$@@@@@$*~ +%@@@@@@%+ ~*$@@@@@$=· <span class="b">==++</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">++====x+</span> <span class="b">*=**==</span> <span class="b">=+**=*</span> <span class="b">+x====+x</span>
+ <span class="b">++=====**%*****==========**%****%**=========******%**=====+x</span>
+ <span class="b">++++========++xx</span> <span class="b">++++========++++</span> <span class="b">xx++========++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_195.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_195.txt
new file mode 100644
index 0000000..7f66e31
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_195.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==********===+++</span>
+ <span class="b">x+==*%**++~·</span> <span class="b">·~+=**%*==++</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++*=x</span> ~ox+====+xo~ <span class="b">ox=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% +@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@o ·%$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">==+x</span> ~$@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+*@@@@$$$$@@@@@~ <span class="b">x+==</span>
+ <span class="b">++==</span> o*$@@@$*x ·=%$@@$%=· x*$@@@$*x <span class="b">==++</span>
+ <span class="b">====</span> <span class="b">=+==</span>
+ <span class="b">xx====+=</span> <span class="b">x+*=====</span> <span class="b">======+x</span> <span class="b">=+====xx</span>
+ <span class="b">++====*%%%%**=====++====*%*%%*%*====++=====**%%%%*====++</span>
+ <span class="b">xx++++====++++</span> <span class="b">++++====++++</span> <span class="b">++++====++++x+</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_196.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_196.txt
new file mode 100644
index 0000000..9f6a294
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_196.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++==********===+++</span>
+ <span class="b">x+==*%**++~·</span> <span class="b">·~++**%*==++</span>
+ <span class="b">xx**=%+x</span> <span class="b">x+%=**xx</span>
+ <span class="b">++==x</span> ~ox+====+xo~ <span class="b">x==++</span>
+ <span class="b">**++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">==+~</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">~+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@%%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@$x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@o ·$$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">==++</span> *@@@@@@@@@@@%x ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@% <span class="b">++==</span>
+ <span class="b">xx==+·</span> o=***=x ~+****+~ x=***=x <span class="b">·x==++</span>
+ <span class="b">====xo</span> <span class="b">xx</span> <span class="b">x+</span> <span class="b">ox====</span>
+ <span class="b">======+x</span> <span class="b">=+=*====++</span> <span class="b">++====*=+=</span> <span class="b">x+*=====</span>
+ <span class="b">++==***%********++++==************==++++********%***==++</span>
+ <span class="b">++++++++++</span> <span class="b">+x++++++++x+</span> <span class="b">++++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_197.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_197.txt
new file mode 100644
index 0000000..d7b48f2
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_197.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">x+++==********===+xx</span>
+ <span class="b">x+==*%**++~·</span> <span class="b">·~++**%*==++</span>
+ <span class="b">xx**=*+x</span> <span class="b">x+*=**xx</span>
+ <span class="b">++**xo</span> ·ox+====+xo· <span class="b">ox=*++</span>
+ <span class="b">**++</span> x%@@@@@@@@@@@@@@@@@@@@%x <span class="b">++**</span>
+ <span class="b">**+o</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">o+**</span>
+ <span class="b">=*+o</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">o+*=</span>
+ <span class="b">++++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++++</span>
+ <span class="b">ox==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xo</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% =@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@o ·%$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@*~ x$@@@@@@@@@@$x ·*@@@@@@@@@@@= <span class="b">++++</span>
+ <span class="b">ox==+o</span> x+=+x· o+==+o ·x+=+x· <span class="b">~+==+x</span>
+ <span class="b">++==+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">xx==++</span>
+ <span class="b">++====++</span> <span class="b">ox*+==**==+=</span> <span class="b">=+=***==+*xo</span> <span class="b">++====++</span>
+ <span class="b">++==**********==++++++************++++++==**********==++</span>
+ <span class="b">++++++++</span> <span class="b">xx++++xx</span> <span class="b">++++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_198.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_198.txt
new file mode 100644
index 0000000..4195da5
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_198.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++==********===+xx</span>
+ <span class="b">x++=****==x·</span> <span class="b">·x==****=+++</span>
+ <span class="b">x+=*=*+x</span> <span class="b">x+*=*=+x</span>
+ <span class="b">++**+x</span> ~x++==++x~ <span class="b">x+**++</span>
+ <span class="b">**++</span> x*@@@@@@@@@@@@@@@@@@@@*x <span class="b">++**</span>
+ <span class="b">**+x</span> x%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%x <span class="b">xx**</span>
+ <span class="b">==+o</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">o+==</span>
+ <span class="b">++++</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">++++</span>
+ <span class="b">xx==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==xx</span>
+ <span class="b">==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% ·=@@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ ·*@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*~ $$$$$= o$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x %$$$$$@x ~$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*+=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">++++</span> ~%@@@@@@@@@$x ·*@@@@@@@@@@*· x$@@@@@@@@@%o <span class="b">++++</span>
+ <span class="b">ox==+x</span> ~oo· ~oo~ ·ooo <span class="b">x+==xo</span>
+ <span class="b">++==++</span> <span class="b">+%%</span> <span class="b">%%+o</span> <span class="b">++==++</span>
+ <span class="b">++=*===*xx</span> <span class="b">~</span> <span class="b">++*=**==**+*++</span> <span class="b">++*=**==**=*++</span> <span class="b">~</span> <span class="b">xx*===*=++</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_199.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_199.txt
new file mode 100644
index 0000000..d926eed
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_199.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">x+++===******====++x</span>
+ <span class="b">x+==***%=*xo</span> <span class="b">ox==%***==++</span>
+ <span class="b">xx=*=*++</span> <span class="b">++*=*=xx</span>
+ <span class="b">++**++</span> ~ox++++xo~ <span class="b">++**++</span>
+ <span class="b">**++</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">++**</span>
+ <span class="b">**+x</span> o%@@@@$$$$$$$$$$$$$$$$$$$$@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==+</span> *@$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$@* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$=· $$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ %@$$$$$o ·$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==+·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">++++</span> %@@@@@@@@@%o =$@@@@@@@@$= ~%@@@@@@@@@%· <span class="b">++++</span>
+ <span class="b">==+x</span> ·· ·· ··· <span class="b">x+==</span>
+ <span class="b">x+==++</span> <span class="b">++%%</span> <span class="b">%*++</span> <span class="b">++*=xx</span>
+ <span class="b">xx==**=*++xxxx+=*=**==**=%=+xxxx+=*=**==**=*=+xxoo++*=**==xx</span>
+ <span class="b">++++******==++xx</span> <span class="b">++++********++++</span> <span class="b">xx++==******==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_200.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_200.txt
new file mode 100644
index 0000000..86ebca6
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_200.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++=====**=====++xx</span>
+ <span class="b">+++=***%**++~·</span> <span class="b">·~++**%***++++</span>
+ <span class="b">xx==*%=+</span> <span class="b">+=%*==xx</span>
+ <span class="b">++**++</span> ~~oooo~~ <span class="b">++**++</span>
+ <span class="b">====</span> ·+%@@@@@@@@@@@@@@@@@@%+· <span class="b">====</span>
+ <span class="b">**+x</span> ~*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*~ <span class="b">x+**</span>
+ <span class="b">==+x</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">x+==</span>
+ <span class="b">++=+</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">ox==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> $$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==+·</span> =@$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$+ ~$$$$$* +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@+ $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@= *$$$$$$· %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@@@@@@@$$$$$$$$@@@@@@@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">+++=</span> =$@@@@@@@@* x%@@@@@@@@%x *@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">==++</span> <span class="b">+===</span>
+ <span class="b">xx=*=+</span> <span class="b">++%%+x</span> <span class="b">x+%%++</span> <span class="b">+=**+x</span>
+ <span class="b">++**=*=+++++=**=**++**=%==++++==%=**++**=**=+++++=*=**++</span>
+ <span class="b">xx++======++++</span> <span class="b">++========++</span> <span class="b">++++==**==++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_201.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_201.txt
new file mode 100644
index 0000000..65a82d3
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_201.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++============++xx</span>
+ <span class="b">++++**%%**==xo~~~~ox==**%%**++++</span>
+ <span class="b">xx==**==</span> <span class="b">==**==xx</span>
+ <span class="b">++**+=</span> ·~~~~· <span class="b">=+**++</span>
+ <span class="b">===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===</span>
+ <span class="b">**++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++**</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">++=+</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">+=++</span>
+ <span class="b">xx==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">ox==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==xo</span>
+ <span class="b">+++x</span> $@$$$@$o x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==+·</span> +@$$$$$ +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@%x o$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*~ +$$$$$$ *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+·~=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">x+==</span> +$@@@@@@@$* o%@@@@@@@@%o *$@@@@@@@$= <span class="b">==++</span>
+ <span class="b">==++</span> <span class="b">++==</span>
+ <span class="b">===+</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">+===</span>
+ <span class="b">++**=%==++++****==++**=***++++***=**++==****++++==%***++</span>
+ <span class="b">++======++++</span> <span class="b">x++======+++</span> <span class="b">++++======++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_202.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_202.txt
new file mode 100644
index 0000000..d0f7f0f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_202.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++====++++++</span>
+ <span class="b">xx+=***%%%**==++++==**%%%***=+xx</span>
+ <span class="b">ox==**=*x</span> <span class="b">ox*=**==xo</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====</span> ~+%$@@@@@@@@@@@@@@$%+~ <span class="b">====</span>
+ <span class="b">===+</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">+===</span>
+ <span class="b">===+</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">+===</span>
+ <span class="b">++=+</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">+=++</span>
+ <span class="b">ox==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==xo</span>
+ <span class="b">==+x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+==</span>
+ <span class="b">ox==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==xo</span>
+ <span class="b">++++</span> %@$$$@@+~o=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@=· =$$$$$$ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$x o$$$$$% +$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">++==</span> +$@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====</span> <span class="b">==%%++</span> <span class="b">++%%+=</span> <span class="b">====</span>
+ <span class="b">++**=***++==%***==++***%**++++**%***++==***%==++**%=**++</span>
+ <span class="b">x+++==++++</span> <span class="b">x+++====+++x</span> <span class="b">++++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_203.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_203.txt
new file mode 100644
index 0000000..d3e8373
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_203.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++*****%*%=******=%*%*****++</span>
+ <span class="b">++**=*++</span> <span class="b">x+*=**++</span> <span class="b">x</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">====ox</span> o=%@@@@@@@@@@@@@@%=o <span class="b">xo====</span>
+ <span class="b">===+</span> ~*@@@@@@$$$$$$$$$$$$$$@@@@@@*~ <span class="b">+===</span>
+ <span class="b">===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===</span>
+ <span class="b">++==</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">==++</span>
+ <span class="b">ox==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xo</span>
+ <span class="b">==+x</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">x+==</span>
+ <span class="b">ox==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xo</span>
+ <span class="b">++++</span> *@$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==x·</span> ~@$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ %@$$$$$o ·$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$=· $$$$$* x$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> x%@@@@@@@$= ~*@@@@@@@@*~ =$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">+===</span>
+ <span class="b">====o</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">====</span>
+ <span class="b">++***%**====%***++++==***%====%***==++++***%====***=**++</span>
+ <span class="b">xx++++++++</span> <span class="b">++====++</span> <span class="b">++++=+++xx</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_204.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_204.txt
new file mode 100644
index 0000000..4333a6a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_204.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==***%*%*%%%%%%*%*%***==++</span>
+ <span class="b">++**=*==</span> <span class="b">==*=**++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**++</span> ~+*%@@@@@@@@@@%*+~ <span class="b">++**++</span>
+ <span class="b">====</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">====</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">++==</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">==++</span>
+ <span class="b">xx==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xx</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">ox==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xo</span>
+ <span class="b">++++</span> x@$$$$@$*%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@%· x$$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o x%@$$$$$@@*===============$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> *@@@$$$$$$$@@@@$$$@@@@$$$$$$$$@@@@$$$@@@@$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> x%@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==ox</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">++***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">+++++++x</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_205.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_205.txt
new file mode 100644
index 0000000..ce0f1cf
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_205.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">xx++++++++++++xx</span>
+ <span class="b">++==****%%*%%%%%%*%%****==++</span>
+ <span class="b">++****=*++</span> <span class="b">++*=****++</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">++**++</span> ~x=%$$@@@@$$%=+~ <span class="b">++**++</span>
+ <span class="b">++==oo</span> +%@@@@@@@@$$$$$$@@@@@@@@%+ <span class="b">oo==++</span>
+ <span class="b">++==</span> o$@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@$o <span class="b">==++</span>
+ <span class="b">++==~</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">~==++</span>
+ <span class="b">ox==+~</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">~+==xo</span>
+ <span class="b">++++</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">++++</span> ~@$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">==+~</span> @$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ =$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$= *@$$$$$@$xoooooooooooooox*@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@%x $$$$$o @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@%x $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= =@$$$$$@$xooooooooooooooo*@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$· +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +%@@@@@@@$= ~%@@@@@@@@%~ =$@@@@@@@$+ <span class="b">==xo</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++*=ox</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">o==++</span>
+ <span class="b">x+***%**====%***++++==***%====%***==++++***%====**%***++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_206.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_206.txt
new file mode 100644
index 0000000..6c1c344
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_206.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++==*******%%*******==++++</span>
+ <span class="b">++==**=***++</span> <span class="b">++***=**==++</span>
+ <span class="b">++==**=*+o</span> <span class="b">o+*=**==++</span>
+ <span class="b">++====x</span> ·o++====++o· <span class="b">====++</span>
+ <span class="b">++==++</span> +%@@@@@@@@@@@@@@@@@@@@%+ <span class="b">++==++</span>
+ <span class="b">++==xo</span> +$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$+ <span class="b">ox==++</span>
+ <span class="b">++==+~</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">~+==++</span>
+ <span class="b">==+x</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">x===</span>
+ <span class="b">++==</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">==++</span>
+ <span class="b">==x·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·x==</span>
+ <span class="b">++==</span> @$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==++</span>
+ <span class="b">+++x</span> @$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==</span> *$$$$@% =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$· =$@$$$$$@@%**************%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*o $$$$$= ~$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@$x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o ·$$$$$$@+ o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@@$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$= o%@@@@@@@@%o =$@@@@@@@$= <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+=*=***++==%***++xx==*%**====**%*==xx++***%==++***=**+x</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_207.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_207.txt
new file mode 100644
index 0000000..167764b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_207.txt
@@ -0,0 +1,41 @@
+
+ <span class="b">++xxxx++</span>
+ <span class="b">xx++==****************==++xx</span>
+ <span class="b">x+==**==*%=*++oo</span> <span class="b">oo++*=%*==**==++</span>
+ <span class="b">xx++**=*+=</span> <span class="b">=+*=**++xx</span>
+ <span class="b">++====++</span> ~oooo~ <span class="b">++====++</span>
+ <span class="b">++===+</span> +%@@@@@@@@@@@@@@@@@@%+ <span class="b">+===++</span>
+ <span class="b">++==+x</span> ·*@@@@@$$$$$$$$$$$$$$$$$$@@@@@*· <span class="b">x+==++</span>
+ <span class="b">x+==+x</span> %@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@% <span class="b">x+==+x</span>
+ <span class="b">==++</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">+===</span>
+ <span class="b">++==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==++</span>
+ <span class="b">==+~</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">~+==</span>
+ <span class="b">++==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ <span class="b">x+++</span>
+ <span class="b">==x·</span> =@$$$@$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ x%@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$x o$$$$$* +$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*· =$$$$$$· %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> $@@$$$$$$$$$@@@@$@@@@@$$$$$$$$@@@@@$@@@@$$$$$$$$$@@$ <span class="b">·+==</span>
+ <span class="b">xx==</span> =$@@@@@@@@* o%@@@@@@@@%o *@@@@@@@@$= <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++==</span> <span class="b">==%%++</span> <span class="b">++%%==</span> <span class="b">==++</span>
+ <span class="b">x+**=%*=++++%***++++==*%**++++**%*==++++***%++++==%=**++</span>
+ <span class="b">++++++++</span> <span class="b">++++++++</span> <span class="b">++++++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_208.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_208.txt
new file mode 100644
index 0000000..3d3c0e0
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_208.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++====********====++xx</span>
+ <span class="b">++==**=**%****++++****%**=**==++</span>
+ <span class="b">++=====%+x</span> <span class="b">x+*=====++</span>
+ <span class="b">++======</span> <span class="b">======++</span>
+ <span class="b">++====xx</span> o=%$@@@@@@@@@@@@$%=o <span class="b">xx====++</span>
+ <span class="b">++===+</span> ·*$@@@@@$$$$$$$$$$$$$$@@@@@$*· <span class="b">+===++</span>
+ <span class="b">xx===+</span> o$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$o <span class="b">+===xo</span>
+ <span class="b">==++</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">++==</span>
+ <span class="b">++==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==++</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> *@$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@+ %$$$$$@x ·$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*· $$$$$= x$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@$$$$$@@$$$$$$$$$$$$$$%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$% ~=@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·+==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%~ +$@@@@@@@@$+ ~%@@@@@@@@@* <span class="b">==xx</span>
+ <span class="b">===+</span> <span class="b">++==</span>
+ <span class="b">===+</span> <span class="b">++%%</span> <span class="b">$$++</span> <span class="b">+===</span>
+ <span class="b">++**=%+++x++****=+++===*==++x+==*===+++=*%**++++++****++</span>
+ <span class="b">++++====++</span> <span class="b">++====++</span> <span class="b">++====+++x</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_209.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_209.txt
new file mode 100644
index 0000000..ad52681
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_209.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++============++++xx</span>
+ <span class="b">++====**=**%%%****%%%**=**====++</span>
+ <span class="b">++====**=*o~</span> <span class="b">~o*=**====++</span>
+ <span class="b">======++</span> <span class="b">++======</span>
+ <span class="b">x+====++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++====++</span>
+ <span class="b">xx====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====xx</span>
+ <span class="b">====</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">====</span>
+ <span class="b">=+==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">x+==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==+x</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">xx==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==xx</span>
+ <span class="b">++++</span> x@$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$@$ o%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$+ $$$$$+ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x x%@$$$$$@@*++++++++++++++=$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx++</span> ·%@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%~ <span class="b">++++</span>
+ <span class="b">==+x</span> ·~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%++</span> <span class="b">+===</span>
+ <span class="b">++**=%++ooox==*===++**=%++xoox++%=**++===*==xooo++%=**++</span>
+ <span class="b">++++==++++</span> <span class="b">++++====+++x</span> <span class="b">++++==++++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_210.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_210.txt
new file mode 100644
index 0000000..d2748c7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_210.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">xx++++++++++++++++++</span>
+ <span class="b">++++==****=***%%%%***=****==++++</span>
+ <span class="b">++++=====%==o~</span> <span class="b">~o==%=====++++</span>
+ <span class="b">++====+=</span> <span class="b">=+====++</span>
+ <span class="b">=====+</span> ~x=**%%%%**=x~ <span class="b">+=====</span>
+ <span class="b">====++</span> o*$@@@@@@@@@@@@@@@@@@@@$*o <span class="b">++====</span>
+ <span class="b">====o~</span> ·*@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@*· <span class="b">~o====</span>
+ <span class="b">++==x·</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">·x==++</span>
+ <span class="b">xx==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==xx</span>
+ <span class="b">=+++</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">+++=</span>
+ <span class="b">ox==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==xo</span>
+ <span class="b">++++</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">++++</span>
+ <span class="b">==+o</span> @$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+==</span>
+ <span class="b">==</span> %$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$x x%@$$$$$@@=++++++++++++++=$@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@$=· $$$$@x @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*· $$$$@~ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% x@$$$$$@*~ ·+@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">x+++</span> x$@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+o</span> ox++o ~x++x~ o++xo <span class="b">o+==</span>
+ <span class="b">**+x</span> <span class="b">**</span> <span class="b">**</span> <span class="b">x+**</span>
+ <span class="b">++**==o~</span> <span class="b">++*+**++**+*xo</span> <span class="b">ox*=**++**=*++</span> <span class="b">~o=+**=+</span>
+ <span class="b">++==***=++++</span> <span class="b">++==****==++</span> <span class="b">x+++=***==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_211.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_211.txt
new file mode 100644
index 0000000..cb73167
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_211.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++++++++++</span>
+ <span class="b">++++==****************==++++</span>
+ <span class="b">++===****%++~~</span> <span class="b">~~++%***====++</span>
+ <span class="b">++=====*+x</span> <span class="b">x+*=====++</span>
+ <span class="b">++====xx</span> ·ox+====+xo· <span class="b">xx====++</span>
+ <span class="b">====++</span> x%$@@@@@@@@@@@@@@@@@@$%x <span class="b">++====</span>
+ <span class="b">++==+x</span> x$@@@@$$$$$$$$$$$$$$$$$$$$@@@@$x <span class="b">x+==++</span>
+ <span class="b">++==+o</span> x$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$x <span class="b">o+==++</span>
+ <span class="b">ox==++</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">++==xo</span>
+ <span class="b">+++=</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">=+++</span>
+ <span class="b">ox==+·</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">·+==xo</span>
+ <span class="b">++==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+x</span> @$$$$@= =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+==</span>
+ <span class="b">==</span> *$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$* <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$ ·=@@$$$$$@@$%%%%%%%%%%%%%%%@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@*~ $$$$$= o@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$x %$$$$$@x o$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%+=$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o +$@@@@@@@@@@$+ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**+~</span> ~+===+o x====x o+=*=+~ <span class="b">~+**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">xx**</span>
+ <span class="b">==**++</span> <span class="b">~o*+**==**+=</span> <span class="b">=+**==**=*o~</span> <span class="b">++====</span>
+ <span class="b">+==****==+++</span> <span class="b">++=******=++</span> <span class="b">++==*****==+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_212.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_212.txt
new file mode 100644
index 0000000..c082df7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_212.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++++++</span>
+ <span class="b">++++==************==++++</span>
+ <span class="b">++++****=***=+xo~~~~ox+=%**=****++++</span>
+ <span class="b">xx++===*==</span> <span class="b">=+*===++xx</span>
+ <span class="b">++====++</span> ·~~~~· <span class="b">++====++</span>
+ <span class="b">++===+</span> x*$@@@@@@@@@@@@@@@@$*x <span class="b">+===++</span>
+ <span class="b">++==++</span> =@@@@@$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">++==++</span>
+ <span class="b">x+===+</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">+===xx</span>
+ <span class="b">==++</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">++==</span>
+ <span class="b">++==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==++</span>
+ <span class="b">==+o</span> *@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">o+==</span>
+ <span class="b">++==</span> $@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==++</span>
+ <span class="b">+++x</span> $@$$$@$o x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">x+++</span>
+ <span class="b">==x·</span> +@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·x==</span>
+ <span class="b">==</span> @$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@%x x$$$$$% =$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@= $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*~ +$$$$$% *$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@x·~=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*x~o+%@@@@@$$@@@@@%+o~o=$@@@@$$$@@@@$· <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o +*$$$$*+ o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~·**xx</span>
+ <span class="b">xx**+*</span> <span class="b">++****=*+x</span> <span class="b">x+*=****++</span> <span class="b">*+**xx</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">x++=*%%%%%%*++++</span> <span class="b">==**%%%%%*==++</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_213.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_213.txt
new file mode 100644
index 0000000..61e1218
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_213.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++====********====++++</span>
+ <span class="b">++==**=**%**++++++++**%**=**==++</span>
+ <span class="b">++=*=*=*</span> <span class="b">*=*=*=++</span>
+ <span class="b">x+====+=</span> <span class="b">=+====++</span>
+ <span class="b">++===+</span> ·+%$@@@@@@@@@@@@@@$%+· <span class="b">+===++</span>
+ <span class="b">x+==++</span> x%@@@@@$$$$$$$$$$$$$$$$@@@@@%x <span class="b">++==+x</span>
+ <span class="b">xx==++</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">++==xx</span>
+ <span class="b">==++</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">++==</span>
+ <span class="b">++==</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">==++</span>
+ <span class="b">==+x</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">x+==</span>
+ <span class="b">++==</span> %@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">==++</span>
+ <span class="b">++++</span> %@$$$@@+~o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@*· =$$$$$$· *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%x o$$$$$* =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">+++o</span> o@@@@$$$$$@@@@%*+=*$@@@$$$$$$@@@$*=+=%@@@@$$$$$@@@@x <span class="b">o+++</span>
+ <span class="b">**</span> +%@@@@@%+ o*$@@@@$*o +%@@@@@%+ <span class="b">**xo</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">x+**++</span> <span class="b">ox****==</span> <span class="b">==****xo</span> <span class="b">=+**++</span>
+ <span class="b">+=**%%%%%%%*==+x</span> <span class="b">++==*%%%%%%%==++</span> <span class="b">x+==*%%%%%%%**=+</span>
+
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_214.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_214.txt
new file mode 100644
index 0000000..7eb9fac
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_214.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++========++++++</span>
+ <span class="b">++==*****%%%********%%%*****==++</span>
+ <span class="b">++==**=*=+</span> <span class="b">++*=**==++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">xx====ox</span> ~=%$@@@@@@@@@@@@$%=~ <span class="b">xo====xx</span>
+ <span class="b">x+===+</span> ·=@@@@@@$$$$$$$$$$$$$$@@@@@@=· <span class="b">+===+x</span>
+ <span class="b">===+</span> ~%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%~ <span class="b">+===</span>
+ <span class="b">++==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">x+==</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">==+x</span>
+ <span class="b">==+x</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">x+==</span>
+ <span class="b">xx==</span> =@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">==xx</span>
+ <span class="b">++++</span> =@$$$$@*++$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">++++</span>
+ <span class="b">==+·</span> ~@$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ +$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@x %$$$$$@x ~$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@=~ $$$$$= o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~=@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@@$$$$$$$$$$@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@* ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$@$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+~</span> %@@@$$$$$$$$@@@$$$@@@@$$$$$$$$@@@@$$$@@@$$$$$$$$@@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@$+ ~*@@@@@@@@*~ +$@@@@@@@$+ <span class="b">==xx</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++**oo</span> <span class="b">==%%++</span> <span class="b">++$$==</span> <span class="b">oo==++</span>
+ <span class="b">x+==*%*%====****++++++*%**====**%*++++++**=*====*=%*==++</span>
+ <span class="b">++++++</span> <span class="b">++++++++</span> <span class="b">++++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_215.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_215.txt
new file mode 100644
index 0000000..5ca0d40
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_215.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x</span> <span class="b">++++++====++++++</span> <span class="b">x</span>
+ <span class="b">xx++*******%*%%**%%*%*******++xx</span>
+ <span class="b">xx+=****==</span> <span class="b">==****=+xx</span>
+ <span class="b">++**+*x</span> <span class="b">x*+**++</span>
+ <span class="b">====x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x====</span>
+ <span class="b">====</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">====</span>
+ <span class="b">==++</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">++==</span>
+ <span class="b">++==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==++</span>
+ <span class="b">xx==x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x==xx</span>
+ <span class="b">==++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++==</span>
+ <span class="b">xx==</span> +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">==xo</span>
+ <span class="b">++++</span> +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++++</span>
+ <span class="b">==+·</span> @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$@$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ~$$$$$$@+ o@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*x $$$$@= ~@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%***************@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$= +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> $@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> *@@@@@@@@@%o =@@@@@@@@@@= o%@@@@@@@@@%· <span class="b">+++x</span>
+ <span class="b">==++</span> ·~· ~~ ·~· <span class="b">x+==</span>
+ <span class="b">==++</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">++==</span>
+ <span class="b">++**=*++xox+==%*==++===%==xoox==%===++==*%==+xoo++*=**++</span>
+ <span class="b">+++++===++</span> <span class="b">+++==+++</span> <span class="b">+++===++++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_216.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_216.txt
new file mode 100644
index 0000000..0b06bcd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_216.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x+++++++++++++xx</span>
+ <span class="b">++==*****%%%%%%%%%%*****==++</span>
+ <span class="b">++**=*=*</span> <span class="b">*=*=**++</span>
+ <span class="b">++**=*++</span> <span class="b">++*=**++</span>
+ <span class="b">++**x+</span> ~+*$$@@@@@@@@$$*+~ <span class="b">+x**++</span>
+ <span class="b">====</span> o%@@@@@@@$$$$$$$$$$@@@@@@@%o <span class="b">====</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">==++</span>
+ <span class="b">ox==x·</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">·x==xo</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">++++</span> x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++++</span>
+ <span class="b">==+~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+==</span>
+ <span class="b">==</span> $$$$$$$ o*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@%· o@$$$$$@*· +@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@*~ $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$= $$$$@+ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x x%@$$$$$@@*===============$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> o@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@*o ·+$@@@@@@@@@@$+· o*@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**+~</span> ~+=*=+o ·x=**=x· o+=*=+~ <span class="b">·+**</span>
+ <span class="b">**xx</span> <span class="b">++</span> <span class="b">++</span> <span class="b">o+**xx</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**+=</span> <span class="b">++====</span>
+ <span class="b">+==**%*=*=++</span> <span class="b">++=******=++</span> <span class="b">+++=**%%*===</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_217.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_217.txt
new file mode 100644
index 0000000..3b406fd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_217.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++****%%%%%%%%%%%%****++++</span>
+ <span class="b">++***%*%x~</span> <span class="b">~x%*%***++</span>
+ <span class="b">++**==++</span> <span class="b">++==**++</span>
+ <span class="b">++**++</span> ·x*%$$@@@@@@$$%*x· <span class="b">++**++</span>
+ <span class="b">++==~</span> o*@@@@@@@@$$$$$$$$@@@@@@@@*o <span class="b">~==++</span>
+ <span class="b">++==</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">==++</span>
+ <span class="b">++==</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">==++</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">==</span>
+ <span class="b">++++</span> o@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">==x~</span> @$$$$$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x==</span>
+ <span class="b">==</span> $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*~ ·=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@=· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@$$$$$@@=+++++++++++++++$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@$$$@@@@@=x~o+%@@@@@$$@@@@@%+o~x=@@@@@$$$@@@@$ <span class="b">x+++</span>
+ <span class="b">**~·</span> ~=%$$$%=o x*$$$$*x o=%$$$%=~ <span class="b">**</span>
+ <span class="b">xx**o~</span> <span class="b">~~**xx</span>
+ <span class="b">x+**+=</span> <span class="b">++******+x</span> <span class="b">x+*=****++</span> <span class="b">*+**+x</span>
+ <span class="b">++==*%%%%%%*==</span> <span class="b">xx==*%%%%%%*==xx</span> <span class="b">==*%%%%%%*==++</span>
+
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_218.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_218.txt
new file mode 100644
index 0000000..7c43145
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_218.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">+x++++++</span>
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">x+==**=*+o</span> <span class="b">o+*=**==+x</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> x=%$$@@@@@@$$%=x <span class="b">++**++</span>
+ <span class="b">++**oo</span> ~=@@@@@@@@$$$$$$$$@@@@@@@@=~ <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">++=*</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">*=++</span>
+ <span class="b">==+~</span> o@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@o <span class="b">~x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">++x~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$= $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$· <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> $@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@@@$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">+++o</span> =@@@$$$$$$$@@@@%**$@@@@$$$$$$@@@@$**%@@@@$$$$$$$@@@= <span class="b">~+++</span>
+ <span class="b">ox==</span> ~*@@@@@@@*o +$@@@@@@$+ o*@@@@@@@*~ <span class="b">==xo</span>
+ <span class="b">++==</span> <span class="b">==++</span>
+ <span class="b">++**++</span> <span class="b">=*%%==</span> <span class="b">==%%*=</span> <span class="b">+x**++</span>
+ <span class="b">+=**%%%%%*%=**+x</span> <span class="b">++***%%%%%%***++</span> <span class="b">x+**=%*%%%%***=+</span>
+ <span class="b">xxxx</span> <span class="b">xxxx</span> <span class="b">xxxx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_219.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_219.txt
new file mode 100644
index 0000000..427ca64
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_219.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++==***%*%%%%%%*%***==++</span>
+ <span class="b">xx==***%+x</span> <span class="b">x+%***==xx</span>
+ <span class="b">==**++</span> <span class="b">++**==</span>
+ <span class="b">++**++</span> o=*%$$@@@@$$%*=o <span class="b">++**++</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++==</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">==++</span>
+ <span class="b">x+=*</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">*=xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==</span>
+ <span class="b">==+·</span> %@@$$$$$$$$$@@@@$$@@@@$$$$$$$$@@@@$$@@@@$$$$$$$$$@@% <span class="b">·+==</span>
+ <span class="b">xx==</span> +$@@@@@@@@= o%@@@@@@@@%o =@@@@@@@@$+ <span class="b">==+x</span>
+ <span class="b">++=+</span> <span class="b">+=++</span>
+ <span class="b">++*=o</span> <span class="b">+=%$++</span> <span class="b">++$%=+</span> <span class="b">o==++</span>
+ <span class="b">xx==**=*===*%***++xx++*%*%====%*%*++xx++***%*===***===++</span>
+ <span class="b">++++++xx</span> <span class="b">++++++++</span> <span class="b">xx++==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_220.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_220.txt
new file mode 100644
index 0000000..bf319ce
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_220.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++++***%%$%%%%$%%***++++</span>
+ <span class="b">++***%+x</span> <span class="b">x+%***++</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> o=*%$$@@@@$$%*=o <span class="b">++**+x</span>
+ <span class="b">++**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ +%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@o @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$@@@@@@@@@$$$$$$$$$$@@@@@@@@@$$$$$$$$$@@@ <span class="b">·x==</span>
+ <span class="b">x+++</span> ~%@@@@@@@@@$x =@@@@@@@@@@= x$@@@@@@@@@%~ <span class="b">+++x</span>
+ <span class="b">===x</span> ~~~ ·~~· ~~~ <span class="b">x+==</span>
+ <span class="b">===+</span> <span class="b">x+%%</span> <span class="b">%%+x</span> <span class="b">+===</span>
+ <span class="b">++**=%+x··~o==*===++***%=+o~~o+=%***++===*==o~··x+%=**++</span>
+ <span class="b">++=====+++</span> <span class="b">xx++====++xx</span> <span class="b">+=======++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_221.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_221.txt
new file mode 100644
index 0000000..8d7db5a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_221.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==***%%%%%%%%%%***==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+%***=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> o=%%$$@@@@$$%%=o <span class="b">++**xx</span>
+ <span class="b">x+**oo</span> ~=$@@@@@@@$$$$$$$$@@@@@@@$=~ <span class="b">oo**+x</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**xx</span>
+ <span class="b">xx**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@@$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o~~~~~~~~~~~~~~~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$+xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x</span> ·@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@~ <span class="b">==</span>
+ <span class="b">++++</span> x@@@@@@@@@@@= o%@@@@@@@@@@%o =@@@@@@@@@@@x <span class="b">++xx</span>
+ <span class="b">==+o</span> ~x+xo ·x++x· ox+xo <span class="b">o+==</span>
+ <span class="b">**++</span> <span class="b">==</span> <span class="b">=*</span> <span class="b">x+**</span>
+ <span class="b">+=**==o·</span> <span class="b">++*=**==**=*+o</span> <span class="b">o+*=**==**=*+x</span> <span class="b">·o==**=+</span>
+ <span class="b">++==****++++</span> <span class="b">++==****==++</span> <span class="b">++++****==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_222.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_222.txt
new file mode 100644
index 0000000..7551522
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_222.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">++==**%%%%%%%%%%%%**==++</span>
+ <span class="b">+=***%+o</span> <span class="b">o+****=+</span>
+ <span class="b">+=**++</span> <span class="b">++**=+</span>
+ <span class="b">xx**++</span> ·x=%$$@@@@@@$$%=x· <span class="b">++**xx</span>
+ <span class="b">x+**~</span> ~*@@@@@@@@$$$$$$$$@@@@@@@@*~ <span class="b">~**+x</span>
+ <span class="b">++**</span> +@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">xx++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">++xx</span>
+ <span class="b">++x~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~x++</span>
+ <span class="b">==</span> $$$$$$% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% +@$$$$$@*~··············~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@$=· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=~ $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@x <span class="b">==</span>
+ <span class="b">++++</span> =@@@@@@@@@@@%o ~+@@@@@@@@@@@@+~ o%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**+~</span> ~+***=o ·x=**=x· o=***+o <span class="b">·x**</span>
+ <span class="b">**+x</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**xx</span>
+ <span class="b">====++</span> <span class="b">*=**==**+=</span> <span class="b">=+**==**=*</span> <span class="b">++====</span>
+ <span class="b">++=**%%**=++</span> <span class="b">++=**%%**=++</span> <span class="b">++=**%%%==++xx</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_223.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_223.txt
new file mode 100644
index 0000000..7ba0c68
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_223.txt
@@ -0,0 +1,41 @@
+
+
+
+
+ <span class="b">+++=*%%%%%%%%%%%%%%*=+++</span>
+ <span class="b">+=*%=*x·</span> <span class="b">·x*=%*=+</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> ~+*%$@@@@@@@@$%*+~ <span class="b">++**+x</span>
+ <span class="b">++**</span> o*@@@@@@@$$$$$$$$$$@@@@@@@*o <span class="b">**++</span>
+ <span class="b">xx**</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">**xx</span>
+ <span class="b">xx**</span> o$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$o <span class="b">**xx</span>
+ <span class="b">=*x·</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">·x*=</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">=*</span> o@$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">*=</span>
+ <span class="b">xx++</span> x@$$$$@$%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$ x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@% x@$$$$$@*~ ·+@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@*· $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$=· $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@$$$$$@@=++++++++++++++=$@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% o%@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$x o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@$+~ ·o*@@@@@@@@@@@@*o ~+$@@@@@@@@@@@% <span class="b">++++</span>
+ <span class="b">**x·</span> x*%%%*+ o=%%%%=o +*%%%*x <span class="b">·o**</span>
+ <span class="b">ox**xo</span> <span class="b">xx</span> <span class="b">xx</span> <span class="b">~o**xx</span>
+ <span class="b">===*+x</span> <span class="b">*+****==++</span> <span class="b">++==****+*</span> <span class="b">o+*===</span>
+ <span class="b">++==**%%%**=++</span> <span class="b">++=**%%%*=++</span> <span class="b">++=**%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_224.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_224.txt
new file mode 100644
index 0000000..814ec86
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_224.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++</span>
+ <span class="b">++=**%*%%%%%%%%%%*%**=++</span>
+ <span class="b">x+==*%=*</span> <span class="b">*=%*==+x</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">x+**++</span> o=%$@@@@@@@@@@$%=o <span class="b">++**+x</span>
+ <span class="b">++**</span> x%@@@@@@$$$$$$$$$$$$@@@@@@%x <span class="b">**++</span>
+ <span class="b">++==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==++</span>
+ <span class="b">x+=*</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">**+x</span>
+ <span class="b">**x·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·x**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">=*</span> x@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> @$$$$@$ ~*@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$~ o$$$$$$@= x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@%o $$$$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%x $$$$@+ ·@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@*==============*@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@@$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> =@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$@@@@@@=o~o+%@@@@@@@@@@@@%xo~o=@@@@@@$@@@@@$ <span class="b">x+++</span>
+ <span class="b">**o·</span> ~=%$$$%=~ x*$$$$*x ~=%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**o~</span> <span class="b">~~**xx</span>
+ <span class="b">xx**+=</span> <span class="b">++=***=*+x</span> <span class="b">xx*=***=++</span> <span class="b">==**+x</span>
+ <span class="b">++==*%%%%%**==</span> <span class="b">++++*%%%%%%*++++</span> <span class="b">==**%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_225.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_225.txt
new file mode 100644
index 0000000..5c50111
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_225.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">x++++++x</span>
+ <span class="b">+===*%%%%%****%%%%%*===+</span>
+ <span class="b">++===*+=</span> <span class="b">=+*===+x</span>
+ <span class="b">===*</span> <span class="b">*===</span>
+ <span class="b">++**xx</span> ·+*$@@@@@@@@@@@@$*+· <span class="b">xx**++</span>
+ <span class="b">++==</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">==++</span>
+ <span class="b">++==</span> ·%@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@%· <span class="b">==++</span>
+ <span class="b">x+==</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">==++</span>
+ <span class="b">**o·</span> =@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@= <span class="b">·o**</span>
+ <span class="b">++++</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">++++</span>
+ <span class="b">=*</span> +@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">x+++</span> =@$$$$@%==$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">+++x</span>
+ <span class="b">+++·</span> ·@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">·+++</span>
+ <span class="b">==</span> @$$$$@$ =$@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ·%$$$$$@+ o$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@*o $$$$$= o@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$· =@@$$$$$@@%**************%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xoo+$@@@@@$$@@@@@$+oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> ~=%$$$$*o +%$$$$%+ o*$$$$%*o <span class="b">**</span>
+ <span class="b">xx**~~</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">++==**==x~</span> <span class="b">~x==**==++</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%%%%%%*==</span> <span class="b">x+==*%%%%%%*==+x</span> <span class="b">==*%%%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_226.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_226.txt
new file mode 100644
index 0000000..d27b633
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_226.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++++***%%%==++++==%%%***++++</span>
+ <span class="b">++**=*+o</span> <span class="b">o+*=**++</span>
+ <span class="b">x+**==</span> <span class="b">==**+x</span>
+ <span class="b">++**</span> x*$@@@@@@@@@@@@@@$*x <span class="b">**++</span>
+ <span class="b">++*+</span> o%@@@@@@$$$$$$$$$$$$$$@@@@@@%o <span class="b">+*++</span>
+ <span class="b">++=+</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">+=++</span>
+ <span class="b">++==</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">==++</span>
+ <span class="b">**</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">**</span>
+ <span class="b">+++x</span> x@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@x <span class="b">x+++</span>
+ <span class="b">==</span> *@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">xx++</span> *@$$$$@=ox*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@* <span class="b">++xx</span>
+ <span class="b">==+·</span> o@$$$$$ o*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ o%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@= *$$$$$$~ %$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$+ ~$$$$$* +@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@$$$$$@@@$$$$$$$$$$$$$$@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@%· o%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xo+*@@@@@$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@$$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">xx**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%***++xx</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">xx++*%*%%%%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_227.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_227.txt
new file mode 100644
index 0000000..c94758b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_227.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++++++++++</span>
+ <span class="b">++==*%*%==++xxxx++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++=+</span> =@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@= <span class="b">+=++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> %@$$$@@x ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">++++</span>
+ <span class="b">==+·</span> x@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@x <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ ·=@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$@@*~ +$$$$$% *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@= $@$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o +$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> x*$$@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****+x</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%*%*=+++</span> <span class="b">++==*%*%%*%*==++</span> <span class="b">+++=*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_228.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_228.txt
new file mode 100644
index 0000000..dafe701
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_228.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++===***==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**++</span> ·oxx++xxo· <span class="b">++**++</span>
+ <span class="b">===+</span> o=$@@@@@@@@@@@@@@@@@@$=o <span class="b">+===</span>
+ <span class="b">**++</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">++**</span>
+ <span class="b">==+x</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++=+</span> x@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@x <span class="b">+=++</span>
+ <span class="b">xx==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xx</span>
+ <span class="b">==x~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~x==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@% ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> =$$$$@$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$= <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ o*@@$$$$$@@@$$$$$$$$$$$$$$$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@$= ·$$$$$* x@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o %$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> %@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$$@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">o+++</span>
+ <span class="b">**</span> x*$@@@$%x ~=%$@@$%=~ x%$@@@$%x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**++</span>
+ <span class="b">++**+=</span> <span class="b">x+****==</span> <span class="b">==****+x</span> <span class="b">=+**xx</span>
+ <span class="b">++==*%%%%*%*==++</span> <span class="b">++==*%*%%%%*==++</span> <span class="b">++==*%*%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_229.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_229.txt
new file mode 100644
index 0000000..a7e7309
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_229.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++==**%%%%***=++++</span>
+ <span class="b">++==*%=*+x</span> <span class="b">x+**%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">====</span> ox=******=xo <span class="b">====</span>
+ <span class="b">**++</span> ·=$@@@@@@@@@@@@@@@@@@@@$=· <span class="b">++**</span>
+ <span class="b">**+o</span> =@@@@@$$$$$$$$$$$$$$$$$$$$@@@@@= <span class="b">o+**</span>
+ <span class="b">**x~</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">~x**</span>
+ <span class="b">+++x</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">x+++</span>
+ <span class="b">xx==</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">ox==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xo</span>
+ <span class="b">+++o</span> @$$$$$+ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$@$ +%@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$~ +$@$$$$$@@%==============*@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@%x $$$$@+ ·@$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@%o $$$$@· @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$~ o$$$$$$@= x@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ ~*@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ·*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@$**$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$$@@@@@$$$$$$$$$$$$$@% <span class="b">==</span>
+ <span class="b">+++x</span> ~@@@@@$$$@@@@@%+xx=$@@@@$$$$@@@@$=xx+%@@@@$$$$@@@@@o <span class="b">x+++</span>
+ <span class="b">**</span> o*$$@@$%x ·=%$@@$%=· x%$@@$$*x <span class="b">**</span>
+ <span class="b">x+**</span> <span class="b">**+x</span>
+ <span class="b">++**+=</span> <span class="b">xx****==</span> <span class="b">==****xx</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%%%%*%*=+xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++*%*%%%%***++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_230.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_230.txt
new file mode 100644
index 0000000..b27d48b
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_230.txt
@@ -0,0 +1,41 @@
+
+
+
+ <span class="b">++++=**%%%%%%%%%%**=++++</span>
+ <span class="b">+=***%+x</span> <span class="b">x+%***=+</span>
+ <span class="b">++**+=</span> <span class="b">=+**++</span>
+ <span class="b">ox**+=</span> o=*%$@@@@@@$%*=o <span class="b">=+**xo</span>
+ <span class="b">x+**oo</span> ·=$@@@@@@@$$$$$$$$@@@@@@@$=· <span class="b">oo**+x</span>
+ <span class="b">x+**</span> x$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$x <span class="b">**+x</span>
+ <span class="b">ox**</span> ·$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$· <span class="b">**xo</span>
+ <span class="b">==+~</span> ~@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ·@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@· <span class="b">==</span>
+ <span class="b">xx++</span> ~@$$$$@@$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ x$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$@% +$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%x~~~~~~~~~~~~~~o*@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$+ $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@+ ~*@$$$$$@$+xxxxxxxxxxxxxxx%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% ·=@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ ·=$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> ·$@@@@$$$@@@@@*xox=$@@@@$$$$@@@@$=oox*@@@@@$$$@@@@@~ <span class="b">x+++</span>
+ <span class="b">**</span> o*%$$$$*x ·+%$$$$%+· x*$$$$$*o <span class="b">**</span>
+ <span class="b">x+**~</span> <span class="b">**+x</span>
+ <span class="b">x+**+=</span> <span class="b">+x*=**==x</span> <span class="b">==**==x+</span> <span class="b">=+**+x</span>
+ <span class="b">++==*%*%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++**%%%*%*==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_231.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_231.txt
new file mode 100644
index 0000000..7280be7
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_231.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++</span>
+ <span class="b">++==*%%%*%****%*%%%*==++</span>
+ <span class="b">x+==*%==</span> <span class="b">==%*==+x</span>
+ <span class="b">===*xo</span> <span class="b">ox*===</span>
+ <span class="b">++**x+</span> x*%$@@@@@@@@@@$%*x <span class="b">+x**++</span>
+ <span class="b">++*=</span> +$@@@@@@$$$$$$$$$$$$@@@@@@$+ <span class="b">=*++</span>
+ <span class="b">++==</span> *@@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@@* <span class="b">==+x</span>
+ <span class="b">xx==</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">==xx</span>
+ <span class="b">**o·</span> +@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@+ <span class="b">·o**</span>
+ <span class="b">++++</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">++++</span>
+ <span class="b">**</span> +@$$$$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">*=</span>
+ <span class="b">xx++</span> +@$$$$@%=*$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">++xx</span>
+ <span class="b">+++~</span> @$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> @$$$$$$ ·=@@@@$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@$o ~$$$$$$@+ x@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@$o $$$$@· @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%o $$$$$+ ~@$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$~ +$@$$$$$@@%**************%@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@$ +$@@@$$$$$$$$$@@@@@@@@@@@@@@@@$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@= +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> *@$$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$$@* <span class="b">==</span>
+ <span class="b">+++x</span> $@@@@@$$@@@@@*xoo+%@@@@@$$@@@@@%+o~x=@@@@@$$@@@@@$· <span class="b">x+++</span>
+ <span class="b">**o</span> ~=%$$$%*o +%$$$$%+ o*%$$$%=~ <span class="b">**</span>
+ <span class="b">x+**~~</span> <span class="b">~**+x</span>
+ <span class="b">++**==</span> <span class="b">++==***=xo</span> <span class="b">o+==**==++</span> <span class="b">=+**++</span>
+ <span class="b">++==*%%%%%**++xx</span> <span class="b">++==*%%%%%%*==++</span> <span class="b">xx++**%%%%%**=++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_232.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_232.txt
new file mode 100644
index 0000000..9ae60cd
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_232.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++====++++</span>
+ <span class="b">++==*%*%==++++++++==%*%*==++</span>
+ <span class="b">++**=*</span> <span class="b">*=**++</span>
+ <span class="b">x+**+=</span> ·· <span class="b">=+**+x</span>
+ <span class="b">++==</span> o=%@@@@@@@@@@@@@@@@%=o <span class="b">==++</span>
+ <span class="b">===+</span> +$@@@@@$$$$$$$$$$$$$$$$@@@@@$+ <span class="b">+===</span>
+ <span class="b">++++</span> =@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@@@= <span class="b">++++</span>
+ <span class="b">++=+</span> $@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$ <span class="b">+=++</span>
+ <span class="b">**</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">**</span>
+ <span class="b">+++o</span> =@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@= <span class="b">o+++</span>
+ <span class="b">==</span> $@$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">==</span>
+ <span class="b">++++</span> $@$$$@@x ·+$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==+·</span> +@$$$$$ =$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@+ <span class="b">·+==</span>
+ <span class="b">==</span> @$$$$$$ =$@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@*o +$$$$$% *$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@+ $$$$@ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@%o x$$$$$% =$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ =@@@$$$$$@@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@$o +$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> +@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@@@@@$$$$$$$$$$$$@@= <span class="b">==</span>
+ <span class="b">++++</span> %@@@@@@@@@@@$+o·~x*@@@@@@@@@@@@*o··~+$@@@@@@@@@@@% <span class="b">x+++</span>
+ <span class="b">**x·</span> +*%%%*+· o=%%%%=o ·+%%$%*+ <span class="b">·o**</span>
+ <span class="b">x+**o~</span> <span class="b">oo</span> <span class="b">oo</span> <span class="b">oo**+x</span>
+ <span class="b">++**+=+~</span> <span class="b">=+******+x</span> <span class="b">x+******+=</span> <span class="b">~x=+**++</span>
+ <span class="b">++==**%%%***++xx</span> <span class="b">++==***%%***==++</span> <span class="b">xx++***%%%**==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_233.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_233.txt
new file mode 100644
index 0000000..5d6e28d
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_233.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++++==****==++++</span>
+ <span class="b">==***%==xo</span> <span class="b">ox==%***==</span>
+ <span class="b">===*++</span> <span class="b">++*===</span>
+ <span class="b">++**x+</span> ·oxx++xxo· <span class="b">+x**++</span>
+ <span class="b">===+</span> o*$@@@@@@@@@@@@@@@@@@$*o <span class="b">+===</span>
+ <span class="b">**+x</span> o%@@@@@$$$$$$$$$$$$$$$$$$@@@@@%o <span class="b">x+**</span>
+ <span class="b">==+o</span> ~$@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@$~ <span class="b">o+==</span>
+ <span class="b">++++</span> +@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@+ <span class="b">++++</span>
+ <span class="b">ox==</span> o@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@o <span class="b">==xo</span>
+ <span class="b">==+~</span> %@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@% <span class="b">~+==</span>
+ <span class="b">ox==</span> @@$$$@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">==xo</span>
+ <span class="b">+++x</span> @$$$$@* ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">x+++</span>
+ <span class="b">==x</span> *$$$$$$ ~*@@@@$$$$$$$$$$@@@@@@@@@@@@@@$$$$$$$$* <span class="b">x==</span>
+ <span class="b">==</span> @$$$$$$ ~*@@$$$$$@@$%%%%%%%%%%%%%%$@@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@= ·$$$$$* x$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ~@$$$$$$$@@@@x $$$$@ @$$$$@~ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@+ *$$$$$$o ·$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x$@@@$$$$$$@@@@@@@@@@@@@@@@@@@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@@*x+%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> x@@$$$$$$$$$$$@@@@@@@$$$$$$$$$$$$@@@@@@@$$$$$$$$$$$@@+ <span class="b">==</span>
+ <span class="b">++++</span> *@@@@@@@@@@@%x· ~=@@@@@@@@@@@@=~ x%@@@@@@@@@@@* <span class="b">++++</span>
+ <span class="b">**x·</span> o=*%%=x ~+*%%*+~ x=%%*=x <span class="b">·x**</span>
+ <span class="b">x+**xo</span> <span class="b">++</span> <span class="b">++</span> <span class="b">ox**+x</span>
+ <span class="b">x+**=*xx</span> <span class="b">*+****==++</span> <span class="b">++==****=*</span> <span class="b">x+==**+x</span>
+ <span class="b">++==********++xx</span> <span class="b">++==********==++</span> <span class="b">xx++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_234.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_234.txt
new file mode 100644
index 0000000..b4e624e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_234.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">+++=**%%%%%%%%**=+++</span>
+ <span class="b">++***%==o·</span> <span class="b">·o==%***++</span>
+ <span class="b">++**+*</span> <span class="b">*+**++</span>
+ <span class="b">====</span> o+=*%$$$$%*=+o <span class="b">====</span>
+ <span class="b">x+**xx</span> x*@@@@@@@@@@@@@@@@@@@@@@*x <span class="b">xx**+x</span>
+ <span class="b">xx**~~</span> ~%@@@@$$$$$$$$$$$$$$$$$$$$$$@@@@%~ <span class="b">~~**xx</span>
+ <span class="b">**o·</span> *@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@@* <span class="b">·x**</span>
+ <span class="b">==+o</span> %@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@% <span class="b">o+==</span>
+ <span class="b">xx==</span> *@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@* <span class="b">==xx</span>
+ <span class="b">==x·</span> @@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@ <span class="b">·x==</span>
+ <span class="b">xx==</span> @$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==xx</span>
+ <span class="b">+++o</span> @$$$$$o ~*@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">o+++</span>
+ <span class="b">==</span> %$$$$@% ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$% <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$+ o*@$$$$$@$=+++++++++++++++%@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> $$$$$$$@@@=~ $$$$$x @$$$$$ <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@= $$$$@~ @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$@% +@$$$$$@%~··············~=@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$@% x%@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@%%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ~@@$$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@o <span class="b">==</span>
+ <span class="b">++++</span> +@@@@@@@@@@@=~ x$@@@@@@@@@@$x ·=@@@@@@@@@@@+ <span class="b">++++</span>
+ <span class="b">**+~</span> o+=+x· o+==+o ·x+=+x <span class="b">~x**</span>
+ <span class="b">xx**+x</span> <span class="b">==</span> <span class="b">==</span> <span class="b">x+**+x</span>
+ <span class="b">xx**==+=</span> <span class="b">~x*=******+*</span> <span class="b">*+******=*x~</span> <span class="b">=+==**xx</span>
+ <span class="b">++==********++</span> <span class="b">x+++********+++x</span> <span class="b">++********==++</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/frames/frame_235.txt b/vendor/libghostty-vt/src/build/framegen/frames/frame_235.txt
new file mode 100644
index 0000000..7a37219
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/frames/frame_235.txt
@@ -0,0 +1,41 @@
+
+
+ <span class="b">++==**%%*%%%%%%*%%**==++</span>
+ <span class="b">==***%xx</span> <span class="b">xx%***==</span>
+ <span class="b">++**++</span> <span class="b">++**++</span>
+ <span class="b">x+**++</span> x=*$$@@@@@@$$*=x <span class="b">++**+x</span>
+ <span class="b">++**~o</span> ~*$@@@@@@@$$$$$$$$@@@@@@@$*~ <span class="b">oo**++</span>
+ <span class="b">++**</span> +$@@@$$$$$$$$$$$$$$$$$$$$$$$$@@@$+ <span class="b">**++</span>
+ <span class="b">xx**</span> ~$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@$~ <span class="b">**xx</span>
+ <span class="b">==+~</span> ~@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@@~ <span class="b">~+==</span>
+ <span class="b">++++</span> $@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@$ <span class="b">++++</span>
+ <span class="b">==</span> ~@$$$$$@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@~ <span class="b">==</span>
+ <span class="b">x+++</span> o@$$$$@@%$@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@o <span class="b">+++x</span>
+ <span class="b">+++~</span> @$$$$$ x%@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">~+++</span>
+ <span class="b">==</span> $$$$$$$ x$@@@$$$$$$$@@@@@@@@@@@@@@@@@@$$$$$$$ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$@* +@$$$$$@%o··············~=@$$$$$@ <span class="b">==</span>
+ <span class="b">==</span> ·$$$$$$$@@@$= $$$$@~ @$$$$$· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@$*o $$$$@x @$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$+ ~*@$$$$$@$=xxxxxxxxxxxxxx+%@$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$ ~*@@@@$$$$$$$$@@@@@@@@@@@@@@@@@$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$o ·=@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ·@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@· <span class="b">==</span>
+ <span class="b">==</span> ~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~ <span class="b">==</span>
+ <span class="b">==</span> @$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$@ <span class="b">==</span>
+ <span class="b">==x·</span> @@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$@@@@@@@@$$$$$$$$$$$@@ <span class="b">x==</span>
+ <span class="b">++++</span> o$@@@@@@@@@@+ ~*@@@@@@@@@@*~ +@@@@@@@@@@$x <span class="b">++++</span>
+ <span class="b">==+x</span> ·oxo~ ~oo~ ~oxo· <span class="b">o+*=</span>
+ <span class="b">x+**+x</span> <span class="b">=*</span> <span class="b">*=</span> <span class="b">++**xx</span>
+ <span class="b">x+==**+*+o</span> <span class="b">++*=**==**=*+x</span> <span class="b">x+*=**==**=*++</span> <span class="b">~+*=**==xx</span>
+ <span class="b">++++******==++</span> <span class="b">++++********++++</span> <span class="b">++==******+++x</span>
+
diff --git a/vendor/libghostty-vt/src/build/framegen/main.c b/vendor/libghostty-vt/src/build/framegen/main.c
new file mode 100644
index 0000000..2139b15
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/framegen/main.c
@@ -0,0 +1,168 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <zlib.h>
+
+#define SEPARATOR '\x01'
+#define CHUNK_SIZE 16384
+#define MAX_FRAMES 1024
+#define PATH_SEP '/'
+
+static int is_frame_file(const char *name) {
+ size_t len = strlen(name);
+ return len > 4 && strcmp(name + len - 4, ".txt") == 0;
+}
+
+static int compare_names(const void *a, const void *b) {
+ return strcmp(*(const char **)a, *(const char **)b);
+}
+
+static char *read_file(const char *path, size_t *out_size) {
+ FILE *f = fopen(path, "rb");
+ if (!f) {
+ fprintf(stderr, "Failed to open %s: %s\n", path, strerror(errno));
+ return NULL;
+ }
+
+ fseek(f, 0, SEEK_END);
+ long size = ftell(f);
+ fseek(f, 0, SEEK_SET);
+
+ char *buf = malloc(size);
+ if (!buf) {
+ return NULL;
+ }
+
+ if (fread(buf, 1, size, f) != (size_t)size) {
+ fprintf(stderr, "Failed to read %s\n", path);
+ return NULL;
+ }
+
+ fclose(f);
+ *out_size = size;
+ return buf;
+}
+
+int main(int argc, char **argv) {
+ if (argc != 3) {
+ fprintf(stderr, "Usage: %s <frames_dir> <output_file>\n", argv[0]);
+ return 1;
+ }
+
+ const char *frames_dir = argv[1];
+ const char *output_file = argv[2];
+
+ // Use opendir/readdir instead of scandir for Windows compatibility
+ DIR *dir = opendir(frames_dir);
+ if (!dir) {
+ fprintf(stderr, "Failed to scan directory %s: %s\n", frames_dir, strerror(errno));
+ return 1;
+ }
+
+ char *names[MAX_FRAMES];
+ int n = 0;
+ struct dirent *entry;
+ while ((entry = readdir(dir)) != NULL) {
+ if (!is_frame_file(entry->d_name)) continue;
+ if (n >= MAX_FRAMES) {
+ fprintf(stderr, "Too many frame files (max %d)\n", MAX_FRAMES);
+ closedir(dir);
+ return 1;
+ }
+ names[n] = strdup(entry->d_name);
+ if (!names[n]) {
+ fprintf(stderr, "Failed to allocate memory\n");
+ closedir(dir);
+ return 1;
+ }
+ n++;
+ }
+ closedir(dir);
+
+ if (n == 0) {
+ fprintf(stderr, "No frame files found in %s\n", frames_dir);
+ return 1;
+ }
+
+ qsort(names, n, sizeof(char *), compare_names);
+
+ size_t total_size = 0;
+ char **frame_contents = calloc(n, sizeof(char*));
+ size_t *frame_sizes = calloc(n, sizeof(size_t));
+
+ for (int i = 0; i < n; i++) {
+ char path[4096];
+ snprintf(path, sizeof(path), "%s%c%s", frames_dir, PATH_SEP, names[i]);
+
+ frame_contents[i] = read_file(path, &frame_sizes[i]);
+ if (!frame_contents[i]) {
+ return 1;
+ }
+
+ total_size += frame_sizes[i];
+ if (i < n - 1) total_size++;
+ }
+
+ char *joined = malloc(total_size);
+ if (!joined) {
+ fprintf(stderr, "Failed to allocate joined buffer\n");
+ return 1;
+ }
+
+ size_t offset = 0;
+ for (int i = 0; i < n; i++) {
+ memcpy(joined + offset, frame_contents[i], frame_sizes[i]);
+ offset += frame_sizes[i];
+ if (i < n - 1) {
+ joined[offset++] = SEPARATOR;
+ }
+ }
+
+ uLongf compressed_size = compressBound(total_size);
+ unsigned char *compressed = malloc(compressed_size);
+ if (!compressed) {
+ fprintf(stderr, "Failed to allocate compression buffer\n");
+ return 1;
+ }
+
+ z_stream stream = {0};
+ stream.next_in = (unsigned char*)joined;
+ stream.avail_in = total_size;
+ stream.next_out = compressed;
+ stream.avail_out = compressed_size;
+
+ // Use -MAX_WBITS for raw DEFLATE (no zlib wrapper)
+ int ret = deflateInit2(&stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY);
+ if (ret != Z_OK) {
+ fprintf(stderr, "deflateInit2 failed: %d\n", ret);
+ return 1;
+ }
+
+ ret = deflate(&stream, Z_FINISH);
+ if (ret != Z_STREAM_END) {
+ fprintf(stderr, "deflate failed: %d\n", ret);
+ deflateEnd(&stream);
+ return 1;
+ }
+
+ compressed_size = stream.total_out;
+ deflateEnd(&stream);
+
+ FILE *out = fopen(output_file, "wb");
+ if (!out) {
+ fprintf(stderr, "Failed to create %s: %s\n", output_file, strerror(errno));
+ return 1;
+ }
+
+ if (fwrite(compressed, 1, compressed_size, out) != compressed_size) {
+ fprintf(stderr, "Failed to write compressed data\n");
+ return 1;
+ }
+
+ fclose(out);
+
+ return 0;
+}
diff --git a/vendor/libghostty-vt/src/build/gtk.zig b/vendor/libghostty-vt/src/build/gtk.zig
new file mode 100644
index 0000000..1035367
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/gtk.zig
@@ -0,0 +1,27 @@
+const std = @import("std");
+
+pub const Targets = packed struct {
+ x11: bool = false,
+ wayland: bool = false,
+};
+
+/// Returns the targets that GTK4 was compiled with.
+pub fn targets(b: *std.Build) Targets {
+ // Run pkg-config. We allow it to fail so that zig build --help
+ // works without all dependencies. The build will fail later when
+ // GTK isn't found anyways.
+ var code: u8 = undefined;
+ const output = b.runAllowFail(
+ &.{ "pkg-config", "--variable=targets", "gtk4" },
+ &code,
+ .ignore,
+ ) catch return .{};
+
+ const x11 = std.mem.indexOf(u8, output, "x11") != null;
+ const wayland = std.mem.indexOf(u8, output, "wayland") != null;
+
+ return .{
+ .x11 = x11,
+ .wayland = wayland,
+ };
+}
diff --git a/vendor/libghostty-vt/src/build/libsystem_override.sh b/vendor/libghostty-vt/src/build/libsystem_override.sh
new file mode 100755
index 0000000..14ed191
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/libsystem_override.sh
@@ -0,0 +1,123 @@
+#!/bin/sh
+#
+# Darwin-only: rewrite a static archive so that consumers linking it bind
+# libc/libm symbols to Apple's libSystem instead of the bundled Zig
+# compiler-rt. This uses the Apple toolchain (xcrun, nmedit) and libSystem
+# semantics, so it must run on a Darwin host for a Darwin target.
+#
+# Background: our static library bundles Zig's compiler-rt, which defines
+# strong global implementations of libc/libm functions (memcpy, memmove,
+# memset, cos, sin, ...). When a consumer (e.g. the macOS app via the
+# XCFramework) links this archive, ld64 resolves those symbols from the
+# archive instead of libSystem, silently replacing Apple's highly
+# optimized implementations (_platform_memmove and friends, vectorized
+# libm) with compiler-rt's generic ones. We measured Zig 0.16 (LLVM 21)
+# compiler-rt memmove costing several percent of PTY throughput on
+# scroll-region workloads versus libSystem's.
+#
+# The mechanism is to localize (make non-external) the libSystem-provided
+# symbols defined by the compiler_rt.o archive member. This keeps
+# compiler_rt.o functional for the intrinsics that libSystem does NOT
+# provide (e.g. the f128 conversions ___extenddftf2/___extendxftf2, *q
+# math, sincos*) while letting every other archive member bind the
+# well-known libc/libm symbols to libSystem at final link.
+#
+# usage: libsystem_override.sh <input.a> <output.a>
+set -eu
+
+in="$1"
+out="$2"
+
+tmp="$(mktemp -d)"
+trap 'rm -rf "$tmp"' EXIT
+
+cp -f "$in" "$out"
+chmod u+w "$out"
+
+# The symbols to prefer from libSystem. Everything listed here is a
+# stable macOS export (verified against libSystem's link surface).
+# Notably NOT listed (not exported by libSystem): the *q (f128)
+# variants, sincos/sincosf/sincosl, and all ___-prefixed compiler
+# intrinsics except the fortify _chk wrappers below.
+cat >"$tmp/localize.txt" <<'EOF'
+_bcmp
+_memcmp
+_memcpy
+_memmove
+_memset
+_strlen
+___memcpy_chk
+___memmove_chk
+___memset_chk
+___strcat_chk
+___strcpy_chk
+_ceil
+_ceilf
+_ceill
+_cos
+_cosf
+_cosl
+_exp
+_exp2
+_exp2f
+_exp2l
+_expf
+_expl
+_fabs
+_fabsf
+_fabsl
+_floor
+_floorf
+_floorl
+_fma
+_fmaf
+_fmal
+_fmax
+_fmaxf
+_fmaxl
+_fmin
+_fminf
+_fminl
+_fmod
+_fmodf
+_fmodl
+_log
+_log10
+_log10f
+_log10l
+_log2
+_log2f
+_log2l
+_logf
+_logl
+_round
+_roundf
+_roundl
+_sin
+_sinf
+_sinl
+_sqrt
+_sqrtf
+_sqrtl
+_tan
+_tanf
+_tanl
+_trunc
+_truncf
+_truncl
+EOF
+
+cd "$tmp"
+
+xcrun ar x "$out" compiler_rt.o
+chmod 644 compiler_rt.o
+
+# nmedit takes a keep-list (-s): all current global definitions except
+# the ones we want to localize.
+xcrun nm -g compiler_rt.o | awk '$2 ~ /^[A-TV-Z]$/ {print $3}' | sort -u >all.txt
+sort -u localize.txt >loc.txt
+comm -23 all.txt loc.txt >keep.txt
+xcrun nmedit -s keep.txt compiler_rt.o
+
+xcrun ar r "$out" compiler_rt.o
+xcrun ranlib "$out" 2>/dev/null || true
diff --git a/vendor/libghostty-vt/src/build/main.zig b/vendor/libghostty-vt/src/build/main.zig
new file mode 100644
index 0000000..1f36d37
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/main.zig
@@ -0,0 +1,34 @@
+//! Build logic for Ghostty. A single "build.zig" file became far too complex
+//! and spaghetti, so this package extracts the build logic into smaller,
+//! more manageable pieces.
+
+pub const gtk = @import("gtk.zig");
+pub const Config = @import("Config.zig");
+pub const GitVersion = @import("GitVersion.zig");
+
+// Artifacts
+pub const GhosttyBench = @import("GhosttyBench.zig");
+pub const GhosttyDist = @import("GhosttyDist.zig");
+pub const GhosttyDocs = @import("GhosttyDocs.zig");
+pub const GhosttyExe = @import("GhosttyExe.zig");
+pub const GhosttyFrameData = @import("GhosttyFrameData.zig");
+pub const GhosttyLib = @import("GhosttyLib.zig");
+pub const GhosttyLibVt = @import("GhosttyLibVt.zig");
+pub const GhosttyResources = @import("GhosttyResources.zig");
+pub const GhosttyI18n = @import("GhosttyI18n.zig");
+pub const GhosttyXcodebuild = @import("GhosttyXcodebuild.zig");
+pub const GhosttyXCFramework = @import("GhosttyXCFramework.zig");
+pub const GhosttyWebdata = @import("GhosttyWebdata.zig");
+pub const GhosttyZig = @import("GhosttyZig.zig");
+pub const HelpStrings = @import("HelpStrings.zig");
+pub const SharedDeps = @import("SharedDeps.zig");
+pub const UnicodeTables = @import("UnicodeTables.zig");
+
+// Steps
+pub const LibtoolStep = @import("LibtoolStep.zig");
+pub const LipoStep = @import("LipoStep.zig");
+pub const MetallibStep = @import("MetallibStep.zig");
+pub const XCFrameworkStep = @import("XCFrameworkStep.zig");
+
+// Helpers
+pub const requireZig = @import("zig.zig").requireZig;
diff --git a/vendor/libghostty-vt/src/build/mdgen/ghostty_1_footer.md b/vendor/libghostty-vt/src/build/mdgen/ghostty_1_footer.md
new file mode 100644
index 0000000..a63a85f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/ghostty_1_footer.md
@@ -0,0 +1,64 @@
+# FILES
+
+_\$XDG_CONFIG_HOME/ghostty/config.ghostty_
+
+: Location of the default configuration file.
+
+_\$HOME/Library/Application Support/com.mitchellh.ghostty/config.ghostty_
+
+: **On macOS**, location of the default configuration file. This location takes
+precedence over the XDG environment locations.
+
+_\$LOCALAPPDATA/ghostty/config.ghostty_
+
+: **On Windows**, if _\$XDG_CONFIG_HOME_ is not set, _\$LOCALAPPDATA_ will be searched
+for configuration files.
+
+# ENVIRONMENT
+
+**TERM**
+
+: Defaults to `xterm-ghostty`. Can be configured with the `term` configuration option.
+
+**GHOSTTY_RESOURCES_DIR**
+
+: Where the Ghostty resources can be found.
+
+**XDG_CONFIG_HOME**
+
+: Default location for configuration files.
+
+**$HOME/Library/Application Support/com.mitchellh.ghostty**
+
+: **MACOS ONLY** default location for configuration files. This location takes
+precedence over the XDG environment locations.
+
+**LOCALAPPDATA**
+
+: **WINDOWS ONLY:** alternate location to search for configuration files.
+
+**GHOSTTY_LOG**
+
+: The `GHOSTTY_LOG` environment variable can be used to control which
+destinations receive logs. Ghostty currently defines two destinations:
+
+: - `stderr` - logging to `stderr`.
+: - `macos` - logging to macOS's unified log (has no effect on non-macOS platforms).
+
+: Combine values with a comma to enable multiple destinations. Prefix a
+destination with `no-` to disable it. Enabling and disabling destinations
+can be done at the same time. Setting `GHOSTTY_LOG` to `true` will enable all
+destinations. Setting `GHOSTTY_LOG` to `false` will disable all destinations.
+
+# BUGS
+
+See GitHub issues: <https://github.com/ghostty-org/ghostty/issues>
+
+# AUTHOR
+
+Mitchell Hashimoto <m@mitchellh.com>
+Ghostty contributors <https://github.com/ghostty-org/ghostty/graphs/contributors>
+
+# SEE ALSO
+
+**ghostty(5)**
diff --git a/vendor/libghostty-vt/src/build/mdgen/ghostty_1_header.md b/vendor/libghostty-vt/src/build/mdgen/ghostty_1_header.md
new file mode 100644
index 0000000..c94ae68
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/ghostty_1_header.md
@@ -0,0 +1,23 @@
+% GHOSTTY(1) Version @@VERSION@@ | Ghostty terminal emulator
+
+# NAME
+
+**ghostty** - Ghostty terminal emulator
+
+# DESCRIPTION
+
+Ghostty is a cross-platform, GPU-accelerated terminal emulator that aims to push
+the boundaries of what is possible with a terminal emulator by exposing modern,
+opt-in features that enable CLI tool developers to build more feature rich,
+interactive applications.
+
+There are a number of excellent terminal emulator options that exist today.
+The unique goal of Ghostty is to have a platform for experimenting with modern,
+optional, non-standards-compliant features to enhance the capabilities of CLI
+applications. We aim to be the best in this category, and competitive in the
+rest.
+
+While aiming for this ambitious goal, Ghostty is a fully standards compliant
+terminal emulator that aims to remain compatible with all existing shells and
+software. You can use this as a drop-in replacement for your existing terminal
+emulator.
diff --git a/vendor/libghostty-vt/src/build/mdgen/ghostty_5_footer.md b/vendor/libghostty-vt/src/build/mdgen/ghostty_5_footer.md
new file mode 100644
index 0000000..d2cf024
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/ghostty_5_footer.md
@@ -0,0 +1,43 @@
+# FILES
+
+_\$XDG_CONFIG_HOME/ghostty/config.ghostty_
+
+: Location of the default configuration file.
+
+_\$HOME/Library/Application Support/com.mitchellh.ghostty/config.ghostty_
+
+: **On macOS**, location of the default configuration file. This location takes
+precedence over the XDG environment locations.
+
+_\$LOCALAPPDATA/ghostty/config.ghostty_
+
+: **On Windows**, if _\$XDG_CONFIG_HOME_ is not set, _\$LOCALAPPDATA_ will be searched
+for configuration files.
+
+# ENVIRONMENT
+
+**XDG_CONFIG_HOME**
+
+: Default location for configuration files.
+
+**$HOME/Library/Application Support/com.mitchellh.ghostty**
+
+: **MACOS ONLY** default location for configuration files. This location takes
+precedence over the XDG environment locations.
+
+**LOCALAPPDATA**
+
+: **WINDOWS ONLY:** alternate location to search for configuration files.
+
+# BUGS
+
+See GitHub issues: <https://github.com/ghostty-org/ghostty/issues>
+
+# AUTHOR
+
+Mitchell Hashimoto <m@mitchellh.com>
+Ghostty contributors <https://github.com/ghostty-org/ghostty/graphs/contributors>
+
+# SEE ALSO
+
+**ghostty(1)**
diff --git a/vendor/libghostty-vt/src/build/mdgen/ghostty_5_header.md b/vendor/libghostty-vt/src/build/mdgen/ghostty_5_header.md
new file mode 100644
index 0000000..ce3196e
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/ghostty_5_header.md
@@ -0,0 +1,122 @@
+% GHOSTTY(5) Version @@VERSION@@ | Ghostty terminal emulator configuration file
+
+# NAME
+
+**ghostty** - Ghostty terminal emulator configuration file
+
+# DESCRIPTION
+
+To configure Ghostty, you must use a configuration file. GUI-based configuration
+is on the roadmap but not yet supported. The configuration file must be placed
+at `$XDG_CONFIG_HOME/ghostty/config.ghostty`, which defaults to `~/.config/ghostty/config.ghostty`
+if the [XDG environment is not set](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html).
+
+**If you are using macOS, the configuration file can also be placed at
+`$HOME/Library/Application Support/com.mitchellh.ghostty/config.ghostty`.** This is the
+default configuration location for macOS. It will be searched before any of the
+XDG environment locations listed above.
+
+The file format is documented below as an example:
+
+ # The syntax is "key = value". The whitespace around the equals doesn't matter.
+ background = 282c34
+ foreground= ffffff
+
+ # Blank lines are ignored!
+
+ keybind = ctrl+z=close_surface
+ keybind = ctrl+d=new_split:right
+
+ # Colors can be changed by setting the 16 colors of `palette`, which each color
+ # being defined as regular and bold.
+ #
+ # black
+ palette = 0=#1d2021
+ palette = 8=#7c6f64
+ # red
+ palette = 1=#cc241d
+ palette = 9=#fb4934
+ # green
+ palette = 2=#98971a
+ palette = 10=#b8bb26
+ # yellow
+ palette = 3=#d79921
+ palette = 11=#fabd2f
+ # blue
+ palette = 4=#458588
+ palette = 12=#83a598
+ # purple
+ palette = 5=#b16286
+ palette = 13=#d3869b
+ # aqua
+ palette = 6=#689d6a
+ palette = 14=#8ec07c
+ # white
+ palette = 7=#a89984
+ palette = 15=#fbf1c7
+
+You can view all available configuration options and their documentation by
+executing the command `ghostty +show-config --default --docs`. Note that this will
+output the full default configuration with docs to stdout, so you may want to
+pipe that through a pager, an editor, etc.
+
+Note: You'll see a lot of weird blank configurations like `font-family =`. This
+is a valid syntax to specify the default behavior (no value). The `+show-config`
+outputs it so it's clear that key is defaulting and also to have something to
+attach the doc comment to.
+
+You can also see and read all available configuration options in the source
+Config structure. The available keys are the keys verbatim, and their possible
+values are typically documented in the comments. You also can search for
+the public config files of many Ghostty users for examples and inspiration.
+
+## Configuration Errors
+
+If your configuration file has any errors, Ghostty does its best to ignore
+them and move on. Configuration errors will be logged.
+
+## Debugging Configuration
+
+You can verify that configuration is being properly loaded by looking at the
+debug output of Ghostty.
+
+In the debug output, you should see in the first 20 lines or so messages about
+loading (or not loading) a configuration file, as well as any errors it may have
+encountered. Configuration errors are also shown in a dedicated window on both
+macOS and Linux (GTK). Ghostty does not treat configuration errors as fatal and
+will fall back to default values for erroneous keys.
+
+You can also view the full configuration Ghostty is loading using `ghostty
++show-config` from the command-line. Use the `--help` flag to additional options
+for that command.
+
+## Logging
+
+Ghostty can write logs to a number of destinations. On all platforms, logging to
+`stderr` is available. Depending on the platform and how Ghostty was launched,
+logs sent to `stderr` may be stored by the system and made available for later
+retrieval.
+
+On Linux if Ghostty is launched by the default `systemd` user service, you can use
+`journald` to see Ghostty's logs: `journalctl --user --unit app-com.mitchellh.ghostty.service`.
+
+On macOS logging to the macOS unified log is available and enabled by default.
+--Use the system `log` CLI to view Ghostty's logs: `sudo log stream --level debug
+--predicate 'subsystem=="com.mitchellh.ghostty"'`.
+
+Ghostty's logging can be configured in two ways. The first is by what
+optimization level Ghostty is compiled with. If Ghostty is compiled with `Debug`
+optimizations debug logs will be output to `stderr`. If Ghostty is compiled with
+any other optimization the debug logs will not be output to `stderr`.
+
+Ghostty also checks the `GHOSTTY_LOG` environment variable. It can be used
+to control which destinations receive logs. Ghostty currently defines two
+destinations:
+
+- `stderr` - logging to `stderr`.
+- `macos` - logging to macOS's unified log (has no effect on non-macOS platforms).
+
+Combine values with a comma to enable multiple destinations. Prefix a
+destination with `no-` to disable it. Enabling and disabling destinations
+can be done at the same time. Setting `GHOSTTY_LOG` to `true` will enable all
+destinations. Setting `GHOSTTY_LOG` to `false` will disable all destinations.
diff --git a/vendor/libghostty-vt/src/build/mdgen/main_ghostty_1.zig b/vendor/libghostty-vt/src/build/mdgen/main_ghostty_1.zig
new file mode 100644
index 0000000..e511768
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/main_ghostty_1.zig
@@ -0,0 +1,15 @@
+const std = @import("std");
+const gen = @import("mdgen.zig");
+
+pub fn main(init: std.process.Init) !void {
+ const alloc = init.arena.allocator();
+
+ var buffer: [1024]u8 = undefined;
+ var stdout_writer = std.Io.File.stdout().writer(init.io, &buffer);
+ const writer = &stdout_writer.interface;
+ try gen.substitute(alloc, @embedFile("ghostty_1_header.md"), writer);
+ try gen.genActions(writer);
+ try gen.genConfig(writer, true);
+ try gen.substitute(alloc, @embedFile("ghostty_1_footer.md"), writer);
+ try writer.flush();
+}
diff --git a/vendor/libghostty-vt/src/build/mdgen/main_ghostty_5.zig b/vendor/libghostty-vt/src/build/mdgen/main_ghostty_5.zig
new file mode 100644
index 0000000..4f7c488
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/main_ghostty_5.zig
@@ -0,0 +1,15 @@
+const std = @import("std");
+const gen = @import("mdgen.zig");
+
+pub fn main(init: std.process.Init) !void {
+ const alloc = init.arena.allocator();
+
+ var buffer: [1024]u8 = undefined;
+ var stdout_writer = std.Io.File.stdout().writer(init.io, &buffer);
+ const writer = &stdout_writer.interface;
+ try gen.substitute(alloc, @embedFile("ghostty_5_header.md"), writer);
+ try gen.genConfig(writer, false);
+ try gen.genKeybindActions(writer);
+ try gen.substitute(alloc, @embedFile("ghostty_5_footer.md"), writer);
+ try writer.flush();
+}
diff --git a/vendor/libghostty-vt/src/build/mdgen/mdgen.zig b/vendor/libghostty-vt/src/build/mdgen/mdgen.zig
new file mode 100644
index 0000000..530c896
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/mdgen/mdgen.zig
@@ -0,0 +1,117 @@
+const std = @import("std");
+const help_strings = @import("help_strings");
+const build_config = @import("../../build_config.zig");
+const Config = @import("../../config/Config.zig");
+const Action = @import("../../cli/ghostty.zig").Action;
+const KeybindAction = @import("../../input/Binding.zig").Action;
+
+pub fn substitute(alloc: std.mem.Allocator, input: []const u8, writer: *std.Io.Writer) !void {
+ const output = try alloc.alloc(u8, std.mem.replacementSize(
+ u8,
+ input,
+ "@@VERSION@@",
+ build_config.version_string,
+ ));
+ defer alloc.free(output);
+
+ _ = std.mem.replace(u8, input, "@@VERSION@@", build_config.version_string, output);
+ try writer.writeAll(output);
+}
+
+pub fn genConfig(writer: *std.Io.Writer, cli: bool) !void {
+ try writer.writeAll(
+ \\
+ \\# CONFIGURATION OPTIONS
+ \\
+ \\
+ );
+
+ @setEvalBranchQuota(5000);
+ inline for (@typeInfo(Config).@"struct".fields) |field| {
+ if (field.name[0] == '_') continue;
+
+ try writer.writeAll("**`");
+ if (cli) try writer.writeAll("--");
+ try writer.writeAll(field.name);
+ try writer.writeAll("`**\n\n");
+ if (@hasDecl(help_strings.Config, field.name)) {
+ var iter = std.mem.splitScalar(u8, @field(help_strings.Config, field.name), '\n');
+ var first = true;
+ while (iter.next()) |s| {
+ try writer.writeAll(if (first) ": " else " ");
+ try writer.writeAll(s);
+ try writer.writeAll("\n");
+ first = false;
+ }
+ try writer.writeAll("\n\n");
+ }
+ }
+}
+
+pub fn genActions(writer: *std.Io.Writer) !void {
+ try writer.writeAll(
+ \\
+ \\# COMMAND LINE ACTIONS
+ \\
+ \\
+ );
+
+ inline for (@typeInfo(Action).@"enum".fields) |field| {
+ const action = std.meta.stringToEnum(Action, field.name).?;
+
+ switch (action) {
+ .help => try writer.writeAll("**`--help`**\n\n"),
+ .version => try writer.writeAll("**`--version`**\n\n"),
+ else => {
+ try writer.writeAll("**`+");
+ try writer.writeAll(field.name);
+ try writer.writeAll("`**\n\n");
+ },
+ }
+
+ if (@hasDecl(help_strings.Action, field.name)) {
+ var iter = std.mem.splitScalar(u8, @field(help_strings.Action, field.name), '\n');
+ var first = true;
+ while (iter.next()) |s| {
+ try writer.writeAll(if (first) ": " else " ");
+ try writer.writeAll(s);
+ try writer.writeAll("\n");
+ first = false;
+ }
+ try writer.writeAll("\n\n");
+ }
+ }
+}
+
+pub fn genKeybindActions(writer: *std.Io.Writer) !void {
+ try writer.writeAll(
+ \\
+ \\# KEYBIND ACTIONS
+ \\
+ \\
+ );
+
+ const info = @typeInfo(KeybindAction);
+ std.debug.assert(info == .@"union");
+
+ @setEvalBranchQuota(5000);
+ inline for (info.@"union".fields) |field| {
+ if (field.name[0] == '_') continue;
+
+ try writer.writeAll("**`");
+ try writer.writeAll(field.name);
+ try writer.writeAll("`**\n\n");
+
+ if (@hasDecl(help_strings.KeybindAction, field.name)) {
+ var iter = std.mem.splitScalar(u8, @field(help_strings.KeybindAction, field.name), '\n');
+ var first = true;
+ while (iter.next()) |s| {
+ try writer.writeAll(if (first) ": " else " ");
+ try writer.writeAll(s);
+ try writer.writeAll("\n");
+ first = false;
+ }
+ try writer.writeAll("\n\n");
+ }
+ }
+}
diff --git a/vendor/libghostty-vt/src/build/uucode_config.zig b/vendor/libghostty-vt/src/build/uucode_config.zig
new file mode 100644
index 0000000..e7a4f08
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/uucode_config.zig
@@ -0,0 +1,138 @@
+const std = @import("std");
+const assert = std.debug.assert;
+const config = @import("config.zig");
+
+const Allocator = std.mem.Allocator;
+
+pub const fields = &config.mergeFields(config.fields, &.{
+ .{ .name = "width", .type = u2 },
+ .{ .name = "is_symbol", .type = bool },
+});
+pub const build_components = &config.mergeComponents(config.build_components, &.{
+ .{
+ .Impl = WidthComponent,
+ .inputs = &.{
+ "wcwidth_standalone",
+ "wcwidth_zero_in_grapheme",
+ "is_emoji_modifier",
+ "grapheme_break_no_control",
+ },
+ .fields = &.{"width"},
+ },
+ .{
+ .Impl = IsSymbolComponent,
+ .inputs = &.{ "block", "general_category" },
+ .fields = &.{"is_symbol"},
+ },
+});
+
+pub const get_components: []const config.Component = &.{};
+
+pub const tables = [_]config.Table{
+ .{
+ .name = "runtime",
+ .fields = &.{
+ "is_emoji_presentation",
+ "case_folding_full",
+ },
+ },
+ .{
+ // Fields that libvaxis needs that aren't included in the `runtime`
+ // table.
+ .name = "libvaxis_only",
+ .fields = &.{
+ "east_asian_width",
+ "general_category",
+ "grapheme_break",
+ },
+ },
+ .{
+ .name = "buildtime",
+ .fields = &.{
+ "width",
+ "wcwidth_zero_in_grapheme",
+ "grapheme_break_no_control",
+ "is_symbol",
+ "is_emoji_vs_base",
+ },
+ },
+};
+
+const WidthComponent = struct {
+ pub fn build(
+ comptime InputRow: type,
+ comptime Row: type,
+ allocator: std.mem.Allocator,
+ io: std.Io,
+ inputs: config.MultiSlice(InputRow),
+ rows: *config.MultiSlice(Row),
+ backing: anytype,
+ tracking: anytype,
+ ) !void {
+ _ = allocator;
+ _ = io;
+ _ = backing;
+ _ = tracking;
+
+ rows.len = config.num_code_points;
+ const items = rows.items(.width);
+ const standalone = inputs.items(.wcwidth_standalone);
+ const zero_in_grapheme = inputs.items(.wcwidth_zero_in_grapheme);
+ const is_emoji_modifier = inputs.items(.is_emoji_modifier);
+ const grapheme_break_no_control = inputs.items(.grapheme_break_no_control);
+
+ // This condition is needed as Ghostty currently has a singular concept for
+ // the `width` of a code point, while `uucode` splits the concept into
+ // `wcwidth_standalone` and `wcwidth_zero_in_grapheme`. The two cases where
+ // we want to use the `wcwidth_standalone` despite the code point occupying
+ // zero width in a grapheme (`wcwidth_zero_in_grapheme`) are emoji
+ // modifiers and prepend code points. For emoji modifiers we want to
+ // support displaying them in isolation as color patches, and if prepend
+ // characters were to be width 0 they would disappear from the output with
+ // Ghostty's current width 0 handling. Future work will take advantage of
+ // the new uucode `wcwidth_standalone` vs `wcwidth_zero_in_grapheme` split.
+ for (0..config.num_code_points) |i| {
+ if (zero_in_grapheme[i] and !is_emoji_modifier[i] and grapheme_break_no_control[i] != .prepend) {
+ items[i] = 0;
+ } else {
+ items[i] = @min(2, standalone[i]);
+ }
+ }
+ }
+};
+
+const IsSymbolComponent = struct {
+ pub fn build(
+ comptime InputRow: type,
+ comptime Row: type,
+ allocator: std.mem.Allocator,
+ io: std.Io,
+ inputs: config.MultiSlice(InputRow),
+ rows: *config.MultiSlice(Row),
+ backing: anytype,
+ tracking: anytype,
+ ) !void {
+ _ = allocator;
+ _ = io;
+ _ = backing;
+ _ = tracking;
+
+ rows.len = config.num_code_points;
+ const items = rows.items(.is_symbol);
+ const block = inputs.items(.block);
+ const general_category = inputs.items(.general_category);
+
+ for (0..config.num_code_points) |i| {
+ items[i] =
+ general_category[i] == .other_private_use or
+ block[i] == .arrows or
+ block[i] == .dingbats or
+ block[i] == .emoticons or
+ block[i] == .miscellaneous_symbols or
+ block[i] == .enclosed_alphanumerics or
+ block[i] == .enclosed_alphanumeric_supplement or
+ block[i] == .miscellaneous_symbols_and_pictographs or
+ block[i] == .transport_and_map_symbols;
+ }
+ }
+};
diff --git a/vendor/libghostty-vt/src/build/wasm_patch_growable_table.zig b/vendor/libghostty-vt/src/build/wasm_patch_growable_table.zig
new file mode 100644
index 0000000..555734a
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/wasm_patch_growable_table.zig
@@ -0,0 +1,268 @@
+//! Build tool that patches a WASM binary to make the function table
+//! growable by removing its maximum size limit.
+//!
+//! Zig's WASM linker doesn't support `--growable-table`, so the table
+//! is emitted with max == min. This tool finds the table section (id 4)
+//! and changes the limits flag from 0x01 (has max) to 0x00 (no max),
+//! removing the max field.
+//!
+//! Usage: wasm_growable_table <input.wasm> <output.wasm>
+
+const std = @import("std");
+const testing = std.testing;
+const Allocator = std.mem.Allocator;
+
+pub fn main(init: std.process.Init) !void {
+ // This is a one-off patcher, so we leak all our memory on purpose
+ // and let the OS clean it up when we exit.
+ const alloc = init.arena.allocator();
+
+ // Parse args: program input output
+ const args = try init.minimal.args.toSlice(alloc);
+ if (args.len != 3) {
+ std.log.err("usage: wasm_growable_table <input.wasm> <output.wasm>", .{});
+ std.process.exit(1);
+ unreachable;
+ }
+
+ // Patch the file.
+ const output: []const u8 = try patchTableGrowable(
+ alloc,
+ try std.Io.Dir.cwd().readFileAlloc(
+ init.io,
+ args[1],
+ alloc,
+ .unlimited,
+ ),
+ );
+
+ // Write our output
+ const out_file = try std.Io.Dir.cwd().createFile(init.io, args[2], .{});
+ defer out_file.close(init.io);
+ try out_file.writePositionalAll(init.io, output, 0);
+}
+
+/// Patch the WASM binary's table section to remove the maximum size
+/// limit, making the table growable. If the table already has no max
+/// or no table section is found, the input is returned unchanged.
+///
+/// The WASM table section (id=4) encodes table limits as:
+/// - flags=0x00, min (LEB128) — no max, growable
+/// - flags=0x01, min (LEB128), max (LEB128) — bounded, not growable
+///
+/// This function rewrites the section to use flags=0x00, dropping the
+/// max field entirely.
+fn patchTableGrowable(
+ alloc: Allocator,
+ input: []const u8,
+) (error{InvalidWasm} || std.Io.Writer.Error)![]const u8 {
+ if (input.len < 8) return error.InvalidWasm;
+
+ // Start after the 8-byte WASM header (magic + version).
+ var pos: usize = 8;
+
+ while (pos < input.len) {
+ const section_id = input[pos];
+ pos += 1;
+ const section_size = readLeb128(input, &pos);
+ const section_start = pos;
+
+ // We're looking for section 4 (the table section).
+ if (section_id != 4) {
+ pos = section_start + section_size;
+ continue;
+ }
+
+ _ = readLeb128(input, &pos); // table count
+ pos += 1; // elem_type (0x70 = funcref)
+ const flags = input[pos];
+
+ // flags bit 0 indicates whether a max is present.
+ if (flags & 1 == 0) {
+ // Already no max, nothing to patch.
+ return input;
+ }
+
+ // Record positions of each field so we can reconstruct
+ // the section without the max value.
+ const flags_pos = pos;
+ pos += 1; // skip flags byte
+ const min_start = pos;
+ _ = readLeb128(input, &pos); // min
+ const max_start = pos;
+ _ = readLeb128(input, &pos); // max
+ const max_end = pos;
+ const section_end = section_start + section_size;
+
+ // Build the new section payload with the max removed:
+ // [table count + elem_type] [flags=0x00] [min] [trailing data]
+ var payload: std.Io.Writer.Allocating = .init(alloc);
+ try payload.writer.writeAll(input[section_start..flags_pos]);
+ try payload.writer.writeByte(0x00); // flags: no max
+ try payload.writer.writeAll(input[min_start..max_start]);
+ try payload.writer.writeAll(input[max_end..section_end]);
+
+ // Reassemble the full binary:
+ // [everything before this section] [section id] [new size] [new payload] [everything after]
+ const before_section = input[0 .. section_start - 1 - uleb128Size(section_size)];
+ var result: std.Io.Writer.Allocating = .init(alloc);
+ try result.writer.writeAll(before_section);
+ try result.writer.writeByte(4); // table section id
+ try result.writer.writeUleb128(@as(u32, @intCast(payload.written().len)));
+ try result.writer.writeAll(payload.written());
+ try result.writer.writeAll(input[section_end..]);
+ return result.written();
+ }
+
+ // No table section found; return input unchanged.
+ return input;
+}
+
+/// Decode an unsigned LEB128 value from `bytes` starting at `pos.*`,
+/// advancing `pos` past the encoded bytes.
+fn readLeb128(bytes: []const u8, pos: *usize) u32 {
+ var result: u32 = 0;
+ var shift: u5 = 0;
+ while (true) {
+ const byte = bytes[pos.*];
+ pos.* += 1;
+ result |= @as(u32, byte & 0x7f) << shift;
+ if (byte & 0x80 == 0) return result;
+ shift +%= 7;
+ }
+}
+
+/// Return the number of bytes needed to encode `value` as unsigned LEB128.
+fn uleb128Size(value: u32) usize {
+ var v = value;
+ var size: usize = 0;
+ while (true) {
+ v >>= 7;
+ size += 1;
+ if (v == 0) return size;
+ }
+}
+
+/// Minimal valid WASM module with a bounded table (min=1, max=1).
+/// Sections: type(1), table(4), export(7).
+const test_wasm_bounded_table = [_]u8{
+ 0x00, 0x61, 0x73, 0x6d, // magic
+ 0x01, 0x00, 0x00, 0x00, // version
+ // Type section (id=1): 1 type, () -> ()
+ 0x01, 0x04, 0x01, 0x60,
+ 0x00, 0x00,
+ // Table section (id=4): 1 table, funcref, flags=1, min=1, max=1
+ 0x04, 0x05,
+ 0x01, 0x70, 0x01, 0x01,
+ 0x01,
+ // Export section (id=7): 0 exports
+ 0x07, 0x01, 0x00,
+};
+
+/// Same module but the table already has no max (flags=0).
+const test_wasm_growable_table = [_]u8{
+ 0x00, 0x61, 0x73, 0x6d, // magic
+ 0x01, 0x00, 0x00, 0x00, // version
+ // Type section (id=1)
+ 0x01, 0x04, 0x01, 0x60,
+ 0x00, 0x00,
+ // Table section (id=4): 1 table, funcref, flags=0, min=1
+ 0x04, 0x04,
+ 0x01, 0x70, 0x00, 0x01,
+ // Export section (id=7): 0 exports
+ 0x07, 0x01, 0x00,
+};
+
+/// Module with no table section at all.
+const test_wasm_no_table = [_]u8{
+ 0x00, 0x61, 0x73, 0x6d, // magic
+ 0x01, 0x00, 0x00, 0x00, // version
+ // Type section (id=1)
+ 0x01, 0x04, 0x01, 0x60,
+ 0x00, 0x00,
+ // Export section (id=7): 0 exports
+ 0x07, 0x01,
+ 0x00,
+};
+
+test "patches bounded table to remove max" {
+ // We use a non-checking allocator because the patched result is
+ // intentionally leaked (matches the real main() usage).
+ const result = try patchTableGrowable(
+ std.heap.page_allocator,
+ &test_wasm_bounded_table,
+ );
+
+ // Result should differ from input (max was removed).
+ try testing.expect(!std.mem.eql(
+ u8,
+ result,
+ &test_wasm_bounded_table,
+ ));
+
+ // Find the table section in the output and verify flags=0x00.
+ var pos: usize = 8;
+ while (pos < result.len) {
+ const id = result[pos];
+ pos += 1;
+ const size = readLeb128(result, &pos);
+ if (id == 4) {
+ _ = readLeb128(result, &pos); // table count
+ pos += 1; // elem_type
+ // flags should now be 0x00 (no max).
+ try testing.expectEqual(@as(u8, 0x00), result[pos]);
+ return;
+ }
+ pos += size;
+ }
+ return error.TableSectionNotFound;
+}
+
+test "already growable table is returned unchanged" {
+ const result = try patchTableGrowable(
+ testing.allocator,
+ &test_wasm_growable_table,
+ );
+ try testing.expectEqual(
+ @as([*]const u8, &test_wasm_growable_table),
+ result.ptr,
+ );
+}
+
+test "no table section returns input unchanged" {
+ const result = try patchTableGrowable(
+ testing.allocator,
+ &test_wasm_no_table,
+ );
+ try testing.expectEqual(@as([*]const u8, &test_wasm_no_table), result.ptr);
+}
+
+test "too short input returns InvalidWasm" {
+ try testing.expectError(
+ error.InvalidWasm,
+ patchTableGrowable(testing.allocator, "short"),
+ );
+}
+
+test "readLeb128 single byte" {
+ const bytes = [_]u8{0x05};
+ var pos: usize = 0;
+ try testing.expectEqual(@as(u32, 5), readLeb128(&bytes, &pos));
+ try testing.expectEqual(@as(usize, 1), pos);
+}
+
+test "readLeb128 multi byte" {
+ // 300 = 0b100101100 → LEB128: 0xAC 0x02
+ const bytes = [_]u8{ 0xAC, 0x02 };
+ var pos: usize = 0;
+ try testing.expectEqual(@as(u32, 300), readLeb128(&bytes, &pos));
+ try testing.expectEqual(@as(usize, 2), pos);
+}
+
+test "uleb128Size" {
+ try testing.expectEqual(@as(usize, 1), uleb128Size(0));
+ try testing.expectEqual(@as(usize, 1), uleb128Size(0x7f));
+ try testing.expectEqual(@as(usize, 2), uleb128Size(0x80));
+ try testing.expectEqual(@as(usize, 2), uleb128Size(300));
+ try testing.expectEqual(@as(usize, 5), uleb128Size(std.math.maxInt(u32)));
+}
diff --git a/vendor/libghostty-vt/src/build/webgen/main_actions.zig b/vendor/libghostty-vt/src/build/webgen/main_actions.zig
new file mode 100644
index 0000000..38cda3f
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/webgen/main_actions.zig
@@ -0,0 +1,9 @@
+const std = @import("std");
+const helpgen_actions = @import("../../input/helpgen_actions.zig");
+
+pub fn main(init: std.process.Init) !void {
+ var buffer: [2048]u8 = undefined;
+ var stdout_writer = std.Io.File.stdout().writer(init.io, &buffer);
+ const stdout = &stdout_writer.interface;
+ try helpgen_actions.generate(stdout, .markdown, true, std.heap.page_allocator);
+}
diff --git a/vendor/libghostty-vt/src/build/webgen/main_commands.zig b/vendor/libghostty-vt/src/build/webgen/main_commands.zig
new file mode 100644
index 0000000..c895948
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/webgen/main_commands.zig
@@ -0,0 +1,53 @@
+const std = @import("std");
+const Action = @import("../../cli/ghostty.zig").Action;
+const help_strings = @import("help_strings");
+
+pub fn main(init: std.process.Init) !void {
+ var buffer: [2048]u8 = undefined;
+ var stdout_writer = std.Io.File.stdout().writer(init.io, &buffer);
+ const stdout = &stdout_writer.interface;
+ try genActions(stdout);
+}
+
+// Note: as a shortcut for defining inline editOnGithubLinks per cli action the user
+// is directed to the folder view on Github. This includes a README pointing them to
+// the files to edit.
+pub fn genActions(writer: *std.Io.Writer) !void {
+ // Write the header
+ try writer.writeAll(
+ \\---
+ \\title: Reference
+ \\description: Reference of all Ghostty action subcommands.
+ \\editOnGithubLink: https://github.com/ghostty-org/ghostty/tree/main/src/cli
+ \\---
+ \\Ghostty includes a number of utility actions that can be accessed as subcommands.
+ \\Actions provide utilities to work with config, list keybinds, list fonts, demo themes,
+ \\and debug.
+ \\
+ );
+
+ inline for (@typeInfo(Action).@"enum".fields) |field| {
+ const action = std.meta.stringToEnum(Action, field.name).?;
+
+ switch (action) {
+ .help, .version => try writer.writeAll("## " ++ field.name ++ "\n"),
+ else => try writer.writeAll("## " ++ field.name ++ "\n"),
+ }
+
+ if (@hasDecl(help_strings.Action, field.name)) {
+ var iter = std.mem.splitScalar(u8, @field(help_strings.Action, field.name), '\n');
+ var first = true;
+ while (iter.next()) |s| {
+ try writer.writeAll(s);
+ try writer.writeAll("\n");
+ first = false;
+ }
+ try writer.writeAll("\n```\n");
+ switch (action) {
+ .help, .version => try writer.writeAll("ghostty --" ++ field.name ++ "\n"),
+ else => try writer.writeAll("ghostty +" ++ field.name ++ "\n"),
+ }
+ try writer.writeAll("```\n\n");
+ }
+ }
+}
diff --git a/vendor/libghostty-vt/src/build/webgen/main_config.zig b/vendor/libghostty-vt/src/build/webgen/main_config.zig
new file mode 100644
index 0000000..82ecc95
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/webgen/main_config.zig
@@ -0,0 +1,134 @@
+const std = @import("std");
+const Config = @import("../../config/Config.zig");
+const help_strings = @import("help_strings");
+
+pub fn main(init: std.process.Init) !void {
+ var buffer: [2048]u8 = undefined;
+ var stdout_writer = std.Io.File.stdout().writer(init.io, &buffer);
+ const stdout = &stdout_writer.interface;
+ try genConfig(stdout);
+}
+
+pub fn genConfig(writer: *std.Io.Writer) !void {
+ // Write the header
+ try writer.writeAll(
+ \\---
+ \\title: Reference
+ \\description: Reference of all Ghostty configuration options.
+ \\editOnGithubLink: https://github.com/ghostty-org/ghostty/edit/main/src/config/Config.zig
+ \\---
+ \\
+ \\This is a reference of all Ghostty configuration options. These
+ \\options are ordered roughly by how common they are to be used
+ \\and grouped with related options. I recommend utilizing your
+ \\browser's search functionality to find the option you're looking
+ \\for.
+ \\
+ \\In the future, we'll have a more user-friendly way to view and
+ \\organize these options.
+ \\
+ \\
+ );
+
+ @setEvalBranchQuota(50_000);
+ const fields = @typeInfo(Config).@"struct".fields;
+ inline for (fields, 0..) |field, i| {
+ if (field.name[0] == '_') continue;
+ if (!@hasDecl(help_strings.Config, field.name)) continue;
+
+ // Write the field name.
+ try writer.writeAll("## `");
+ try writer.writeAll(field.name);
+ try writer.writeAll("`\n");
+
+ // For all subsequent fields with no docs, they are grouped
+ // with the previous field.
+ if (i + 1 < fields.len) {
+ inline for (fields[i + 1 ..]) |next_field| {
+ if (next_field.name[0] == '_') break;
+ if (@hasDecl(help_strings.Config, next_field.name)) break;
+
+ try writer.writeAll("## `");
+ try writer.writeAll(next_field.name);
+ try writer.writeAll("`\n");
+ }
+ }
+
+ // Newline after our headers
+ try writer.writeAll("\n");
+
+ var iter = std.mem.splitScalar(
+ u8,
+ @field(help_strings.Config, field.name),
+ '\n',
+ );
+
+ // We do some really rough markdown "parsing" here so that
+ // we can fix up some styles for what our website expects.
+ var block: ?enum {
+ /// Plaintext, do nothing.
+ text,
+
+ /// Code block, wrap in triple backticks. We use indented
+ /// code blocks in our comments but the website parser only
+ /// supports triple backticks.
+ code,
+
+ /// Callouts. We detect these based on paragraphs starting
+ /// with "Note:", "Warning:", etc. (case-insensitive).
+ callout_note,
+ callout_warning,
+ } = null;
+
+ while (iter.next()) |s| {
+ // Empty line resets our block
+ if (std.mem.eql(u8, s, "")) {
+ try endBlock(writer, block);
+ block = null;
+
+ try writer.writeAll("\n");
+ continue;
+ }
+
+ // If we don't have a block figure out our type.
+ const first: bool = block == null;
+ if (block == null) {
+ if (std.mem.startsWith(u8, s, " ")) {
+ block = .code;
+ try writer.writeAll("```\n");
+ } else if (std.ascii.startsWithIgnoreCase(s, "note:")) {
+ block = .callout_note;
+ try writer.writeAll("<Note>\n");
+ } else if (std.ascii.startsWithIgnoreCase(s, "warning:")) {
+ block = .callout_warning;
+ try writer.writeAll("<Warning>\n");
+ } else {
+ block = .text;
+ }
+ }
+
+ try writer.writeAll(switch (block.?) {
+ .text => s,
+ .callout_note => if (first) s["note:".len..] else s,
+ .callout_warning => if (first) s["warning:".len..] else s,
+
+ .code => if (std.mem.startsWith(u8, s, " "))
+ s[4..]
+ else
+ s,
+ });
+ try writer.writeAll("\n");
+ }
+ try endBlock(writer, block);
+ try writer.writeAll("\n");
+ }
+}
+
+fn endBlock(writer: *std.Io.Writer, block: anytype) !void {
+ if (block) |v| switch (v) {
+ .text => {},
+ .code => try writer.writeAll("```\n"),
+ .callout_note => try writer.writeAll("</Note>\n"),
+ .callout_warning => try writer.writeAll("</Warning>\n"),
+ };
+}
diff --git a/vendor/libghostty-vt/src/build/xcframework.zig b/vendor/libghostty-vt/src/build/xcframework.zig
new file mode 100644
index 0000000..8713a1c
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/xcframework.zig
@@ -0,0 +1,3 @@
+/// Target for xcframework builds. This is a separate file so that
+/// our runtime code doesn't need to import build code.
+pub const Target = enum { native, universal };
diff --git a/vendor/libghostty-vt/src/build/zig.zig b/vendor/libghostty-vt/src/build/zig.zig
new file mode 100644
index 0000000..3ee8ffe
--- /dev/null
+++ b/vendor/libghostty-vt/src/build/zig.zig
@@ -0,0 +1,18 @@
+const std = @import("std");
+const builtin = @import("builtin");
+
+/// Require a specific version of Zig to build this project.
+pub fn requireZig(comptime required_zig: []const u8) void {
+ // Fail compilation if the current Zig version doesn't meet requirements.
+ const current_vsn = builtin.zig_version;
+ const required_vsn = std.SemanticVersion.parse(required_zig) catch unreachable;
+ if (current_vsn.major != required_vsn.major or
+ current_vsn.minor != required_vsn.minor or
+ current_vsn.patch < required_vsn.patch)
+ {
+ @compileError(std.fmt.comptimePrint(
+ "Your Zig version v{f} does not meet the required build version of v{f}",
+ .{ current_vsn, required_vsn },
+ ));
+ }
+}