From ce680d59d2759ec0c1a6ed7c887a3cd8b14dbb04 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 16:51:38 +0000
Subject: [PATCH 01/35] Switch `tokei` with `gengo` in dependencies

---
 Cargo.lock | 526 ++++++-----------------------------------------------
 Cargo.toml |   2 +-
 2 files changed, 61 insertions(+), 467 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 5daf72492..7adfcb12d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -41,15 +41,6 @@ dependencies = [
  "zerocopy",
 ]
 
-[[package]]
-name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
 [[package]]
 name = "aho-corasick"
 version = "1.1.2"
@@ -65,36 +56,12 @@ version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
 
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
 [[package]]
 name = "anes"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
 [[package]]
 name = "anstream"
 version = "0.6.11"
@@ -180,17 +147,6 @@ dependencies = [
  "zstd",
 ]
 
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
 [[package]]
 name = "autocfg"
 version = "1.1.0"
@@ -407,40 +363,6 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
-[[package]]
-name = "chrono"
-version = "0.4.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "num-traits",
- "winapi",
-]
-
-[[package]]
-name = "chrono-tz"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7"
-dependencies = [
- "chrono",
- "chrono-tz-build",
- "phf",
-]
-
-[[package]]
-name = "chrono-tz-build"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf"
-dependencies = [
- "parse-zoneinfo",
- "phf",
- "phf_codegen",
-]
-
 [[package]]
 name = "ciborium"
 version = "0.2.1"
@@ -468,21 +390,6 @@ dependencies = [
  "half 1.8.2",
 ]
 
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags 1.3.2",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
 [[package]]
 name = "clap"
 version = "4.5.3"
@@ -502,7 +409,7 @@ dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim 0.11.0",
+ "strsim",
 ]
 
 [[package]]
@@ -511,7 +418,7 @@ version = "4.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
 dependencies = [
- "clap 4.5.3",
+ "clap",
 ]
 
 [[package]]
@@ -571,12 +478,6 @@ dependencies = [
  "windows-sys 0.45.0",
 ]
 
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
 [[package]]
 name = "cpufeatures"
 version = "0.2.8"
@@ -619,7 +520,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.5.3",
+ "clap",
  "criterion-plot",
  "is-terminal",
  "itertools",
@@ -729,17 +630,6 @@ dependencies = [
  "typenum",
 ]
 
-[[package]]
-name = "dashmap"
-version = "4.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
-dependencies = [
- "cfg-if",
- "num_cpus",
- "serde",
-]
-
 [[package]]
 name = "dashmap"
 version = "5.5.3"
@@ -750,7 +640,7 @@ dependencies = [
  "hashbrown 0.14.3",
  "lock_api",
  "once_cell",
- "parking_lot_core 0.9.8",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -762,12 +652,6 @@ dependencies = [
  "powerfmt",
 ]
 
-[[package]]
-name = "deunicode"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
-
 [[package]]
 name = "diff"
 version = "0.1.13"
@@ -784,26 +668,6 @@ dependencies = [
  "crypto-common",
 ]
 
-[[package]]
-name = "dirs"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
 [[package]]
 name = "dunce"
 version = "1.0.4"
@@ -840,28 +704,6 @@ dependencies = [
  "cfg-if",
 ]
 
-[[package]]
-name = "encoding_rs_io"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
-dependencies = [
- "encoding_rs",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
-
 [[package]]
 name = "equivalent"
 version = "1.0.0"
@@ -1095,6 +937,28 @@ dependencies = [
  "version_check",
 ]
 
+[[package]]
+name = "gengo"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbe3699980642aa2586d2713766e5f1b36d7fe76be169317018e7791d515eaac"
+dependencies = [
+ "gix",
+ "glob",
+ "ignore",
+ "indexmap",
+ "once_cell",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "syn 2.0.53",
+]
+
 [[package]]
 name = "getrandom"
 version = "0.2.10"
@@ -1170,7 +1034,7 @@ dependencies = [
  "gix-validate",
  "gix-worktree 0.32.0",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "smallvec",
  "thiserror",
 ]
@@ -1468,7 +1332,7 @@ dependencies = [
  "jwalk",
  "libc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "prodash 28.0.0",
  "sha1_smol",
  "thiserror",
@@ -1576,7 +1440,7 @@ checksum = "feb61880816d7ec4f0b20606b498147d480860ddd9133ba542628df2f548d3ca"
 dependencies = [
  "gix-hash 0.13.3",
  "hashbrown 0.14.3",
- "parking_lot 0.12.1",
+ "parking_lot",
 ]
 
 [[package]]
@@ -1587,7 +1451,7 @@ checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242"
 dependencies = [
  "gix-hash 0.14.2",
  "hashbrown 0.14.3",
- "parking_lot 0.12.1",
+ "parking_lot",
 ]
 
 [[package]]
@@ -1793,7 +1657,7 @@ dependencies = [
  "gix-pack",
  "gix-path",
  "gix-quote",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tempfile",
  "thiserror",
 ]
@@ -1813,7 +1677,7 @@ dependencies = [
  "gix-path",
  "gix-tempfile 13.1.1",
  "memmap2 0.9.0",
- "parking_lot 0.12.1",
+ "parking_lot",
  "smallvec",
  "thiserror",
  "uluru",
@@ -2031,7 +1895,7 @@ dependencies = [
  "gix-fs 0.7.0",
  "libc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tempfile",
 ]
 
@@ -2044,7 +1908,7 @@ dependencies = [
  "gix-fs 0.8.1",
  "libc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "signal-hook",
  "signal-hook-registry",
  "tempfile",
@@ -2056,11 +1920,11 @@ version = "13.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11"
 dependencies = [
- "dashmap 5.5.3",
+ "dashmap",
  "gix-fs 0.10.1",
  "libc",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tempfile",
 ]
 
@@ -2083,7 +1947,7 @@ dependencies = [
  "io-close",
  "is_ci",
  "once_cell",
- "parking_lot 0.12.1",
+ "parking_lot",
  "tar",
  "tempfile",
  "winnow 0.5.27",
@@ -2211,7 +2075,7 @@ version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
- "aho-corasick 1.1.2",
+ "aho-corasick",
  "bstr",
  "log",
  "regex-automata",
@@ -2229,30 +2093,6 @@ dependencies = [
  "walkdir",
 ]
 
-[[package]]
-name = "grep-matcher"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3902ca28f26945fe35cad349d776f163981d777fee382ccd6ef451126f51b319"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "grep-searcher"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5601c4b9f480f0c9ebb40b1f6cbf447b8a50c5369223937a6c5214368c58779f"
-dependencies = [
- "bstr",
- "bytecount",
- "encoding_rs",
- "encoding_rs_io",
- "grep-matcher",
- "log",
- "memmap2 0.5.10",
-]
-
 [[package]]
 name = "half"
 version = "1.8.2"
@@ -2300,15 +2140,6 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
 [[package]]
 name = "hermit-abi"
 version = "0.3.1"
@@ -2340,44 +2171,6 @@ dependencies = [
  "uuid",
 ]
 
-[[package]]
-name = "humansize"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
-dependencies = [
- "libm",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
 [[package]]
 name = "idna"
 version = "0.5.0"
@@ -2441,6 +2234,8 @@ checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 dependencies = [
  "equivalent",
  "hashbrown 0.14.3",
+ "rayon",
+ "serde",
 ]
 
 [[package]]
@@ -2459,15 +2254,6 @@ dependencies = [
  "yaml-rust",
 ]
 
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
 [[package]]
 name = "inventory"
 version = "0.3.11"
@@ -2490,7 +2276,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -2501,7 +2287,7 @@ version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
  "io-lifetimes",
  "rustix 0.37.25",
  "windows-sys 0.48.0",
@@ -2592,12 +2378,6 @@ version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
-[[package]]
-name = "libm"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
-
 [[package]]
 name = "libz-ng-sys"
 version = "1.1.9"
@@ -2659,15 +2439,6 @@ version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
-[[package]]
-name = "memmap2"
-version = "0.5.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
-dependencies = [
- "libc",
-]
-
 [[package]]
 name = "memmap2"
 version = "0.7.1"
@@ -2765,7 +2536,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi",
  "libc",
 ]
 
@@ -2801,11 +2572,12 @@ dependencies = [
  "askalono",
  "byte-unit",
  "bytecount",
- "clap 4.5.3",
+ "clap",
  "clap_complete",
  "criterion",
  "crossbeam-channel",
  "enable-ansi-support",
+ "gengo",
  "gix",
  "gix-features 0.38.1",
  "gix-testtools",
@@ -2819,7 +2591,7 @@ dependencies = [
  "onefetch-image",
  "onefetch-manifest",
  "owo-colors",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pretty_assertions",
  "regex",
  "rstest",
@@ -2830,7 +2602,6 @@ dependencies = [
  "tera",
  "time",
  "time-humanize",
- "tokei",
  "typetag",
  "winres",
  "yaml-rust",
@@ -2849,7 +2620,7 @@ version = "2.20.0"
 dependencies = [
  "anyhow",
  "base64",
- "clap 4.5.3",
+ "clap",
  "color_quant",
  "image",
  "libc",
@@ -2888,17 +2659,6 @@ version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
 
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
 [[package]]
 name = "parking_lot"
 version = "0.12.1"
@@ -2906,21 +2666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.8",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -2936,15 +2682,6 @@ dependencies = [
  "windows-targets 0.48.1",
 ]
 
-[[package]]
-name = "parse-zoneinfo"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41"
-dependencies = [
- "regex",
-]
-
 [[package]]
 name = "paste"
 version = "1.0.12"
@@ -3001,44 +2738,6 @@ dependencies = [
  "sha2",
 ]
 
-[[package]]
-name = "phf"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
-dependencies = [
- "phf_shared",
- "rand",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
-dependencies = [
- "siphasher",
-]
-
 [[package]]
 name = "pin-project"
 version = "1.1.1"
@@ -3140,6 +2839,16 @@ dependencies = [
  "yansi",
 ]
 
+[[package]]
+name = "prettyplease"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7"
+dependencies = [
+ "proc-macro2",
+ "syn 2.0.53",
+]
+
 [[package]]
 name = "proc-macro-crate"
 version = "2.0.0"
@@ -3307,24 +3016,13 @@ dependencies = [
  "bitflags 1.3.2",
 ]
 
-[[package]]
-name = "redox_users"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
-dependencies = [
- "getrandom",
- "redox_syscall 0.2.16",
- "thiserror",
-]
-
 [[package]]
 name = "regex"
 version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
- "aho-corasick 1.1.2",
+ "aho-corasick",
  "memchr",
  "regex-automata",
  "regex-syntax",
@@ -3336,7 +3034,7 @@ version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
- "aho-corasick 1.1.2",
+ "aho-corasick",
  "memchr",
  "regex-syntax",
 ]
@@ -3652,12 +3350,6 @@ version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 
-[[package]]
-name = "siphasher"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
-
 [[package]]
 name = "slab"
 version = "0.4.8"
@@ -3667,15 +3359,6 @@ dependencies = [
  "autocfg",
 ]
 
-[[package]]
-name = "slug"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
-dependencies = [
- "deunicode",
-]
-
 [[package]]
 name = "smallvec"
 version = "1.10.0"
@@ -3697,12 +3380,6 @@ version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
 [[package]]
 name = "strsim"
 version = "0.11.0"
@@ -3799,50 +3476,16 @@ version = "1.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8"
 dependencies = [
- "chrono",
- "chrono-tz",
  "globwalk",
- "humansize",
  "lazy_static",
- "percent-encoding",
  "pest",
  "pest_derive",
- "rand",
  "regex",
  "serde",
  "serde_json",
- "slug",
  "unic-segment",
 ]
 
-[[package]]
-name = "term_size"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
 [[package]]
 name = "thiserror"
 version = "1.0.47"
@@ -3950,34 +3593,6 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
-[[package]]
-name = "tokei"
-version = "12.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41f915e075a8a98ad64a5f7be6b7cc1710fc835c5f07e4a3efcaeb013291c00"
-dependencies = [
- "aho-corasick 0.7.20",
- "clap 2.34.0",
- "crossbeam-channel",
- "dashmap 4.0.2",
- "dirs",
- "encoding_rs_io",
- "env_logger",
- "grep-searcher",
- "ignore",
- "log",
- "num-format",
- "once_cell",
- "parking_lot 0.11.2",
- "rayon",
- "regex",
- "serde",
- "serde_json",
- "tera",
- "term_size",
- "toml 0.5.11",
-]
-
 [[package]]
 name = "toml"
 version = "0.5.11"
@@ -4168,12 +3783,6 @@ dependencies = [
  "tinyvec",
 ]
 
-[[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
 [[package]]
 name = "unsafe-libyaml"
 version = "0.2.10"
@@ -4212,12 +3821,6 @@ dependencies = [
  "getrandom",
 ]
 
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
 [[package]]
 name = "version_check"
 version = "0.9.4"
@@ -4341,15 +3944,6 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-targets 0.48.1",
-]
-
 [[package]]
 name = "windows-sys"
 version = "0.42.0"
diff --git a/Cargo.toml b/Cargo.toml
index ed9aa685c..a8e093df0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -37,6 +37,7 @@ bytecount = "0.6.7"
 clap.workspace = true
 clap_complete = "4.5.1"
 crossbeam-channel = "0.5.9"
+gengo = "0.11"
 gix = { version = "0.60.0", default-features = false, features = [
     "max-performance-safe",
     "blob-diff",
@@ -62,7 +63,6 @@ serde_yaml = "0.9.27"
 strum.workspace = true
 time = { version = "0.3.34", features = ["formatting"] }
 time-humanize = { version = "0.1.3", features = ["time"] }
-tokei = "12.1.2"
 typetag = "0.2"
 yaml-rust = "0.4.5"
 parking_lot = "0.12"

From d601ee75512f48d1a1ed745495ed6663465148f7 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 17:40:07 +0000
Subject: [PATCH 02/35] DELETEME Comment out most languages

To get this working with one language and then expand from there.
---
 languages.yaml | 5982 ++++++++++++++++++++++++------------------------
 1 file changed, 2991 insertions(+), 2991 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index 281624412..ce2b33bbb 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -16,2995 +16,2995 @@ Abap:
       - "#1B387D"
       - "#EEEEEE"
     chip: "#E8274B"
-ABNF:
-  type: data
-  ascii: |
-    {0}          ______
-    {0}         |      |
-    {0}         |  /\  |
-    {0}>>---+-->| /--\ |-->+--->>
-    {0}     |   |______|   |
-    {0}     |    ______    |
-    {0}     |   |  __  |   |
-    {0}     |   | |__) |   |
-    {0}     +-->| |__) |-->+
-    {0}     |   |______|   |
-    {0}     |    ______    |
-    {0}     |   |      |   |
-    {0}     |   | |\ | |   |
-    {0}     +-->| | \| |-->+
-    {0}     |   |______|   |
-    {0}     |    ______    |
-    {0}     |   |  ___ |   |
-    {0}     |   | |___ |   |
-    {0}     +-->| |    |-->+
-    {0}         |______|
-  colors:
-    ansi:
-      - white
-    hex:
-      - "#888888"
-    chip: "#555e25"
-Ada:
-  type: programming
-  ascii: |
-    {0}                              *
-    {0}                              *
-    {0}                            * **
-    {0}   *                        *****
-    {0}   **                       ******
-    {0}    **                   ###********
-    {0}    ***          -******#'###*********
-    {0}     *****               #### *********
-    {0}      ****************************{1}XXX{0}**
-    {0}     ** ******************{1}XXXX{2}o{1}X{0}*{1}X{2}o{1}XXX{0}*
-    {0}      **** ***************{1}XXXX{2}ooooo{1}XX{0}*
-    {0}        *******************{1}XXXX{2}ooooo{1}X
-    {0}          *******************{1}XXX{2}ooo{1}X
-    {0}          ************************{1}XX{0}*
-    {0}             *************    ******
-    {0}  /| |                           ****
-    {0} /-|(|(|                     ********
-    {0}                        ************
-    {0}Time-tested, safe     *************
-    {0}and secure            ***********
-    {0}                         *****
-  colors:
-    ansi:
-      - white
-      - cyan
-      - blue
-    hex:
-      - "#FFFFFF"
-      - "#0018C9"
-      - "#0C0A7C"
-    chip: "#02F88C"
-Agda:
-  type: programming
-  ascii: |
-    {0}   / / /           /  /
-    {0}  / / /           /  / /
-    {0} / o o           /    / /
-    {0}/____           /      /
-    {0}     |                 |
-    {0}     |                 |
-    {0}     ;                 ;
-    {0}      \               /
-    {0}       '.           .'
-    {0}         '-._____.-'
-  colors:
-    ansi:
-      - white
-    chip: "#315665"
-Arduino:
-  type: programming
-  ascii: |
-    {0}   ,=======.    ,=======.
-    {0}  //       \\  //       \\
-    {0} //         \\//    #    \\
-    {0} ||   ###    //    ###   ||
-    {0} \\         //\\    #    //
-    {0}  \\       //  \\       //
-    {0}   `======='    `======='
-    {0}      _   _              _
-    {0} /\  |_) | \ | | | |\ | / \
-    {0}/--\ | \ |_/ |_| | | \| \_/
-  colors:
-    ansi:
-      - cyan
-    chip: "#F34B7D"
-Assembly:
-  type: programming
-  ascii: |
-    {0}     __________________________
-    {0}    /                          \
-    {1}==={0}|  {1}.-.                       {0}|{1}===
-    {0}   | {1}(   )                      {0}|
-    {1}==={0}|  {1}'-'                       {0}|{1}===
-    {0}   |                            |
-    {1}==={0}|     {2} _____  ___ ____       {0}|{1}===
-    {0}   |     {2}(____ |/___)    \      {0}|
-    {1}==={0}|     {2}/ ___ |___ | | | |     {0}|{1}===
-    {0}   |     {2}\_____(___/|_|_|_|     {0}|
-    {1}==={0}|                            |{1}===
-    {0}   |                            |
-    {1}==={0}|                       {1}.-.  {0}|{1}===
-    {0}   |                      {1}(   ) {0}|
-    {1}==={0}|                       {1}'-'  {0}|{1}===
-    {0}    \__________________________/
-  colors:
-    ansi:
-      - white
-      - yellow
-      - green
-    chip: "#6E4C13"
-AutoHotKey:
-  type: programming
-  ascii: |
-    {1} .----------------.
-    {1}| .--------------. |
-    {1}| | {0} ____  ____ {1} | |
-    {1}| | {0}|_   ||   _|{1} | |
-    {1}| | {0}  | |__| |  {1} | |
-    {1}| | {0}  |  __  |  {1} | |
-    {1}| | {0} _| |  | |_ {1} | |
-    {1}| | {0}|____||____|{1} | |
-    {1}| |              | |
-    {1}| '--------------' |
-    {1} '----------------'
-  colors:
-    ansi:
-      - white
-      - green
-    hex:
-      - "#FFFFFF"
-      - "#119810"
-    chip: "#6594B9"
-Bash:
-  type: programming
-  ascii: |
-    {0}             _._
-    {0}         _.-'   '-._
-    {0}     _.-'           '-._
-    {0} _.-'                   '-._
-    {0}|                        _,-|
-    {0}|                    _,-'+++|
-    {0}|                _,-'+++++++|
-    {0}|             ,-'+++++++++++|
-    {0}|             |++++ ++++++++|
-    {0}|             |+++   +++++++|
-    {0}|             |++  +++++++++|
-    {0}|             |++++  +++{1}**{0}++|
-    {0}|             |++   ++{1}**{0}++++|
-    {0}'-,_          |+++ ++++++_,-'
-    {0}    '-,_      |++++++_,-'
-    {0}        '-,_  |++_,-'
-    {0}            '-|-'
-  colors:
-    ansi:
-      - white
-      - green
-    chip: "#89E051"
-C:
-  type: programming
-  ascii: |
-    {0}                 ++++++
-    {0}              ++++++++++++
-    {0}          ++++++++++++++++++++
-    {0}       ++++++++++++++++++++++++++
-    {0}    ++++++++++++++++++++++++++++++++
-    {0} +++++++++++++{3}************{0}+++++++++++++
-    {0}+++++++++++{3}******************{0}++++++++{2};;;
-    {0}+++++++++{3}**********************{0}++{2};;;;;;;
-    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-    {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
-    {0}+++++++{3}*******{0}+++++++++{2};;;;;;;;;;;;;;;;;
-    {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;;;;;;;;;;;
-    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;;;;;;;;;;;;
-    {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
-    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-    {1} :::::::::::::{3}************{1}:::::::::::::
-    {1}    ::::::::::::::::::::::::::::::::
-    {1}       ::::::::::::::::::::::::::
-    {1}          ::::::::::::::::::::
-    {1}              ::::::::::::
-    {1}                 ::::::
-  colors:
-    ansi:
-      - cyan
-      - blue
-      - blue
-      - white
-    hex:
-      - "#649AD2"
-      - "#004283"
-      - "#00599D"
-      - "#FFFFFF"
-    chip: "#555555"
-Ceylon:
-  type: programming
-  ascii: |
-    {1}                                 @@
-    {1}                                 @@
-    {3}          @@@@@@@{1}@@@@@@@@@@@@@@   @@
-    {0}    @@@{3}@@@@@@@@@@{1}@@@@@@ /@@@@@@@@  @@@
-    {0}  @@@@@@{3}@@@@@@@@@@{1}@@@@ (@@@@ @@@@@  @@{2}@@
-    {0} @@@@@@@@{3}@@@@@@@@@@@{1}@@@ \@@@@@@@@@@@@{2}@@@
-    {0}@@@@@@@@@@@{3}@@@@@@@@@@@{1}@@@@@@@@@@@@@{2}@@@@
-    {0}|/ @@@@@@@@@@{3}@@@@@@@@@@@@{1}@
-    {0}   @@@@@@@@@@@@{3}@@@@@@@@@@
-    {0}   @@@@@@@@@@@@@@{3}@@@@@@@ {4}@@
-    {0}    @@@@@@@     @@@@@@@ {4}@@@
-    {0}    @@@@@@ {4}@@    {0}@@@@@ {4}@@@@
-    {0}     @@@@ {4}@@@    {0}@@@@@ {4}@@@@@
-  colors:
-    ansi:
-      - yellow
-      - yellow
-      - yellow
-      - yellow
-      - yellow
-    hex:
-      - "#C27E10"
-      - "#DDA12E"
-      - "#D1911F"
-      - "#CC8B18"
-      - "#AB7008"
-    chip: "#DFA535"
-Clojure:
-  type: programming
-  ascii: |
-    {0}               ,....,
-    {0}          ,oooooooooooooo,
-    {0}      ,oooooooooooooooooooooo,
-    {0}    ,oooooooooooooooooooooooooo,
-    {0}   ,oooooo::'        '':ooooooooo,
-    {0}  '            '\\\\\:   :oooooooo,
-    {1}  .,,ooo'  :/:  {0}:\\\\\\\,  :ooooooo,
-    {1} :,oooo:  :///:  {0}:\\\\\\\\,  :oooooo:
-    {1}:ooooo:  ://///:, {0}:\\\\\\\\,  :ooooo:
-    {1}'ooooo: :///////:  {0}:\\\\\\\,  :ooooo:
-    {1}'ooooo: ://////: : {0}:\\\\\\\,  :ooooo:
-    {1}'ooooo:  :////: ::  {0}:\\\\\\,  :ooooo'
-    {1}'oooooo:  ://: ://:  {0}:\\\\,  :ooooo'
-    {1} `oooooo:  :' :////:  {0}:\\. ,;;;::'
-    {1}  `oooooo:,   ```````
-    {1}   `oooooo:::..        .::.,.,::'
-    {1}     `oooooooooOOooooOOoooooooo'
-    {1}       `ooooooooooooooooooooo'
-    {1}         `ooooooooooooooooo'
-    {1}             ````````````
-  colors:
-    ansi:
-      - cyan
-      - green
-    chip: "#DB5855"
-CMake:
-  type: programming
-  ascii: |
-    {0}            ;e{2}`
-    {0}           ;QD{2}?`
-    {0}          ;B#R{2}1r`
-    {0}         ;WRMK{2}S|r`
-    {0}        :O9KOK{2}S\\*`
-    {0}       :keXPk6{2}Zc7v|`
-    {0}      :ajyoaZe{3}m{2}JJ{]\`
-    {0}     :]z1x}f9{3}@@{2}yujSoc`
-    {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
-    {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
-    {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
-    {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
-    {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
-  colors:
-    ansi:
-      - blue
-      - green
-      - red
-      - black
-    chip: "#DA3434"
-CoffeeScript:
-  type: programming
-  ascii: |
-    {0}           #####    ######
-    {0}          ###    ###    ###
-    {0}  /A\      ######    #####      /A\
-    {0}  \AAAAA\                   /AAAAA/
-    {0}       \AAAAAAAAAAAAAAAAAAAAA/
-    {0}  \AA\                         /AA/
-    {0}   |\AAAAAAAAAAAAAAAAAAAAAAAAAAA/|
-    {0}  /\\llAAAAAAAAAAAAAAAAAAAAAAAll//
-    {0} /#A\\llAAAAAAAAAAAAAAAAAAAAAll//
-    {0}|#A   \\llAAAAAAAAAAAAAAAAAAll//
-    {0} \#A    \\llAAAAAAAAAAAAAAll//
-    {0}   \#A   \\llAAAAAAAAAAAAll//
-    {0}     \#A>  ||lAAAAAAAAAAl||
-    {0}            \;AAAAAAAAAA;/
-  colors:
-    ansi:
-      - red
-    chip: "#244776"
-ColdFusion:
-  type: programming
-  ascii: |
-    {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
-    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@{0}CfCfCfCf{1}@@{0}Cf
-    {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}Cf
-    {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCf{1}@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@{0}CfCfCfCfCfCf{1}@@@@@@{0}Cf
-    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-    {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
-  colors:
-    ansi:
-      - white
-      - blue
-    hex:
-      - "#E5F3FC"
-      - "#274550"
-    chip: "#ed2cd6"
-Coq:
-  type: programming
-  ascii: |
-    {0}   ::::::::
-    {0} :::::::::::
-    {0} :::::::::::
-    {0} :::::{1}___{0}:::
-    {1}   ______ {0}:
-    {1}     ____   _________
-    {1}      ___  ___________
-    {1}      ___ ____________
-    {1}     _________________
-    {1}   ___________________
-    {1}______________ ______
-    {1}   ___________ ___
-    {1}      ______
-    {1}       ____
-    {1}     ______
-    {1}    ________
-    {1}    ________
-  colors:
-    ansi:
-      - yellow
-      - white
-    hex:
-      - "#BF8C5E"
-      - "#D5BE99"
-    chip: "#D0B68C"
-Cpp:
-  type: programming
-  ascii: |
-    {0}                 ++++++
-    {0}              ++++++++++++
-    {0}          ++++++++++++++++++++
-    {0}       ++++++++++++++++++++++++++
-    {0}    ++++++++++++++++++++++++++++++++
-    {0} +++++++++++++{3}************{0}+++++++++++++
-    {0}+++++++++++{3}******************{0}++++++++{2};;;
-    {0}+++++++++{3}**********************{0}++{2};;;;;;;
-    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-    {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
-    {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
-    {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
-    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
-    {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
-    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-    {1} :::::::::::::{3}************{1}:::::::::::::
-    {1}    ::::::::::::::::::::::::::::::::
-    {1}       ::::::::::::::::::::::::::
-    {1}          ::::::::::::::::::::
-    {1}              ::::::::::::
-    {1}                 ::::::
-  colors:
-    ansi:
-      - cyan
-      - blue
-      - blue
-      - white
-    hex:
-      - "#649AD2"
-      - "#004283"
-      - "#00599D"
-      - "#FFFFFF"
-    chip: "#F34B7D"
-  serialization: c++
-Crystal:
-  type: programming
-  ascii: |
-    {0}            ,loc;'..
-    {0}          ,xNMMMWNXK0kdl,..
-    {0}        ,xNMMMMMMMMMMMMMKOxoc;.
-    {0}      ,xNMMMMMMMMMMMMMMMMMMMMWX:
-    {0}    ,xNMMMMMMMMMMWNNWMMMMMMMMMMk.
-    {0}  ,xNMMMMMWX0kdlc;:lOMMMMMMMMMMNc
-    {0},xXK{1}..mmmMMMMMMMM'{0}0MMMMMMMMMMMMMO.
-    {0}0o;{1}MMMMMMMMMMMMMm{0}.MMMMMMMMMMMMMMWl
-    {0}0O:.{1}MMMMMMMMMMMM'{0}cMMMMMMMMMMMMMMM0'
-    {0}oWWO:.{1}MMMMMMMMMm{0}.OMMMMMMMMMMMMMMMWo
-    {0}'0MMWO:.{1}MMMMMMM'{0}lWMMMMMMMMMMMMMMMMK,
-    {0} lWMMMWO:.{1}MMMMm{0}'0MMMMMMMMMMMMMMMMMWd
-    {0} .OMMMMMW0c.{1}MM'{0}oWMMMMMMMMMMMMMMMMMWk.
-    {0}  cNMMMMMMW0c{1}'{0},KMMMMMMMMMMMMMMMMW0c.
-    {0}  .kMMMMMMMMW00WMMMMMMMMMMMMMMW0c.
-    {0}   cNMMMMMMMMMMMMMMMMMMMMMMMW0c.
-    {0}   .xWMMMMMMMMMMMMMMMMMMMMW0:.
-    {0}    .';coxOKNWMMMMMMMMMMWO:.
-    {0}           ..,:ldk0KXWMM:.
-    {0}               ...';c:
-  colors:
-    ansi:
-      - white
-      - black
-    chip: "#000100"
-CSharp:
-  type: programming
-  ascii: |
-    {0}                 ++++++
-    {0}              ++++++++++++
-    {0}          ++++++++++++++++++++
-    {0}       ++++++++++++++++++++++++++
-    {0}    ++++++++++++++++++++++++++++++++
-    {0} +++++++++++++{3}************{0}+++++++++++++
-    {0}+++++++++++{3}******************{0}++++++++{2};;;
-    {0}+++++++++{3}**********************{0}++{2};;;;;;;
-    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-    {0}+++++++{3}********{0}++++++++++{3}**{2};;;{3}**{2};;;{3}**{2};;;
-    {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}*********{2}::
-    {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;{3}**{2};;;{3}**{2};;;
-    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}*********{2};;
-    {0}+++++++{3}********{1}::::::::::{3}**{2};;;{3}**{2};;;{3}**{2};;;
-    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-    {1} :::::::::::::{3}************{1}:::::::::::::
-    {1}    ::::::::::::::::::::::::::::::::
-    {1}       ::::::::::::::::::::::::::
-    {1}          ::::::::::::::::::::
-    {1}              ::::::::::::
-    {1}                 ::::::
-  colors:
-    ansi:
-      - blue
-      - magenta
-      - magenta
-      - white
-    hex:
-      - "#9B4F97"
-      - "#67217A"
-      - "#803788"
-      - "#FFFFFF"
-    chip: "#178600"
-  serialization: c#
-Css:
-  type: markup
-  ascii: |
-    {1}        ####    ####    ####
-    {1}       ##  ##  ##      ##
-    {1}       ##       ####    ####
-    {1}       ##  ##      ##      ##
-    {1}        ####    ####    ####
-    {0}(((((((((((((((((((((((((((((((((((
-    {0}(((((((((((((((((/////////////(((((
-    {0}(((((((((((((((((/////////////(((((
-    {0}(((((((                    ///(((((
-    {0} ((((((                    ///((((
-    {0} ((((((((((((((((        /////((((
-    {0} (((((((((((        //////////((((
-    {0} (((((((                   ///((((
-    {0}  ((((((                   ///(((
-    {0}  (((((((((((((((//////    ///(((
-    {0}  (((((((    ((((//////    ///(((
-    {0}  (((((((                  ///(((
-    {0}   (((((((               /////((
-    {0}   ((((((((((((((/////////////((
-    {0}   ((((((((((((((//////(((((((((
-    {0}          (((((((((((((((
-  colors:
-    ansi:
-      - blue
-      - white
-    chip: "#563D7C"
-D:
-  type: programming
-  ascii: |
-    {0}                                    DDD
-    {0}DDDDDDDDDDDDDDDDDDDDDD             DDDDD
-    {0}DDDDDDDDDDDDDDDDDDDDDDDD            DDD
-    {0}DDDDDDDDDDDDDDDDDDDDDDDDDD     DDDDD
-    {0}DDDDDD               DDDDDDD DDDDDDDDD
-    {0}DDDDDD                DDDDDDDDDDDDDDDDD
-    {0}DDDDDD                 DDDDDDDDDDDDDDDD
-    {0}DDDDDD                 DDDDDDDDDDDDDD
-    {0}DDDDDD                 DDDDDDDDDDD
-    {0}DDDDDD                 DDDDDDD
-    {0}DDDDDD                DDDDDDD
-    {0}DDDDDD               DDDDDDD
-    {0}DDDDDDDDDDDDDDDDDDDDDDDDDDD
-    {0}DDDDDDDDDDDDDDDDDDDDDDDDD
-    {0}DDDDDDDDDDDDDDDDDDDDDD
-  colors:
-    ansi:
-      - red
-    chip: "#BA595E"
-Dart:
-  type: programming
-  ascii: |
-    {0}#
-    {0} ##
-    {0}  ###
-    {0}   ######              ###
-    {0}    #########        #######
-    {0}      ###########  ######{2}O{0}##{2}========-
-    {0}       #####################
-    {0}         ##################
-    {0}      ###############{1}+++++
-    {0}###################{1}+++++++
-    {0}        ##########{1}+++++++
-    {0}               ##{1}+++++++
-    {0}               ###{1}+++
-    {0}               #####
-    {0}               #######
-    {0}               #########
-    {0}                #######
-    {0}                 #####
-  colors:
-    ansi:
-      - blue
-      - cyan
-      - blue
-    hex:
-      - "#00A3E7"
-      - "#42DFCD"
-      - "#01597D"
-    chip: "#00B4AB"
-Dockerfile:
-  type: programming
-  ascii: |
-    {2}                  ##   {0}      .
-    {2}            ## ## ##   {0}     ==
-    {2}         ## ## ## ## ##{0}    ===
-    {0}     /"""""""""""""""""\___/ ===
-    {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
-    {0}     \{1}______ o{0}           __/
-    {1}       \    \ {0}        __/
-    {1}        \____\{0}_______/
-  colors:
-    ansi:
-      - cyan
-      - white
-      - cyan
-    chip: "#384D54"
-Elisp:
-  type: programming
-  ascii: |
-    {0}         ':r\iv7i|r:'
-    {0}      :LFaZZZaaaoooo2t\:
-    {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
-    {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
-    {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
-    {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
-    {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
-    {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
-    {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
-    {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
-    {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
-    {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
-    {0}   `;c]]][uaXUKO$wo]]]]L:`
-    {0}     `,>i1tt[[]]]]ti>,`
-    {0}        `.~;^>??>^;,-`
-  colors:
-    ansi:
-      - magenta
-      - white
-    chip: "#C065DB"
-  serialization: emacs-lisp
-Elixir:
-  type: programming
-  ascii: |
-    {0}            x
-    {0}           WNX
-    {0}          Odc:xN
-    {0}        0ddko,oX
-    {0}       kokNWOllOW
-    {0}     KdoKWMMNKxl0W
-    {0}    0odXMMMMMMNxoON
-    {0}   0lxNMMMMMMMMW0dd0N
-    {0}  0oxNMMMMMMMMMMMNOodKW
-    {0}  odXMMMMMMMMMMMMMMXxokN
-    {0} xl0MMMMMMMMMMMMMMMMW0odX
-    {0}xoxWMMMMMMMMMMMMMMMMMMKodN
-    {0}0lOMMMMMMMMMMMMMMMMMMMWOlO
-    {0}OlOMWKXMMMMMMMMMMMMMMMMKlxW
-    {0}KlxWXodNMMMMMMMMMMMMMMM0lkW
-    {0}xxoKWOlkNMMMMMMMMMMMMMWkl0
-    {0} XooKN0ddkKNWWWMMMMMMWOlkW
-    {0}  XxokXN0kxxkkKMMMMN0doON
-    {0}   WKxdxk0KKKKXK0OxddkXW
-    {0}     WNKOxxxxxxxxkOXW
-    {0}         WWWWWWW
-  colors:
-    ansi:
-      - magenta
-    chip: "#6E4A7E"
-Elm:
-  type: programming
-  ascii: |
-    {0}   {1}ElmElmElmElm   {3}ElmElmElmElmElm
-    {0}El   {1}mElmElmElmEl   {3}mElmElmElmElm
-    {0}Elm   {1}ElmElmElmElmE   {3}lmElmElmElm
-    {0}ElmEl   {1}mElmElmElmElm   {3}ElmElmElm
-    {0}ElmElmE                   {3}mElmElm
-    {0}ElmElmElm   {2}ElmElmElmEl     {3}lmElm
-    {0}ElmElmElmEl   {2}mElmElm   {1}Elm   {3}Elm
-    {0}ElmElmElmElmE   {2}lmE   {1}lmElmEl   {3}m
-    {0}ElmElmElmElmElm     {1}mElmElmElmE
-    {0}ElmElmElmElmElmE    {1}mElmElmElm
-    {0}ElmElmElmElmEl   {3}mE   {1}lmElmE   {2}lm
-    {0}ElmElmElmElm   {3}ElmElm   {1}El   {2}mElm
-    {0}ElmElmElmE   {3}lmElmElmEl    {2}ElmElm
-    {0}ElmElmEl   {3}mElmElmElmElmE   {2}lmElm
-    {0}ElmElm   {3}ElmElmElmElmElmElm   {2}Elm
-    {0}ElmE   {3}lmElmElmElmElmElmElmEl   {2}m
-    {0}El   {3}mElmElmElmElmElmElmElmElmE
-    {0}   {3}ElmElmElmElmElmElmElmElmElmElm
-  colors:
-    ansi:
-      - blue
-      - green
-      - yellow
-      - cyan
-    chip: "#60B5CC"
-Emojicode:
-  type: programming
-  ascii: |
-    {0}~~
-    {0} ~~
-    {0}  ~~
-    {0}   ~~{2}           ''''''''
-    {0}    ~~~{2}       ''''''''''''
-    {0}     {1}````````{2}''''''''''''''
-    {1}    `````````{2}''''''''''''''
-    {1}   `````````{2}'''''''''''''{3}~~~~~~~-
-    {1}   `````````{2}'''''''''''{3}~~~~~~~~~~~
-    {1}   ``````````{2}''{1}````````{3}~~~~~~~~~~~~
-    {1}   ``````````````````````{3}~~~~~~~~~~~
-    {1}   ```````````````````````{3}~~~~~~~~~~
-    {1}    ``{3}~~~~~{1}```````````````{3}~~~~~~~~~~
-    {3}   -~~~~~~~{1}```````````````{3}~~~~~~~~~
-    {3}  ~~~~~~~~~{1}```````````````````````
-    {3}  ~~~~~~~~~~{1}````````````````````````
-    {3} ~~~~~~~~~~~~{1}`````````````````````````
-    {3}  ~~~~~~~~~~~~~~{1}``````{2}````````````````
-    {3}  ~~~~~~~~~~~~~~{2}'''''''{1}```````````````
-    {3}   ~~~~~~~~~~~~{2}''''''''{1}```````````````
-    {3}     ~~~~~~~~{2}'''''''''''{1}``````````````
-    {2}              {2}'''''''''''{1}````````````
-    {2}                {2}''''''''   {1}````````
-  colors:
-    ansi:
-      - green
-      - magenta
-      - magenta
-      - magenta
-    hex:
-      - "#77B255"
-      - "#9266CC"
-      - "#AA8DD8"
-      - "#744EAA"
-    chip: "#60B5CC"
-Erlang:
-  type: programming
-  ascii: |
-    {0}   EEEEEEEEEEEEE      EEEEEEEEEEEE
-    {0}  EEEEEEEEEEEE         EEEEEEEEEEEE
-    {0} EEEEEEEEEEEE           EEEEEEEEEEE
-    {0} EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-    {0}EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-    {0}EEEEEEEEEEEEE
-    {0}EEEEEEEEEEEEE
-    {0}EEEEEEEEEEEEE
-    {0} EEEEEEEEEEEEE                 E
-    {0} EEEEEEEEEEEEE                EEEEE
-    {0}  EEEEEEEEEEEEE             EEEEEEEEE
-    {0}   EEEEEEEEEEEEEE         EEEEEEEEEE
-  colors:
-    ansi:
-      - red
-    chip: "#B83998"
-Fish:
-  type: programming
-  ascii: |
-    {0}                 ___
-    {0}  ___======____=-{1}-{0}-=)
-    {0}/T            \_{1}--={0}==)
-    {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
-    {0} \      / )J~~    \{1}-={0})
-    {0}  \\___/  )JJ~{1}~~{0}   \)
-    {0}   \_____/JJJ~~{1}~~{0}    \
-    {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
-    {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
-    {0}  (\\)  ({1}\{0}\\)_           {1}\==__
-    {0}   \V    \\\) ===_____   {1}\\\\{0}\\
-    {0}          \V)     \_) \\{1}\\JJ\{0}J\)
-    {0}                      /J{1}\J{0}T\JJJJ)
-    {0}                      (JJJ| \UUU)
-    {0}                       (UU)
-  colors:
-    ansi:
-      - red
-      - yellow
-    chip: "#4AAE47"
-Forth:
-  type: programming
-  ascii: |
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::         :::::::
-    {0}::::::::::::::::::::::::::     :::::::::
-    {0}::::::::::::::::::::::::     :::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-  colors:
-    ansi:
-      - red
-    chip: "#341708"
-FortranLegacy:
-  type: programming
-  ascii: |
-    {4}    _ {1}__ __
-    {4}  _|_ {1} /  /
-    {0}  o{4}|{1}  /  /
-    {0}      /\
-    {0}     /  \
-    {0}    |    |
-    {0}    |{2}NASA{0}|
-    {0}    |    |
-    {0}    |    |
-    {0}    |    |
-    {0}   '      '
-    {0}   |      |
-    {0}   |      |
-    {0}   |______|
-    {3}   /-`'-`.\
-    {3}  ; / . \'\.
-    {3} '/''( .'\.''
-    {3}'.'.;.;' ;'.;'
-  colors:
-    ansi:
-      - white
-      - green
-      - cyan
-      - yellow
-      - red
-    chip: "#4D41B1"
-  serialization: fortran
-FortranModern:
-  type: programming
-  ascii: |
-    {4}    _{1} _  _
-    {4}  _|_{1}(_|/ \
-    {0}  o{4}| {1} _|\_/
-    {0}      /\
-    {0}     /  \
-    {0}    |    |
-    {0}    |{2}NASA{0}|
-    {0}    |    |
-    {0}    |    |
-    {0}    |    |
-    {0}   '      '
-    {0}   |      |
-    {0}   |      |
-    {0}   |______|
-    {3}   /-`'-`.\
-    {3}  ; / . \'\.
-    {3} '/''( .'\.''
-    {3}'.'.;.;' ;'.;'
-  colors:
-    ansi:
-      - white
-      - green
-      - cyan
-      - yellow
-      - red
-    chip: "#4D41B1"
-FSharp:
-  type: programming
-  ascii: |
-    {0}                 /  {1}((
-    {0}               ///  {1}((((
-    {0}             /////  {1}((((((
-    {0}           ///////  {1}((((((((
-    {0}         /////////  {1}((((((((((
-    {0}       //////////   {1}  ((((((((((
-    {0}     //////////  /  {1}    ((((((((((
-    {0}   //////////  ///  {1}      ((((((((((
-    {0} //////////  /////  {1}        ((((((((((
-    {0}/////////   //////  {1}         ((((((((((
-    {0}  /////////   ////  {1}       ((((((((((
-    {0}    /////////   //  {1}     ((((((((((
-    {0}      /////////     {1}   ((((((((((
-    {0}        /////////   {1} ((((((((((
-    {0}          ////////  {1}(((((((((
-    {0}            //////  {1}(((((((
-    {0}              ////  {1}(((((
-    {0}                //  {1}(((
-  colors:
-    ansi:
-      - cyan
-      - cyan
-    chip: "#B845FC"
-  serialization: f#
-GdScript:
-  type: programming
-  ascii: |
-    {0}         _.aMb      dMe._
-    {0}        'H8888b,  ,d8888H'
-    {0}   .   .:88888d8888888888:.   .
-    {0} .d8b.dM888888888888888888Mb.d8b.
-    {0}d88888888888888888888888888888888b
-    {0}'V888888888888888888888888888888V'
-    {0} 88888888888888888888888888888888
-    {0} 8888P' {1}__{0} "V88888888V" {1}__{0} 'V8888
-    {0} 8888" {1}dMMb {0}'888{1}''{0}888' {1}d88b {0}"8888
-    {0} 8888b {1}:HH: {0}/888{1}  {0}888\ {1}:HH: {0}d8888
-    {0} 8888be._.ad8888{1}..{0}8888be._.ad8888
-    {0} WW8888888888888888888888888888WW
-    {0} {1}#######{0}YW88/{1}########{0}\88WY{1}#######
-    {0} MWbzxe{1}##{0}8MW;{1}##{0}8888{1}##{0};8MW{1}##{0}aezdWM
-    {0} 'Y8888b.{1}#####{0}/8888\{1}#####{0}.d8888Y'
-    {0}  "V8888888888888888888888888V"
-    {0}   '^YV8888888888888888888VP^'
-    {0}      '"^^VY888888888VY^^'
-  colors:
-    ansi:
-      - cyan
-      - white
-    hex:
-      - "#458DC0"
-      - "#FFFFFF"
-    chip: "#355570"
-Glsl:
-  type: programming
-  ascii: |
-    {0}         ,,@@@@@@@@@@@@@@@@@..
-    {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
-    {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
-    {0}   ,@@@@@@@@'              `@@@@@@@.
-    {0} ,@@@@@@@@'                    `@@@@.
-    {0},@@@@@@@'                         `@@.
-    {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
-    {0}@@@@@@  {1}/:::::||:|      /:::::||:|
-    {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
-    {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
-    {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
-    {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
-    {0}@@@@@@@.                            ,@
-    {0}`@@@@@@@.                         ,@@'
-    {0} `@@@@@@@@.                    ,@@@@'
-    {0}   `@@@@@@@@.              ,@@@@@@@'
-    {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
-    {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
-    {0}         ``@@@@@@@@@@@@@@@@@''
-  colors:
-    ansi:
-      - blue
-      - magenta
-    hex:
-      - "#5487a6"
-      - "#bc258e"
-    chip: "#5686a5"
-Go:
-  type: programming
-  ascii: |
-    {0}           --==============--
-    {0}  .-==-.===oooo=oooooo=ooooo===--===-
-    {0} .==  =o={1}oGGGGGG{0}o=oo=o{1}GGGGGGG{0}G=o=  oo-
-    {0} -o= oo={1}G .=GGGGG{0}o=o={1}= .=GGGGG{0}=ooo o=-
-    {0}  .-=oo={1}o==oGGGGG{0}=oo={1}oooGGGGGo{0}=oooo.
-    {0}   -ooooo{1}=oooooo{0}={2}.   .{0}={1}=ooo=={0}oooooo-
-    {0}   -ooooooooooo{2}====_===={0}ooooooooooo=
-    {0}   -oooooooooooo{2}=={1}#{0}.{1}#{2}=={0}ooooooooooooo
-    {0}   -ooooooooooooo={1}#{0}.{1}#{0}=oooooooooooooo
-    {0}   .oooooooooooooooooooooooooooooooo.
-    {0}    oooooooooooooooooooooooooooooooo.
-    {2}  ..{0}oooooooooooooooooooooooooooooooo{2}..
-    {2}-=o-{0}=ooooooooooooooooooooooooooooooo{2}-oo.
-    {2}.=- {0}oooooooooooooooooooooooooooooooo{2}-.-
-    {0}   .oooooooooooooooooooooooooooooooo-
-    {0}   -oooooooooooooooooooooooooooooooo-
-    {0}   -oooooooooooooooooooooooooooooooo-
-    {0}   -oooooooooooooooooooooooooooooooo-
-    {0}   .oooooooooooooooooooooooooooooooo
-    {0}    =oooooooooooooooooooooooooooooo-
-    {0}    .=oooooooooooooooooooooooooooo-
-    {0}      -=oooooooooooooooooooooooo=.
-    {2}     =oo{0}====oooooooooooooooo==-{2}oo=-
-    {2}    .-==-    {0}.--=======---     {2}.==-
-  colors:
-    ansi:
-      - cyan
-      - white
-      - yellow
-    hex:
-      - "#74CDDD"
-      - "#FFFFFF"
-      - "#F6D2A2"
-    chip: "#00ADD8"
-Graphql:
-  type: data
-  ascii: |
-    {0}                 {}{}{}
-    {0}                {}{}{}{}
-    {0}                {}{}{}{}
-    {0}            {}   {}{}{}   {}
-    {0} {}{}{}  {}    {}      {}    {}  {}{}{}
-    {0}{}{}{}{}      {}        {}      {}{}{}{}
-    {0}{}{}{}{}     {}          {}     {}{}{}{}
-    {0} {}{}{}     {}            {}     {}{}{}
-    {0}   {}      {}              {}      {}
-    {0}   {}     {}                {}     {}
-    {0}   {}    {}                  {}    {}
-    {0}   {}   {}                    {}   {}
-    {0}   {}  {}                      {}  {}
-    {0} {}{}{}                          {}{}{}
-    {0}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
-    {0}{}{}{}{}                        {}{}{}{}
-    {0} {}{}{}  {}                  {}  {}{}{}
-    {0}            {}   {}{}{}   {}
-    {0}                {}{}{}{}
-    {0}                {}{}{}{}
-    {0}                 {}{}{}
-  colors:
-    ansi:
-      - magenta
-    chip: "#E10098"
-Groovy:
-  type: programming
-  ascii: |
-    {0}                   *
-    {0}                  ***
-    {0}                 *****
-    {0}                *******
-    {0}               *********
-    {0}              ***********
-    {0}             *************
-    {0}*****************{1}@@@@@{0}*****************
-    {0}  *************{1}@{0}******{1}@{0}**************
-    {0}   ***********{1}@{0}**{1}@@{0}***{1}@{0}*************
-    {0}    *********{1}@{0}***{1}@@{0}**{1}@{0}**{1}@{0}**********
-    {0}      *******{1}@{0}****{1}@@{0}***{1}@@@{0}*******
-    {0}       *******{1}@{0}******{1}@@{0}**{1}@@{0}*****
-    {0}        *******{1}@@@@@@{0}**{1}@@@@{0}****
-    {0}         ************{1}@@@@@@{0}***
-    {0}         ******{1}@@@@@@@@@@@{0}****
-    {0}        ********{1}@@@@@@@@{0}*******
-    {0}       **********{1}@@{0}*************
-    {0}      ***************************
-    {0}     ***********       ***********
-    {0}    *********             *********
-    {0}   *****                       *****
-    {0}  *                                 *
-  colors:
-    ansi:
-      - cyan
-      - white
-    chip: "#4298B8"
-Haskell:
-  type: programming
-  ascii: |
-    {0}yyyyyy{1} xxxxxx
-    {0} yyyyyy{1} xxxxxx
-    {0}  yyyyyy{1} xxxxxx
-    {0}   yyyyyy{1} xxxxxx
-    {0}    yyyyyy{1} xxxxxx{2} yyyyyyyyyy
-    {0}     yyyyyy{1} xxxxxx{2} yyyyyyyyy
-    {0}      yyyyyy{1} xxxxxx
-    {0}     yyyyyy{1} xxxxxxxx{2} yyyyyyy
-    {0}    yyyyyy{1} xxxxxxxxxx{2} yyyyyy
-    {0}   yyyyyy{1} xxxxxxxxxxxx
-    {0}  yyyyyy{1} xxxxxx  xxxxxx
-    {0} yyyyyy{1} xxxxxx    xxxxxx
-    {0}yyyyyy{1} xxxxxx      xxxxxx
-  colors:
-    ansi:
-      - cyan
-      - magenta
-      - blue
-    hex:
-      - "#453A62"
-      - "#5E5086"
-      - "#8F4E8B"
-    chip: "#5E5086"
-Haxe:
-  type: programming
-  ascii: |
-    {0}#############              {2}@@@@@@@@@@@@@
-    {0}#################      {2}@@@@@@@@@@@@@@@@@
-    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-    {0}#################      {2}@@@@@@@@@@@@@@@@@
-    {0}#############              {2}@@@@@@@@@@@@@
-  colors:
-    ansi:
-      - yellow
-      - yellow
-      - yellow
-    hex:
-      - "#FAB20B"
-      - "#F69912"
-      - "#F47216"
-    chip: "#DF7900"
-Hcl:
-  type: programming
-  ascii: |
-    {0}::
-    {0}::::
-    {0}::::::
-    {0}::::::::
-    {0}::::::::::
-    {0}:::::::::: ::        {1}         ..
-    {0}  :::::::: ::::      {1}       ....
-    {0}    :::::: ::::::    {1}     ......
-    {0}      :::: ::::::::  {1}   ........
-    {0}        :: ::::::::::{1} ..........
-    {0}           ::::::::::{1} ..........
-    {0}             ::::::::{1} ........
-    {0}           ::  ::::::{1} ......
-    {0}           ::::  ::::{1} ....
-    {0}           ::::::  ::{1} ..
-    {0}           ::::::::
-    {0}           ::::::::::
-    {0}           ::::::::::
-    {0}             ::::::::
-    {0}               ::::::
-    {0}                 ::::
-    {0}                   ::
-  colors:
-    ansi:
-      - magenta
-      - magenta
-    hex:
-      - "#5F43E9"
-      - "#4040B2"
-    chip: "#AACE60"
-Hlsl:
-  type: programming
-  ascii: |
-    {0}████████████████  {1}████████████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████      █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████      █████
-    {0}████████████████  {1}████████████████
+# ABNF:
+#   type: data
+#   ascii: |
+#     {0}          ______
+#     {0}         |      |
+#     {0}         |  /\  |
+#     {0}>>---+-->| /--\ |-->+--->>
+#     {0}     |   |______|   |
+#     {0}     |    ______    |
+#     {0}     |   |  __  |   |
+#     {0}     |   | |__) |   |
+#     {0}     +-->| |__) |-->+
+#     {0}     |   |______|   |
+#     {0}     |    ______    |
+#     {0}     |   |      |   |
+#     {0}     |   | |\ | |   |
+#     {0}     +-->| | \| |-->+
+#     {0}     |   |______|   |
+#     {0}     |    ______    |
+#     {0}     |   |  ___ |   |
+#     {0}     |   | |___ |   |
+#     {0}     +-->| |    |-->+
+#     {0}         |______|
+#   colors:
+#     ansi:
+#       - white
+#     hex:
+#       - "#888888"
+#     chip: "#555e25"
+# Ada:
+#   type: programming
+#   ascii: |
+#     {0}                              *
+#     {0}                              *
+#     {0}                            * **
+#     {0}   *                        *****
+#     {0}   **                       ******
+#     {0}    **                   ###********
+#     {0}    ***          -******#'###*********
+#     {0}     *****               #### *********
+#     {0}      ****************************{1}XXX{0}**
+#     {0}     ** ******************{1}XXXX{2}o{1}X{0}*{1}X{2}o{1}XXX{0}*
+#     {0}      **** ***************{1}XXXX{2}ooooo{1}XX{0}*
+#     {0}        *******************{1}XXXX{2}ooooo{1}X
+#     {0}          *******************{1}XXX{2}ooo{1}X
+#     {0}          ************************{1}XX{0}*
+#     {0}             *************    ******
+#     {0}  /| |                           ****
+#     {0} /-|(|(|                     ********
+#     {0}                        ************
+#     {0}Time-tested, safe     *************
+#     {0}and secure            ***********
+#     {0}                         *****
+#   colors:
+#     ansi:
+#       - white
+#       - cyan
+#       - blue
+#     hex:
+#       - "#FFFFFF"
+#       - "#0018C9"
+#       - "#0C0A7C"
+#     chip: "#02F88C"
+# Agda:
+#   type: programming
+#   ascii: |
+#     {0}   / / /           /  /
+#     {0}  / / /           /  / /
+#     {0} / o o           /    / /
+#     {0}/____           /      /
+#     {0}     |                 |
+#     {0}     |                 |
+#     {0}     ;                 ;
+#     {0}      \               /
+#     {0}       '.           .'
+#     {0}         '-._____.-'
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#315665"
+# Arduino:
+#   type: programming
+#   ascii: |
+#     {0}   ,=======.    ,=======.
+#     {0}  //       \\  //       \\
+#     {0} //         \\//    #    \\
+#     {0} ||   ###    //    ###   ||
+#     {0} \\         //\\    #    //
+#     {0}  \\       //  \\       //
+#     {0}   `======='    `======='
+#     {0}      _   _              _
+#     {0} /\  |_) | \ | | | |\ | / \
+#     {0}/--\ | \ |_/ |_| | | \| \_/
+#   colors:
+#     ansi:
+#       - cyan
+#     chip: "#F34B7D"
+# Assembly:
+#   type: programming
+#   ascii: |
+#     {0}     __________________________
+#     {0}    /                          \
+#     {1}==={0}|  {1}.-.                       {0}|{1}===
+#     {0}   | {1}(   )                      {0}|
+#     {1}==={0}|  {1}'-'                       {0}|{1}===
+#     {0}   |                            |
+#     {1}==={0}|     {2} _____  ___ ____       {0}|{1}===
+#     {0}   |     {2}(____ |/___)    \      {0}|
+#     {1}==={0}|     {2}/ ___ |___ | | | |     {0}|{1}===
+#     {0}   |     {2}\_____(___/|_|_|_|     {0}|
+#     {1}==={0}|                            |{1}===
+#     {0}   |                            |
+#     {1}==={0}|                       {1}.-.  {0}|{1}===
+#     {0}   |                      {1}(   ) {0}|
+#     {1}==={0}|                       {1}'-'  {0}|{1}===
+#     {0}    \__________________________/
+#   colors:
+#     ansi:
+#       - white
+#       - yellow
+#       - green
+#     chip: "#6E4C13"
+# AutoHotKey:
+#   type: programming
+#   ascii: |
+#     {1} .----------------.
+#     {1}| .--------------. |
+#     {1}| | {0} ____  ____ {1} | |
+#     {1}| | {0}|_   ||   _|{1} | |
+#     {1}| | {0}  | |__| |  {1} | |
+#     {1}| | {0}  |  __  |  {1} | |
+#     {1}| | {0} _| |  | |_ {1} | |
+#     {1}| | {0}|____||____|{1} | |
+#     {1}| |              | |
+#     {1}| '--------------' |
+#     {1} '----------------'
+#   colors:
+#     ansi:
+#       - white
+#       - green
+#     hex:
+#       - "#FFFFFF"
+#       - "#119810"
+#     chip: "#6594B9"
+# Bash:
+#   type: programming
+#   ascii: |
+#     {0}             _._
+#     {0}         _.-'   '-._
+#     {0}     _.-'           '-._
+#     {0} _.-'                   '-._
+#     {0}|                        _,-|
+#     {0}|                    _,-'+++|
+#     {0}|                _,-'+++++++|
+#     {0}|             ,-'+++++++++++|
+#     {0}|             |++++ ++++++++|
+#     {0}|             |+++   +++++++|
+#     {0}|             |++  +++++++++|
+#     {0}|             |++++  +++{1}**{0}++|
+#     {0}|             |++   ++{1}**{0}++++|
+#     {0}'-,_          |+++ ++++++_,-'
+#     {0}    '-,_      |++++++_,-'
+#     {0}        '-,_  |++_,-'
+#     {0}            '-|-'
+#   colors:
+#     ansi:
+#       - white
+#       - green
+#     chip: "#89E051"
+# C:
+#   type: programming
+#   ascii: |
+#     {0}                 ++++++
+#     {0}              ++++++++++++
+#     {0}          ++++++++++++++++++++
+#     {0}       ++++++++++++++++++++++++++
+#     {0}    ++++++++++++++++++++++++++++++++
+#     {0} +++++++++++++{3}************{0}+++++++++++++
+#     {0}+++++++++++{3}******************{0}++++++++{2};;;
+#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
+#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
+#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;;;;;;;;;;;;
+#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;;;;;;;;;;;
+#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;;;;;;;;;;;;
+#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
+#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+#     {1} :::::::::::::{3}************{1}:::::::::::::
+#     {1}    ::::::::::::::::::::::::::::::::
+#     {1}       ::::::::::::::::::::::::::
+#     {1}          ::::::::::::::::::::
+#     {1}              ::::::::::::
+#     {1}                 ::::::
+#   colors:
+#     ansi:
+#       - cyan
+#       - blue
+#       - blue
+#       - white
+#     hex:
+#       - "#649AD2"
+#       - "#004283"
+#       - "#00599D"
+#       - "#FFFFFF"
+#     chip: "#555555"
+# Ceylon:
+#   type: programming
+#   ascii: |
+#     {1}                                 @@
+#     {1}                                 @@
+#     {3}          @@@@@@@{1}@@@@@@@@@@@@@@   @@
+#     {0}    @@@{3}@@@@@@@@@@{1}@@@@@@ /@@@@@@@@  @@@
+#     {0}  @@@@@@{3}@@@@@@@@@@{1}@@@@ (@@@@ @@@@@  @@{2}@@
+#     {0} @@@@@@@@{3}@@@@@@@@@@@{1}@@@ \@@@@@@@@@@@@{2}@@@
+#     {0}@@@@@@@@@@@{3}@@@@@@@@@@@{1}@@@@@@@@@@@@@{2}@@@@
+#     {0}|/ @@@@@@@@@@{3}@@@@@@@@@@@@{1}@
+#     {0}   @@@@@@@@@@@@{3}@@@@@@@@@@
+#     {0}   @@@@@@@@@@@@@@{3}@@@@@@@ {4}@@
+#     {0}    @@@@@@@     @@@@@@@ {4}@@@
+#     {0}    @@@@@@ {4}@@    {0}@@@@@ {4}@@@@
+#     {0}     @@@@ {4}@@@    {0}@@@@@ {4}@@@@@
+#   colors:
+#     ansi:
+#       - yellow
+#       - yellow
+#       - yellow
+#       - yellow
+#       - yellow
+#     hex:
+#       - "#C27E10"
+#       - "#DDA12E"
+#       - "#D1911F"
+#       - "#CC8B18"
+#       - "#AB7008"
+#     chip: "#DFA535"
+# Clojure:
+#   type: programming
+#   ascii: |
+#     {0}               ,....,
+#     {0}          ,oooooooooooooo,
+#     {0}      ,oooooooooooooooooooooo,
+#     {0}    ,oooooooooooooooooooooooooo,
+#     {0}   ,oooooo::'        '':ooooooooo,
+#     {0}  '            '\\\\\:   :oooooooo,
+#     {1}  .,,ooo'  :/:  {0}:\\\\\\\,  :ooooooo,
+#     {1} :,oooo:  :///:  {0}:\\\\\\\\,  :oooooo:
+#     {1}:ooooo:  ://///:, {0}:\\\\\\\\,  :ooooo:
+#     {1}'ooooo: :///////:  {0}:\\\\\\\,  :ooooo:
+#     {1}'ooooo: ://////: : {0}:\\\\\\\,  :ooooo:
+#     {1}'ooooo:  :////: ::  {0}:\\\\\\,  :ooooo'
+#     {1}'oooooo:  ://: ://:  {0}:\\\\,  :ooooo'
+#     {1} `oooooo:  :' :////:  {0}:\\. ,;;;::'
+#     {1}  `oooooo:,   ```````
+#     {1}   `oooooo:::..        .::.,.,::'
+#     {1}     `oooooooooOOooooOOoooooooo'
+#     {1}       `ooooooooooooooooooooo'
+#     {1}         `ooooooooooooooooo'
+#     {1}             ````````````
+#   colors:
+#     ansi:
+#       - cyan
+#       - green
+#     chip: "#DB5855"
+# CMake:
+#   type: programming
+#   ascii: |
+#     {0}            ;e{2}`
+#     {0}           ;QD{2}?`
+#     {0}          ;B#R{2}1r`
+#     {0}         ;WRMK{2}S|r`
+#     {0}        :O9KOK{2}S\\*`
+#     {0}       :keXPk6{2}Zc7v|`
+#     {0}      :ajyoaZe{3}m{2}JJ{]\`
+#     {0}     :]z1x}f9{3}@@{2}yujSoc`
+#     {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
+#     {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
+#     {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
+#     {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
+#     {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
+#   colors:
+#     ansi:
+#       - blue
+#       - green
+#       - red
+#       - black
+#     chip: "#DA3434"
+# CoffeeScript:
+#   type: programming
+#   ascii: |
+#     {0}           #####    ######
+#     {0}          ###    ###    ###
+#     {0}  /A\      ######    #####      /A\
+#     {0}  \AAAAA\                   /AAAAA/
+#     {0}       \AAAAAAAAAAAAAAAAAAAAA/
+#     {0}  \AA\                         /AA/
+#     {0}   |\AAAAAAAAAAAAAAAAAAAAAAAAAAA/|
+#     {0}  /\\llAAAAAAAAAAAAAAAAAAAAAAAll//
+#     {0} /#A\\llAAAAAAAAAAAAAAAAAAAAAll//
+#     {0}|#A   \\llAAAAAAAAAAAAAAAAAAll//
+#     {0} \#A    \\llAAAAAAAAAAAAAAll//
+#     {0}   \#A   \\llAAAAAAAAAAAAll//
+#     {0}     \#A>  ||lAAAAAAAAAAl||
+#     {0}            \;AAAAAAAAAA;/
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#244776"
+# ColdFusion:
+#   type: programming
+#   ascii: |
+#     {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
+#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@{0}CfCfCfCf{1}@@{0}Cf
+#     {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}Cf
+#     {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCf{1}@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@{0}CfCfCfCfCfCf{1}@@@@@@{0}Cf
+#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+#     {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
+#   colors:
+#     ansi:
+#       - white
+#       - blue
+#     hex:
+#       - "#E5F3FC"
+#       - "#274550"
+#     chip: "#ed2cd6"
+# Coq:
+#   type: programming
+#   ascii: |
+#     {0}   ::::::::
+#     {0} :::::::::::
+#     {0} :::::::::::
+#     {0} :::::{1}___{0}:::
+#     {1}   ______ {0}:
+#     {1}     ____   _________
+#     {1}      ___  ___________
+#     {1}      ___ ____________
+#     {1}     _________________
+#     {1}   ___________________
+#     {1}______________ ______
+#     {1}   ___________ ___
+#     {1}      ______
+#     {1}       ____
+#     {1}     ______
+#     {1}    ________
+#     {1}    ________
+#   colors:
+#     ansi:
+#       - yellow
+#       - white
+#     hex:
+#       - "#BF8C5E"
+#       - "#D5BE99"
+#     chip: "#D0B68C"
+# Cpp:
+#   type: programming
+#   ascii: |
+#     {0}                 ++++++
+#     {0}              ++++++++++++
+#     {0}          ++++++++++++++++++++
+#     {0}       ++++++++++++++++++++++++++
+#     {0}    ++++++++++++++++++++++++++++++++
+#     {0} +++++++++++++{3}************{0}+++++++++++++
+#     {0}+++++++++++{3}******************{0}++++++++{2};;;
+#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
+#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
+#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
+#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
+#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
+#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
+#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+#     {1} :::::::::::::{3}************{1}:::::::::::::
+#     {1}    ::::::::::::::::::::::::::::::::
+#     {1}       ::::::::::::::::::::::::::
+#     {1}          ::::::::::::::::::::
+#     {1}              ::::::::::::
+#     {1}                 ::::::
+#   colors:
+#     ansi:
+#       - cyan
+#       - blue
+#       - blue
+#       - white
+#     hex:
+#       - "#649AD2"
+#       - "#004283"
+#       - "#00599D"
+#       - "#FFFFFF"
+#     chip: "#F34B7D"
+#   serialization: c++
+# Crystal:
+#   type: programming
+#   ascii: |
+#     {0}            ,loc;'..
+#     {0}          ,xNMMMWNXK0kdl,..
+#     {0}        ,xNMMMMMMMMMMMMMKOxoc;.
+#     {0}      ,xNMMMMMMMMMMMMMMMMMMMMWX:
+#     {0}    ,xNMMMMMMMMMMWNNWMMMMMMMMMMk.
+#     {0}  ,xNMMMMMWX0kdlc;:lOMMMMMMMMMMNc
+#     {0},xXK{1}..mmmMMMMMMMM'{0}0MMMMMMMMMMMMMO.
+#     {0}0o;{1}MMMMMMMMMMMMMm{0}.MMMMMMMMMMMMMMWl
+#     {0}0O:.{1}MMMMMMMMMMMM'{0}cMMMMMMMMMMMMMMM0'
+#     {0}oWWO:.{1}MMMMMMMMMm{0}.OMMMMMMMMMMMMMMMWo
+#     {0}'0MMWO:.{1}MMMMMMM'{0}lWMMMMMMMMMMMMMMMMK,
+#     {0} lWMMMWO:.{1}MMMMm{0}'0MMMMMMMMMMMMMMMMMWd
+#     {0} .OMMMMMW0c.{1}MM'{0}oWMMMMMMMMMMMMMMMMMWk.
+#     {0}  cNMMMMMMW0c{1}'{0},KMMMMMMMMMMMMMMMMW0c.
+#     {0}  .kMMMMMMMMW00WMMMMMMMMMMMMMMW0c.
+#     {0}   cNMMMMMMMMMMMMMMMMMMMMMMMW0c.
+#     {0}   .xWMMMMMMMMMMMMMMMMMMMMW0:.
+#     {0}    .';coxOKNWMMMMMMMMMMWO:.
+#     {0}           ..,:ldk0KXWMM:.
+#     {0}               ...';c:
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#     chip: "#000100"
+# CSharp:
+#   type: programming
+#   ascii: |
+#     {0}                 ++++++
+#     {0}              ++++++++++++
+#     {0}          ++++++++++++++++++++
+#     {0}       ++++++++++++++++++++++++++
+#     {0}    ++++++++++++++++++++++++++++++++
+#     {0} +++++++++++++{3}************{0}+++++++++++++
+#     {0}+++++++++++{3}******************{0}++++++++{2};;;
+#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
+#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;{3}**{2};;;{3}**{2};;;
+#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}*********{2}::
+#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;{3}**{2};;;{3}**{2};;;
+#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}*********{2};;
+#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;{3}**{2};;;{3}**{2};;;
+#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+#     {1} :::::::::::::{3}************{1}:::::::::::::
+#     {1}    ::::::::::::::::::::::::::::::::
+#     {1}       ::::::::::::::::::::::::::
+#     {1}          ::::::::::::::::::::
+#     {1}              ::::::::::::
+#     {1}                 ::::::
+#   colors:
+#     ansi:
+#       - blue
+#       - magenta
+#       - magenta
+#       - white
+#     hex:
+#       - "#9B4F97"
+#       - "#67217A"
+#       - "#803788"
+#       - "#FFFFFF"
+#     chip: "#178600"
+#   serialization: c#
+# Css:
+#   type: markup
+#   ascii: |
+#     {1}        ####    ####    ####
+#     {1}       ##  ##  ##      ##
+#     {1}       ##       ####    ####
+#     {1}       ##  ##      ##      ##
+#     {1}        ####    ####    ####
+#     {0}(((((((((((((((((((((((((((((((((((
+#     {0}(((((((((((((((((/////////////(((((
+#     {0}(((((((((((((((((/////////////(((((
+#     {0}(((((((                    ///(((((
+#     {0} ((((((                    ///((((
+#     {0} ((((((((((((((((        /////((((
+#     {0} (((((((((((        //////////((((
+#     {0} (((((((                   ///((((
+#     {0}  ((((((                   ///(((
+#     {0}  (((((((((((((((//////    ///(((
+#     {0}  (((((((    ((((//////    ///(((
+#     {0}  (((((((                  ///(((
+#     {0}   (((((((               /////((
+#     {0}   ((((((((((((((/////////////((
+#     {0}   ((((((((((((((//////(((((((((
+#     {0}          (((((((((((((((
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     chip: "#563D7C"
+# D:
+#   type: programming
+#   ascii: |
+#     {0}                                    DDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDD             DDDDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDDDD            DDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDDDDDD     DDDDD
+#     {0}DDDDDD               DDDDDDD DDDDDDDDD
+#     {0}DDDDDD                DDDDDDDDDDDDDDDDD
+#     {0}DDDDDD                 DDDDDDDDDDDDDDDD
+#     {0}DDDDDD                 DDDDDDDDDDDDDD
+#     {0}DDDDDD                 DDDDDDDDDDD
+#     {0}DDDDDD                 DDDDDDD
+#     {0}DDDDDD                DDDDDDD
+#     {0}DDDDDD               DDDDDDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDDDDDDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDDDDD
+#     {0}DDDDDDDDDDDDDDDDDDDDDD
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#BA595E"
+# Dart:
+#   type: programming
+#   ascii: |
+#     {0}#
+#     {0} ##
+#     {0}  ###
+#     {0}   ######              ###
+#     {0}    #########        #######
+#     {0}      ###########  ######{2}O{0}##{2}========-
+#     {0}       #####################
+#     {0}         ##################
+#     {0}      ###############{1}+++++
+#     {0}###################{1}+++++++
+#     {0}        ##########{1}+++++++
+#     {0}               ##{1}+++++++
+#     {0}               ###{1}+++
+#     {0}               #####
+#     {0}               #######
+#     {0}               #########
+#     {0}                #######
+#     {0}                 #####
+#   colors:
+#     ansi:
+#       - blue
+#       - cyan
+#       - blue
+#     hex:
+#       - "#00A3E7"
+#       - "#42DFCD"
+#       - "#01597D"
+#     chip: "#00B4AB"
+# Dockerfile:
+#   type: programming
+#   ascii: |
+#     {2}                  ##   {0}      .
+#     {2}            ## ## ##   {0}     ==
+#     {2}         ## ## ## ## ##{0}    ===
+#     {0}     /"""""""""""""""""\___/ ===
+#     {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
+#     {0}     \{1}______ o{0}           __/
+#     {1}       \    \ {0}        __/
+#     {1}        \____\{0}_______/
+#   colors:
+#     ansi:
+#       - cyan
+#       - white
+#       - cyan
+#     chip: "#384D54"
+# Elisp:
+#   type: programming
+#   ascii: |
+#     {0}         ':r\iv7i|r:'
+#     {0}      :LFaZZZaaaoooo2t\:
+#     {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
+#     {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
+#     {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
+#     {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
+#     {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
+#     {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
+#     {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
+#     {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
+#     {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
+#     {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
+#     {0}   `;c]]][uaXUKO$wo]]]]L:`
+#     {0}     `,>i1tt[[]]]]ti>,`
+#     {0}        `.~;^>??>^;,-`
+#   colors:
+#     ansi:
+#       - magenta
+#       - white
+#     chip: "#C065DB"
+#   serialization: emacs-lisp
+# Elixir:
+#   type: programming
+#   ascii: |
+#     {0}            x
+#     {0}           WNX
+#     {0}          Odc:xN
+#     {0}        0ddko,oX
+#     {0}       kokNWOllOW
+#     {0}     KdoKWMMNKxl0W
+#     {0}    0odXMMMMMMNxoON
+#     {0}   0lxNMMMMMMMMW0dd0N
+#     {0}  0oxNMMMMMMMMMMMNOodKW
+#     {0}  odXMMMMMMMMMMMMMMXxokN
+#     {0} xl0MMMMMMMMMMMMMMMMW0odX
+#     {0}xoxWMMMMMMMMMMMMMMMMMMKodN
+#     {0}0lOMMMMMMMMMMMMMMMMMMMWOlO
+#     {0}OlOMWKXMMMMMMMMMMMMMMMMKlxW
+#     {0}KlxWXodNMMMMMMMMMMMMMMM0lkW
+#     {0}xxoKWOlkNMMMMMMMMMMMMMWkl0
+#     {0} XooKN0ddkKNWWWMMMMMMWOlkW
+#     {0}  XxokXN0kxxkkKMMMMN0doON
+#     {0}   WKxdxk0KKKKXK0OxddkXW
+#     {0}     WNKOxxxxxxxxkOXW
+#     {0}         WWWWWWW
+#   colors:
+#     ansi:
+#       - magenta
+#     chip: "#6E4A7E"
+# Elm:
+#   type: programming
+#   ascii: |
+#     {0}   {1}ElmElmElmElm   {3}ElmElmElmElmElm
+#     {0}El   {1}mElmElmElmEl   {3}mElmElmElmElm
+#     {0}Elm   {1}ElmElmElmElmE   {3}lmElmElmElm
+#     {0}ElmEl   {1}mElmElmElmElm   {3}ElmElmElm
+#     {0}ElmElmE                   {3}mElmElm
+#     {0}ElmElmElm   {2}ElmElmElmEl     {3}lmElm
+#     {0}ElmElmElmEl   {2}mElmElm   {1}Elm   {3}Elm
+#     {0}ElmElmElmElmE   {2}lmE   {1}lmElmEl   {3}m
+#     {0}ElmElmElmElmElm     {1}mElmElmElmE
+#     {0}ElmElmElmElmElmE    {1}mElmElmElm
+#     {0}ElmElmElmElmEl   {3}mE   {1}lmElmE   {2}lm
+#     {0}ElmElmElmElm   {3}ElmElm   {1}El   {2}mElm
+#     {0}ElmElmElmE   {3}lmElmElmEl    {2}ElmElm
+#     {0}ElmElmEl   {3}mElmElmElmElmE   {2}lmElm
+#     {0}ElmElm   {3}ElmElmElmElmElmElm   {2}Elm
+#     {0}ElmE   {3}lmElmElmElmElmElmElmEl   {2}m
+#     {0}El   {3}mElmElmElmElmElmElmElmElmE
+#     {0}   {3}ElmElmElmElmElmElmElmElmElmElm
+#   colors:
+#     ansi:
+#       - blue
+#       - green
+#       - yellow
+#       - cyan
+#     chip: "#60B5CC"
+# Emojicode:
+#   type: programming
+#   ascii: |
+#     {0}~~
+#     {0} ~~
+#     {0}  ~~
+#     {0}   ~~{2}           ''''''''
+#     {0}    ~~~{2}       ''''''''''''
+#     {0}     {1}````````{2}''''''''''''''
+#     {1}    `````````{2}''''''''''''''
+#     {1}   `````````{2}'''''''''''''{3}~~~~~~~-
+#     {1}   `````````{2}'''''''''''{3}~~~~~~~~~~~
+#     {1}   ``````````{2}''{1}````````{3}~~~~~~~~~~~~
+#     {1}   ``````````````````````{3}~~~~~~~~~~~
+#     {1}   ```````````````````````{3}~~~~~~~~~~
+#     {1}    ``{3}~~~~~{1}```````````````{3}~~~~~~~~~~
+#     {3}   -~~~~~~~{1}```````````````{3}~~~~~~~~~
+#     {3}  ~~~~~~~~~{1}```````````````````````
+#     {3}  ~~~~~~~~~~{1}````````````````````````
+#     {3} ~~~~~~~~~~~~{1}`````````````````````````
+#     {3}  ~~~~~~~~~~~~~~{1}``````{2}````````````````
+#     {3}  ~~~~~~~~~~~~~~{2}'''''''{1}```````````````
+#     {3}   ~~~~~~~~~~~~{2}''''''''{1}```````````````
+#     {3}     ~~~~~~~~{2}'''''''''''{1}``````````````
+#     {2}              {2}'''''''''''{1}````````````
+#     {2}                {2}''''''''   {1}````````
+#   colors:
+#     ansi:
+#       - green
+#       - magenta
+#       - magenta
+#       - magenta
+#     hex:
+#       - "#77B255"
+#       - "#9266CC"
+#       - "#AA8DD8"
+#       - "#744EAA"
+#     chip: "#60B5CC"
+# Erlang:
+#   type: programming
+#   ascii: |
+#     {0}   EEEEEEEEEEEEE      EEEEEEEEEEEE
+#     {0}  EEEEEEEEEEEE         EEEEEEEEEEEE
+#     {0} EEEEEEEEEEEE           EEEEEEEEEEE
+#     {0} EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+#     {0}EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+#     {0}EEEEEEEEEEEEE
+#     {0}EEEEEEEEEEEEE
+#     {0}EEEEEEEEEEEEE
+#     {0} EEEEEEEEEEEEE                 E
+#     {0} EEEEEEEEEEEEE                EEEEE
+#     {0}  EEEEEEEEEEEEE             EEEEEEEEE
+#     {0}   EEEEEEEEEEEEEE         EEEEEEEEEE
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#B83998"
+# Fish:
+#   type: programming
+#   ascii: |
+#     {0}                 ___
+#     {0}  ___======____=-{1}-{0}-=)
+#     {0}/T            \_{1}--={0}==)
+#     {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
+#     {0} \      / )J~~    \{1}-={0})
+#     {0}  \\___/  )JJ~{1}~~{0}   \)
+#     {0}   \_____/JJJ~~{1}~~{0}    \
+#     {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
+#     {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
+#     {0}  (\\)  ({1}\{0}\\)_           {1}\==__
+#     {0}   \V    \\\) ===_____   {1}\\\\{0}\\
+#     {0}          \V)     \_) \\{1}\\JJ\{0}J\)
+#     {0}                      /J{1}\J{0}T\JJJJ)
+#     {0}                      (JJJ| \UUU)
+#     {0}                       (UU)
+#   colors:
+#     ansi:
+#       - red
+#       - yellow
+#     chip: "#4AAE47"
+# Forth:
+#   type: programming
+#   ascii: |
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::         :::::::
+#     {0}::::::::::::::::::::::::::     :::::::::
+#     {0}::::::::::::::::::::::::     :::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#341708"
+# FortranLegacy:
+#   type: programming
+#   ascii: |
+#     {4}    _ {1}__ __
+#     {4}  _|_ {1} /  /
+#     {0}  o{4}|{1}  /  /
+#     {0}      /\
+#     {0}     /  \
+#     {0}    |    |
+#     {0}    |{2}NASA{0}|
+#     {0}    |    |
+#     {0}    |    |
+#     {0}    |    |
+#     {0}   '      '
+#     {0}   |      |
+#     {0}   |      |
+#     {0}   |______|
+#     {3}   /-`'-`.\
+#     {3}  ; / . \'\.
+#     {3} '/''( .'\.''
+#     {3}'.'.;.;' ;'.;'
+#   colors:
+#     ansi:
+#       - white
+#       - green
+#       - cyan
+#       - yellow
+#       - red
+#     chip: "#4D41B1"
+#   serialization: fortran
+# FortranModern:
+#   type: programming
+#   ascii: |
+#     {4}    _{1} _  _
+#     {4}  _|_{1}(_|/ \
+#     {0}  o{4}| {1} _|\_/
+#     {0}      /\
+#     {0}     /  \
+#     {0}    |    |
+#     {0}    |{2}NASA{0}|
+#     {0}    |    |
+#     {0}    |    |
+#     {0}    |    |
+#     {0}   '      '
+#     {0}   |      |
+#     {0}   |      |
+#     {0}   |______|
+#     {3}   /-`'-`.\
+#     {3}  ; / . \'\.
+#     {3} '/''( .'\.''
+#     {3}'.'.;.;' ;'.;'
+#   colors:
+#     ansi:
+#       - white
+#       - green
+#       - cyan
+#       - yellow
+#       - red
+#     chip: "#4D41B1"
+# FSharp:
+#   type: programming
+#   ascii: |
+#     {0}                 /  {1}((
+#     {0}               ///  {1}((((
+#     {0}             /////  {1}((((((
+#     {0}           ///////  {1}((((((((
+#     {0}         /////////  {1}((((((((((
+#     {0}       //////////   {1}  ((((((((((
+#     {0}     //////////  /  {1}    ((((((((((
+#     {0}   //////////  ///  {1}      ((((((((((
+#     {0} //////////  /////  {1}        ((((((((((
+#     {0}/////////   //////  {1}         ((((((((((
+#     {0}  /////////   ////  {1}       ((((((((((
+#     {0}    /////////   //  {1}     ((((((((((
+#     {0}      /////////     {1}   ((((((((((
+#     {0}        /////////   {1} ((((((((((
+#     {0}          ////////  {1}(((((((((
+#     {0}            //////  {1}(((((((
+#     {0}              ////  {1}(((((
+#     {0}                //  {1}(((
+#   colors:
+#     ansi:
+#       - cyan
+#       - cyan
+#     chip: "#B845FC"
+#   serialization: f#
+# GdScript:
+#   type: programming
+#   ascii: |
+#     {0}         _.aMb      dMe._
+#     {0}        'H8888b,  ,d8888H'
+#     {0}   .   .:88888d8888888888:.   .
+#     {0} .d8b.dM888888888888888888Mb.d8b.
+#     {0}d88888888888888888888888888888888b
+#     {0}'V888888888888888888888888888888V'
+#     {0} 88888888888888888888888888888888
+#     {0} 8888P' {1}__{0} "V88888888V" {1}__{0} 'V8888
+#     {0} 8888" {1}dMMb {0}'888{1}''{0}888' {1}d88b {0}"8888
+#     {0} 8888b {1}:HH: {0}/888{1}  {0}888\ {1}:HH: {0}d8888
+#     {0} 8888be._.ad8888{1}..{0}8888be._.ad8888
+#     {0} WW8888888888888888888888888888WW
+#     {0} {1}#######{0}YW88/{1}########{0}\88WY{1}#######
+#     {0} MWbzxe{1}##{0}8MW;{1}##{0}8888{1}##{0};8MW{1}##{0}aezdWM
+#     {0} 'Y8888b.{1}#####{0}/8888\{1}#####{0}.d8888Y'
+#     {0}  "V8888888888888888888888888V"
+#     {0}   '^YV8888888888888888888VP^'
+#     {0}      '"^^VY888888888VY^^'
+#   colors:
+#     ansi:
+#       - cyan
+#       - white
+#     hex:
+#       - "#458DC0"
+#       - "#FFFFFF"
+#     chip: "#355570"
+# Glsl:
+#   type: programming
+#   ascii: |
+#     {0}         ,,@@@@@@@@@@@@@@@@@..
+#     {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
+#     {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
+#     {0}   ,@@@@@@@@'              `@@@@@@@.
+#     {0} ,@@@@@@@@'                    `@@@@.
+#     {0},@@@@@@@'                         `@@.
+#     {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
+#     {0}@@@@@@  {1}/:::::||:|      /:::::||:|
+#     {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
+#     {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
+#     {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
+#     {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
+#     {0}@@@@@@@.                            ,@
+#     {0}`@@@@@@@.                         ,@@'
+#     {0} `@@@@@@@@.                    ,@@@@'
+#     {0}   `@@@@@@@@.              ,@@@@@@@'
+#     {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
+#     {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
+#     {0}         ``@@@@@@@@@@@@@@@@@''
+#   colors:
+#     ansi:
+#       - blue
+#       - magenta
+#     hex:
+#       - "#5487a6"
+#       - "#bc258e"
+#     chip: "#5686a5"
+# Go:
+#   type: programming
+#   ascii: |
+#     {0}           --==============--
+#     {0}  .-==-.===oooo=oooooo=ooooo===--===-
+#     {0} .==  =o={1}oGGGGGG{0}o=oo=o{1}GGGGGGG{0}G=o=  oo-
+#     {0} -o= oo={1}G .=GGGGG{0}o=o={1}= .=GGGGG{0}=ooo o=-
+#     {0}  .-=oo={1}o==oGGGGG{0}=oo={1}oooGGGGGo{0}=oooo.
+#     {0}   -ooooo{1}=oooooo{0}={2}.   .{0}={1}=ooo=={0}oooooo-
+#     {0}   -ooooooooooo{2}====_===={0}ooooooooooo=
+#     {0}   -oooooooooooo{2}=={1}#{0}.{1}#{2}=={0}ooooooooooooo
+#     {0}   -ooooooooooooo={1}#{0}.{1}#{0}=oooooooooooooo
+#     {0}   .oooooooooooooooooooooooooooooooo.
+#     {0}    oooooooooooooooooooooooooooooooo.
+#     {2}  ..{0}oooooooooooooooooooooooooooooooo{2}..
+#     {2}-=o-{0}=ooooooooooooooooooooooooooooooo{2}-oo.
+#     {2}.=- {0}oooooooooooooooooooooooooooooooo{2}-.-
+#     {0}   .oooooooooooooooooooooooooooooooo-
+#     {0}   -oooooooooooooooooooooooooooooooo-
+#     {0}   -oooooooooooooooooooooooooooooooo-
+#     {0}   -oooooooooooooooooooooooooooooooo-
+#     {0}   .oooooooooooooooooooooooooooooooo
+#     {0}    =oooooooooooooooooooooooooooooo-
+#     {0}    .=oooooooooooooooooooooooooooo-
+#     {0}      -=oooooooooooooooooooooooo=.
+#     {2}     =oo{0}====oooooooooooooooo==-{2}oo=-
+#     {2}    .-==-    {0}.--=======---     {2}.==-
+#   colors:
+#     ansi:
+#       - cyan
+#       - white
+#       - yellow
+#     hex:
+#       - "#74CDDD"
+#       - "#FFFFFF"
+#       - "#F6D2A2"
+#     chip: "#00ADD8"
+# Graphql:
+#   type: data
+#   ascii: |
+#     {0}                 {}{}{}
+#     {0}                {}{}{}{}
+#     {0}                {}{}{}{}
+#     {0}            {}   {}{}{}   {}
+#     {0} {}{}{}  {}    {}      {}    {}  {}{}{}
+#     {0}{}{}{}{}      {}        {}      {}{}{}{}
+#     {0}{}{}{}{}     {}          {}     {}{}{}{}
+#     {0} {}{}{}     {}            {}     {}{}{}
+#     {0}   {}      {}              {}      {}
+#     {0}   {}     {}                {}     {}
+#     {0}   {}    {}                  {}    {}
+#     {0}   {}   {}                    {}   {}
+#     {0}   {}  {}                      {}  {}
+#     {0} {}{}{}                          {}{}{}
+#     {0}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
+#     {0}{}{}{}{}                        {}{}{}{}
+#     {0} {}{}{}  {}                  {}  {}{}{}
+#     {0}            {}   {}{}{}   {}
+#     {0}                {}{}{}{}
+#     {0}                {}{}{}{}
+#     {0}                 {}{}{}
+#   colors:
+#     ansi:
+#       - magenta
+#     chip: "#E10098"
+# Groovy:
+#   type: programming
+#   ascii: |
+#     {0}                   *
+#     {0}                  ***
+#     {0}                 *****
+#     {0}                *******
+#     {0}               *********
+#     {0}              ***********
+#     {0}             *************
+#     {0}*****************{1}@@@@@{0}*****************
+#     {0}  *************{1}@{0}******{1}@{0}**************
+#     {0}   ***********{1}@{0}**{1}@@{0}***{1}@{0}*************
+#     {0}    *********{1}@{0}***{1}@@{0}**{1}@{0}**{1}@{0}**********
+#     {0}      *******{1}@{0}****{1}@@{0}***{1}@@@{0}*******
+#     {0}       *******{1}@{0}******{1}@@{0}**{1}@@{0}*****
+#     {0}        *******{1}@@@@@@{0}**{1}@@@@{0}****
+#     {0}         ************{1}@@@@@@{0}***
+#     {0}         ******{1}@@@@@@@@@@@{0}****
+#     {0}        ********{1}@@@@@@@@{0}*******
+#     {0}       **********{1}@@{0}*************
+#     {0}      ***************************
+#     {0}     ***********       ***********
+#     {0}    *********             *********
+#     {0}   *****                       *****
+#     {0}  *                                 *
+#   colors:
+#     ansi:
+#       - cyan
+#       - white
+#     chip: "#4298B8"
+# Haskell:
+#   type: programming
+#   ascii: |
+#     {0}yyyyyy{1} xxxxxx
+#     {0} yyyyyy{1} xxxxxx
+#     {0}  yyyyyy{1} xxxxxx
+#     {0}   yyyyyy{1} xxxxxx
+#     {0}    yyyyyy{1} xxxxxx{2} yyyyyyyyyy
+#     {0}     yyyyyy{1} xxxxxx{2} yyyyyyyyy
+#     {0}      yyyyyy{1} xxxxxx
+#     {0}     yyyyyy{1} xxxxxxxx{2} yyyyyyy
+#     {0}    yyyyyy{1} xxxxxxxxxx{2} yyyyyy
+#     {0}   yyyyyy{1} xxxxxxxxxxxx
+#     {0}  yyyyyy{1} xxxxxx  xxxxxx
+#     {0} yyyyyy{1} xxxxxx    xxxxxx
+#     {0}yyyyyy{1} xxxxxx      xxxxxx
+#   colors:
+#     ansi:
+#       - cyan
+#       - magenta
+#       - blue
+#     hex:
+#       - "#453A62"
+#       - "#5E5086"
+#       - "#8F4E8B"
+#     chip: "#5E5086"
+# Haxe:
+#   type: programming
+#   ascii: |
+#     {0}#############              {2}@@@@@@@@@@@@@
+#     {0}#################      {2}@@@@@@@@@@@@@@@@@
+#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+#     {0}#################      {2}@@@@@@@@@@@@@@@@@
+#     {0}#############              {2}@@@@@@@@@@@@@
+#   colors:
+#     ansi:
+#       - yellow
+#       - yellow
+#       - yellow
+#     hex:
+#       - "#FAB20B"
+#       - "#F69912"
+#       - "#F47216"
+#     chip: "#DF7900"
+# Hcl:
+#   type: programming
+#   ascii: |
+#     {0}::
+#     {0}::::
+#     {0}::::::
+#     {0}::::::::
+#     {0}::::::::::
+#     {0}:::::::::: ::        {1}         ..
+#     {0}  :::::::: ::::      {1}       ....
+#     {0}    :::::: ::::::    {1}     ......
+#     {0}      :::: ::::::::  {1}   ........
+#     {0}        :: ::::::::::{1} ..........
+#     {0}           ::::::::::{1} ..........
+#     {0}             ::::::::{1} ........
+#     {0}           ::  ::::::{1} ......
+#     {0}           ::::  ::::{1} ....
+#     {0}           ::::::  ::{1} ..
+#     {0}           ::::::::
+#     {0}           ::::::::::
+#     {0}           ::::::::::
+#     {0}             ::::::::
+#     {0}               ::::::
+#     {0}                 ::::
+#     {0}                   ::
+#   colors:
+#     ansi:
+#       - magenta
+#       - magenta
+#     hex:
+#       - "#5F43E9"
+#       - "#4040B2"
+#     chip: "#AACE60"
+# Hlsl:
+#   type: programming
+#   ascii: |
+#     {0}████████████████  {1}████████████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████      █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████      █████
+#     {0}████████████████  {1}████████████████
 
-    {2}████████████████  {3}████████████████
-    {2}█████      █████  {3}█████  █████████
-    {2}█████  █████████  {3}█████  █████████
-    {2}█████      █████  {3}█████  █████████
-    {2}█████████  █████  {3}█████  █████████
-    {2}█████      █████  {3}█████      █████
-    {2}████████████████  {3}████████████████
-  colors:
-    ansi:
-      - red
-      - green
-      - blue
-      - yellow
-    hex:
-      - "#F65314"
-      - "#7CBB00"
-      - "#00A1F1"
-      - "#FFBB00"
-    chip: "#AACE60"
-HolyC:
-  type: programming
-  ascii: |
-    {0}             ========
-    {0}         ====        ====
-    {0}      ====              ====
-    {0}    ===                   ===
-    {0}   ===                     ===
-    {0}  ==           {1}***           {0}==
-    {0}  ==        {1}*********        {0}==
-    {0}   =    {1}*****************    {0}=
-    {1}    ********{0}*********{1}********
-    {1} ********{0}**{2}***********{0}**{1}********
-    {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
-    {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
-    {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
-    {1}*****{0}*{2}****{0}*{1}**********************
-    {1}*****{0}*{2}****{0}*{1}**********************
-    {1}*****{0}*{2}****{0}*{1}**********************
-    {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
-    {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
-    {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
-    {1} ********{0}**{2}***********{0}**{1}********
-    {1}     *******{0}*********{1}*******
-    {1}        *****************
-    {1}            *********
-    {1}               ***
-  colors:
-    ansi:
-      - yellow
-      - cyan
-      - white
-    hex:
-      - "#FBFE67"
-      - "#0B449D"
-      - "#FFFFFF"
-    chip: "#FFEFAF"
-Html:
-  type: markup
-  ascii: |
-    {1}  ##  ##  ######  ##   ##  ##
-    {1}  ##  ##    ##    ### ###  ##
-    {1}  ######    ##    ## # ##  ##
-    {1}  ##  ##    ##    ##   ##  ##
-    {1}  ##  ##    ##    ##   ##  ######
-    {0}(((((((((((((((((((((((((((((((((((
-    {0}(((((((((((((((((/////////////(((((
-    {0}(((((((((((((((((/////////////(((((
-    {0}(((((((                     //(((((
-    {0} ((((((                     //((((
-    {0} ((((((    ((((((/////////////((((
-    {0} ((((((     (((((/////////////((((
-    {0} ((((((                    ///((((
-    {0}  (((((                    ///(((
-    {0}  (((((((((((((((//////    ///(((
-    {0}  ((((((    (((((/////     ///(((
-    {0}  ((((((                   ///(((
-    {0}   (((((((               /////((
-    {0}   ((((((((((((((/////////////((
-    {0}   ((((((((((((((//////(((((((((
-    {0}          (((((((((((((((
-  colors:
-    ansi:
-      - red
-      - white
-    chip: "#E34C26"
-Idris:
-  type: programming
-  ascii: |
-    {0}       %
-    {0}          %
-    {0}   %&&&     %%
-    {0}        %%    %&
-    {0}&%%%&     %    %%
-    {0}     %%        %%
-    {0}       %       %%
-    {0} %%%          %%&
-    {0}   %%       %%%
-    {0}    %     &%%%
-    {0}         %%%&
-    {0}       &%%%
-    {0}      %%%%
-    {0}      %%%
-    {0}     %%%
-    {0}     %%%
-    {0}     &%%
-    {0}      %%%
-  colors:
-    ansi:
-      - red
-    chip: "#B30000"
-Java:
-  type: programming
-  ascii: |
-    {0}                  |
-    {0}                 ||
-    {0}               |||
-    {0}             ||||    ||
-    {0}           ||||| ||||
-    {0}          ||||  |||
-    {0}         ||||  |||
-    {0}         |||    |||
-    {0}          |||    |||
-    {0}            ||    ||
-    {0}              |   |
-    {1}   ####               #    ##
-    {1}    ################       ##
-    {1}       #                   ##
-    {1}      ################   ###
-    {1}
-    {1}       ##############
-    {1}####      #######          #
-    {1}#####                   ####
-    {1}   #####################      #
-    {1}                          ###
-    {1}          ###############
-  colors:
-    ansi:
-      - red
-      - blue
-    hex:
-      - "#F44336"
-      - "#1665C0"
-    chip: "#B07219"
-JavaScript:
-  type: programming
-  ascii: |
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJ    SJSJS      JSJSJS
-    {0}JSJSJSJSJSJSJSJSJ    SJS          JSJS
-    {0}JSJSJSJSJSJSJSJSJ    SJS     JSJSJSJSJ
-    {0}JSJSJSJSJSJSJSJSJ    SJSJ     SJSJSJSJ
-    {0}JSJSJSJSJSJSJSJSJ    SJSJSJ     SJSJSJ
-    {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJ     JSJS
-    {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJS     JSJ
-    {0}JSJSJSJSJS     JS    JSJS          JSJ
-    {0}JSJSJSJSJSJ          SJSJSJ      SJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-  colors:
-    ansi:
-      - yellow
-    hex:
-      - "#ECE653"
-    chip: "#F1E05A"
-Json:
-  type: data
-  ascii: |
-    {0}           `:+osyyyso+/:`
-    {0}        :smNNNmmmddddhhhmds:
-    {0}     .oNNNNNmmmddddhhhyyyym{1}MNs.
-    {0}    oNNNNNmmmddddhhhyyyysssh{1}MMMs`
-    {0}  .dNNNNmmmddmmmdyyyyysssoooh{1}MMMm.
-    {0} `mNNNmmmmm{1}NMMMy-{0}  .+ssoooo++N{1}MMMN.
-    {0} yNNmmmdm{1}MMMMN-  {0}    .ooo+++/d{1}MMMMd
-    {0}-Nmmmddm{1}MMMMM:   {0}     .+++///y{1}MMMMM-
-    {0}+mmdddd{1}MMMMMm    {0}      /////:y{1}MMMMM+
-    {0}+ddddhd{1}MMMMMm    {0}      ///:::m{1}MMMMM+
-    {0}-ddhhhd{1}MMMMMM-   {0}     `/::::y{1}MMMMMM-
-    {0} shhyyh{1}MMMMMMm-  {0}    `:::::h{1}MMMMMMh
-    {0} .yyyyyN{1}MMMMMMMs.{0}  `-:::/y{1}NMMMMMMm`
-    {0}  .osssh{1}MMMMMMMMMmhyyydNMMMMMMMMd.
-    {0}    :oood{1}MMMMMMMMMMMMMMMMMMMMMNo
-    {0}     `:++yN{1}MMMMMMMMMMMMMMMMMNs.
-    {0}        .-/ym{1}MMMMMMMMMMMMmy:
-    {0}            `-/oyhhhys+:`
-  colors:
-    ansi:
-      - white
-      - black
-    chip: "#292929"
-Jsonnet:
-  type: programming
-  ascii: |
-    {0}        .       .
-    {0}       /{1}:{0}\     /{1}:{0}\
-    {0}      /{1}:::{0}\   /{1}:::{0}\
-    {0}     /{1}:::::{0}\ /{1}:::::{0}\
-    {0}   /|\{1}:::::{0}/|\{1}:::::{0}/|
-    {0}  /{1}:{0}|#\{1}:::{0}/{1}.{0}|#\{1}:::{0}/{1}.{0}|
-    {0} /{1}::{0}|##\{1}:{0}/{1}..{0}|##\{1}:{0}/{1}..{0}|
-    {0}|\{1}::{0}|###|{1}...{0}|###|{1}...{0}|
-    {0}|#\{1}:{0}|###|{1}...{0}|###|{1}...{0}|
-    {0}|##\|###|{1}...{0}|###|{1}...{0}|
-    {0}|#######|{1}..{0}/{1}:{0}\##|{1}..{0}/
-    {0}|#######|{1}.{0}/{1}:::{0}\#|{1}.{0}/
-    {0}|#######|/{1}:::::{0}\|/
-    {0} \#######\{1}:::::{0}/|\
-    {0}  \#######\{1}:::{0}/{1}.{0}|{1}:{0}\
-    {0}   \#######\{1}:{0}/{1}..{0}|{1}::{0}\
-    {0}    |#######|{1}...{0}|{1}::{0}/|
-    {0}    |#######|{1}...{0}|{1}:{0}/{1}.{0}|
-    {0}    |#######|{1}...{0}|/{1}..{0}|
-    {0}    |###|\##|{1}..{0}/|{1}...{0}|
-    {0}    |###|{1}.{0}\#|{1}.{0}/#|{1}...{0}|
-    {0}    |###|{1}..{0}\|/##|{1}...{0}|
-    {0}     \##|{1}..{0}/ \##|{1}..{0}/
-    {0}      \#|{1}.{0}/   \#|{1}.{0}/
-    {0}       \|/     \|/
-  colors:
-    ansi:
-      - white
-      - black
-    chip: "#0064BD"
-Jsx:
-  type: programming
-  ascii: |
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSXJSX
-    {0}JSXJSXJ   SXJS      XJSXJS{1}X{2}JSX{1}JSX{2}JSX{1}JSX
-    {0}JSXJSXJ   SXJ   SXJSXJSXJ{1}SXJ{2}SXJ{1}S{2}XJS{1}XJSX
-    {0}JSXJSXJ   SXJS   XJSXJSX{1}JSXJSX{2}JSX{1}JSXJSX
-    {0}JSXJSXJ   SXJSX   JSXJS{1}XJSXJS{2}XJSXJ{1}SXJSX
-    {0}JS   XJ   SXJSXJ   SXJ{1}SXJSXJ{2}SXJ{1}S{2}XJS{1}XJSX
-    {0}JSX       JS      XJS{1}XJSXJS{2}XJS{1}XJS{2}XJS{1}XJS
-    {0}JSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSXJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSXJSXJSXJSX
-  colors:
-    ansi:
-      - yellow
-      - magenta
-      - white
-    hex:
-      - "#ECE653"
-      - "#B684D3"
-      - "#FFFFFF"
-    chip: "#F1E05A"
-Julia:
-  type: programming
-  ascii: |
-    {0}               {2}_
-    {0}   {1}_       {0}_ {3}_{2}(_){4}_
-    {0}  {1}(_)     {0}| {3}(_) {4}(_)
-    {0}   _ _   _| |_  __ _
-    {0}  | | | | | | |/ _` |
-    {0}  | | |_| | | | (_| |
-    {0} _/ |\__'_|_|_|\__'_|
-    {0}|__/
-  colors:
-    ansi:
-      - white
-      - blue
-      - green
-      - red
-      - magenta
-    chip: "#A270BA"
-Jupyter:
-  type: programming
-  ascii: |
-    {0}                                 +%%%+
-    {0}                                $$$$$$$
-    {0}  +%+                           $$$$$$$
-    {0} $$$$$           {1}******          {0}*%%%*
-    {0}  *%*       {1}****************
-    {1}        ************************
-    {1}     ********              ********
-    {1}   ***                            ***
-    {1}  *                       {0}_          {1}*
-    {0}  _  _   _  _ __   _   _ | |_  ___  _ _
-    {0} | || | | || '_ \ | | | || __|/ _ \| '_|
-    {0} | || |_| || |_) || |_| || |_ | __/| |
-    {0} | | \__,_|| .__/  \__, | \__|\___||_|
-    {0}/_/        |_|     |___/
-    {1}  *                                  *
-    {1}   ***                            ***
-    {1}     ********              ********
-    {1}        ************************
-    {1}            ****************
-    {0}    +%%%+        {1}******
-    {0}   $$$$$$$
-    {0}   $$$$$$$
-    {0}    *%%%*
-  colors:
-    ansi:
-      - white
-      - yellow
-      - white
-    hex:
-      - "#FFFFFF"
-      - "#FF700F"
-      - "#9E9E9E"
-    chip: "#DA5B0B"
-  serialization: jupyter-notebooks
-Kotlin:
-  type: programming
-  ascii: |
-    {0}KOTLIN{2}KOTLINKOTLINKO{1}TLINKOTLINKOTLINKOTL
-    {0}KOTLINKO{2}TLINKOTLIN{1}KOTLINKOTLINKOTLINKO
-    {0}KOTLINKOTL{2}INKOTL{1}INKOTLINKOTLINKOTLIN
-    {0}KOTLINKOTLIN{2}KO{1}TLINKOTLINKOTLINKOTL
-    {0}KOTLINKOTLIN{1}KOTLINKOTLINKOTLINKO
-    {0}KOTLINKOTL{1}INKOTLINKOTLINKOTLIN
-    {0}KOTLINKO{1}TLINKOTLINKOTLINKOTL
-    {0}KOTLIN{1}KOTLINKOTLINKOTLINKO
-    {0}KOTL{1}INKOTLINKOTLINKOTLIN
-    {0}KO{1}TLINKOTLINKOTLINKOTL
-    {1}KOTLINKOTLINKOTLINKO{2}TL
-    {2}KO{1}TLINKOTLINKOTLIN{2}KOTLIN
-    {2}KOTL{1}INKOTLINKOTL{2}INKOTLINKO
-    {2}KOTLIN{1}KOTLINKO{2}TLINKOTLINKOTL
-    {2}KOTLINKO{1}TLIN{0}K{2}OTLINKOTLINKOTLIN
-    {2}KOTLINKOTL{0}INKOT{2}LINKOTLINKOTLINKO
-    {2}KOTLINKO{0}TLINKOTLI{2}NKOTLINKOTLINKOTL
-    {2}KOTLIN{0}KOTLINKOTLINK{2}OTLINKOTLINKOTLIN
-    {2}KOTL{0}INKOTLINKOTLINKOT{2}LINKOTLINKOTLINKO
-    {2}KO{0}TLINKOTLINKOTLINKOTLI{2}NKOTLINKOTLINKOTL
-  colors:
-    ansi:
-      - blue
-      - yellow
-      - magenta
-    chip: "#A97BFF"
-Lisp:
-  type: programming
-  ascii: |
-    {0}              ............
-    {0}         ********..............
-    {0}       *************.............
-    {0}     ****************..............
-    {0}   *******************...***.........
-    {0}  **...********...*****...***.........
-    {0} ***...*******...******....***.........
-    {0}****...******...*******....****.........
-    {0}*****...****...*******.....*****........
-    {0}******...**...******.......******.......
-    {0}*******......******.......***..***......
-    {0}********.....*****.......***....***.....
-    {0}*********....****.......***......***....
-    {0} *********...****......***.......***...
-    {0}  *********...***.....***........***..
-    {0}   *********...***...................
-    {0}     **************................
-    {0}       *************.............
-    {0}         **************........
-    {0}              ************
-  colors:
-    ansi:
-      - white
-    chip: "#3FB68B"
-LLVM:
-  type: programming
-  ascii: |
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKK"              "KKKKKKKK
-    {0}KKKKKKK     KKKKKKKKKK     "KKKKK
-    {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
-    {0}KKKK     KKKKKKKKKKKKKKKKK
-    {0}KKKK      KKKKKKKKKKKKKKKKK
-    {0}KKKK        KKKKKKKKKKKKKKKK
-    {0}KKKK           KKKKKKKKKKKKKK
-    {0}KKKK            KKKKKKKKKKKKK
-    {0}KKKK            ,KKKKKKKKKKKK
-    {0}KKKKKK,    ,     KKKKKKKKKKKK
-    {0}KKKKKKKK   KK,    `KKKKKKKKKK
-    {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
-    {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
-    {0} `KKKKKKKKKKKKKKKKKKKKKKK`
-    {0}   `KKKKKKKKKKKKKKKKKKK`
-    {0}      `KKKKKKKKKKKKKK`
-  colors:
-    ansi:
-      - red
-    hex:
-      - "#98012E"
-    chip: "#185619"
-Lua:
-  type: programming
-  ascii: |
-    {1}                 -- --
-    {1}         --                 --{0} @@@@
-    {1}      --      {0}@@@@@@@@@@@     @@@@@@
-    {0}           @@@@@@@@@@@@@@@@@   @@@@
-    {1}  --     {0}@@@@@@@@@@@@@@{2}****{0}@@@     {1}--
-    {1} --    {0}@@@@@@@@@@@@@@@{2}******{0}@@@@    {1}--
-    {0}      @@@@@@@@@@@@@@@@@{2}****{0}@@@@@@
-    {1}--   {0}@@@{2}**{0}@@@@@@@@@@@@@@@@@@@@@@@@   {1}--
-    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@{2}******{0}@@@@   {1}--
-    {0}     @@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}**{0}@@@{2}**{0}@@@@
-    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@@{2}*****{0}@@@@   {1}--
-    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}***{0}@@{2}**{0}@@@@   {1}--
-    {0}      @@{2}*******{0}@{2}******{0}@{2}********{0}@@
-    {1} --    {0}@@@@@@@@@@@@@@@@@@@@@@@@@    {1}--
-    {1}  --     {0}@@@@@@@@@@@@@@@@@@@@@     {1}--
-    {0}           @@@@@@@@@@@@@@@@@
-    {1}      --      {0}@@@@@@@@@@@      {1}--
-    {1}         --                 --
-    {1}                 -- --
-  colors:
-    ansi:
-      - blue
-      - white
-      - white
-    hex:
-      - "#2E007F"
-      - "#808080"
-      - "#FFFFFF"
-    chip: "#000080"
-Makefile:
-  type: programming
-  ascii: |
-    {0}    _-`````-,           ,- '- .
-    {0}  .'   .- - |          | - -.  `.
-    {0} /.'  /                     `.   \
-    {0}:/   :      {1}_...   ..._      {0}``   :
-    {0}::   :     {1}/._ .`:'_.._\.    {0}||   :
-    {0}::    `._ {1}./  ,`  :    \{0} . _.''   .
-    {0}`:.      {1}/   |  -.  \-. \\_{0}      /
-    {0}  \:._ {1}_/  .'   .{2}@{1})  \{2}@{1}) ` `\{0} ,.'
-    {1}    {0}'{1}_/,--'       .- .\,-.`--`.
-    {1}       ,'/''     (( \ `  )
-    {1}        /'/'  \    `-'  (
-    {1}         '/''  `._,-----'
-    {1}          ''/'    .,---'
-    {1}           ''/'      ;:
-    {1}             ''/''  ''/
-    {1}               ''/''/''
-    {1}                 '/'/'
-    {1}                  `;
-  colors:
-    ansi:
-      - white
-      - yellow
-      - red
-    hex:
-      - "#FFFFFF"
-      - "#FAEC9A"
-      - "#610000"
-    chip: "#427819"
-Markdown:
-  type: prose
-  ascii: |
-    {0}#######  {1} ,#####. .#####.
-    {0}  ###    {1}########.########
-    {0}  ###    {1}#################
-    {0}  ###    {1}`###############'
-    {0}  ###    {1} `#############'
-    {0}  ###    {1}   `#########'
-    {0}  ###    {1}     `#####'
-    {0}#######  {1}       `#'
-    {0}
-    {0}####     ####     ###
-    {0}#####   #####     ###
-    {0}######.######     ###
-    {0}### ##### ###     ###
-    {0}###  ###  ###   #######
-    {0}###   #   ###    #####
-    {0}###       ###     ###
-    {0}###       ###      #
-  colors:
-    ansi:
-      - white
-      - red
-    chip: "#083FA1"
-  line_types: [code, comments]
-Nim:
-  type: programming
-  ascii: |
-    {0}                   ++
-    {0}       ++        ++++++        ++
-    {0}      ++++++++++++++++++++++++++++
-    {0}     ++++++++++++++++++++++++++++++
-    {0}++  ++++++++++++++++++++++++++++++++  ++
-    {0} ++++++++++++++++++++++++++++++++++++++
-    {0}  +++++++++++              +++++++++++
-    {0}   ++++++++                  ++++++++
-    {0}    +++++                      +++++
-    {1} ?   {0}++                          ++   {1}?
-    {1}  ??             ??????             ??
-    {1}   ???         ??????????         ???
-    {1}    ????     ??????????????     ????
-    {1}     ??????????????????????????????
-    {1}      ????????????????????????????
-    {1}       ??????????????????????????
-    {1}         ??????????????????????
-    {1}           ??????????????????
-  colors:
-    ansi:
-      - yellow
-      - white
-    chip: "#FFC200"
-Nix:
-  type: programming
-  ascii: |
-    {1}         :::.    {0}':::::     ::::'
-    {1}         '::::    {0}':::::.  ::::'
-    {1}           ::::     {0}'::::.:::::
-    {1}     ......:::::..... {0}::::::::
-    {1}    :::::::::::::::::. {0}::::::    {1}::::.
-    {1}   :::::::::::::::::::: {0}:::::.  {1}.::::'
-    {0}         .....           {0}::::' {1}:::::'
-    {0}        :::::            {0}'::' {1}:::::'
-    {0} ......:::::               {0}' {1}::::::::::.
-    {0}:::::::::::                 {1}::::::::::::
-    {0} ::::::::: {1}..              {1}:::::
-    {0}    .:::: {1}.:::            {1}:::::
-    {0}   .::::  {1}:::::          {1}'''''    {0}.....
-    {0}   ::::   {1}':::::.  {0}......:::::::::::::'
-    {0}    ::     {1}::::::. {0}':::::::::::::::::'
-    {1}           {1}.:::::::: {0}'::::::::::
-    {1}          {1}.::::''::::.     {0}'::::.
-    {1}         {1}.::::'   ::::.     {0}'::::.
-    {1}        {1}.::::      ::::      {0}'::::.
-  colors:
-    ansi:
-      - cyan
-      - blue
-    chip: "#7E7EFF"
-ObjectiveC:
-  type: programming
-  ascii: |
-    {0}888                                888
-    {0}8    8888   8       8        8888    8
-    {0}8   8    8  8               8    88  8
-    {0}8  8      8 8       8      8         8
-    {0}8  8      8 8 888   8      8         8
-    {0}8  8      8 88   8  8 ==== 8         8
-    {0}8  8      8 8    8  8      8      8  8
-    {0}8   8    8  88   8  8       8    88  8
-    {0}8    8888   8 888   8        88888   8
-    {0}888                 8              888
-    {0}                    8
-    {0}                  88Y
-  colors:
-    ansi:
-      - cyan
-      - blue
-    chip: "#438EFF"
-  serialization: objective-c
-OCaml:
-  type: programming
-  ascii: |
-    {0}///////////////////////////////////////
-    {0}///////////////////////////////////////
-    {0}///////////////////////////////////////
-    {0}///////////////////////////////////////
-    {0}///////////////////////////////////////
-    {0}///   \////    \///////////////////////
-    {0}//      //      /////////     .////////
-    {0}/                ///////         \/////
-    {0}                  /////      //////////
-    {0}                            ///////////
-    {0}                           ////////////
-    {0}  //                    ///////////////
-    {0} /////////   ///   ////////////////////
-    {0}/////////  //////  ////////////////////
-    {0}////////  ///////  ////////////////////
-    {0}///////  ////////  ////////////////////
-    {0}//////  /////////  ////////////////////
-  colors:
-    ansi:
-      - yellow
-    chip: "#3BE133"
-Odin:
-  type: programming
-  ascii: |
-    {0}          @@@@@@@@@
-    {0}      @@@@     @@@   @@@
-    {0}    @@@@      @@@   @@@@@@
-    {1}  @@@@       @@@   @@@  @@@@
-    {1} @@@        @@@   @@@     @@@
-    {1}@@@        @@@   @@@       @@@
-    {2}@@@       @@@   @@@        @@@
-    {2}@@@      @@@   @@@         @@@
-    {2}@@@     @@@   @@@          @@@
-    {3}@@@    @@@   @@@           @@@
-    {3} @@@  @@@   @@@           @@@
-    {3}  @@@@@@   @@@          @@@@
-    {4}    @@@   @@@         @@@@
-    {4}         @@@        @@@@
-    {4}          @@@@@@@@@@
-  colors:
-    ansi:
-      - blue
-      - blue
-      - blue
-      - blue
-      - blue
-    hex:
-      - "#265A99"
-      - "#3473BE"
-      - "#3F88DD"
-      - "#4797F3"
-      - "#499AF7"
-    chip: "#60AFFE"
-Org:
-  type: prose
-  ascii: |
-    {2}                    j
-    {2}                   eL
-    {0}                Q {2}kD
-    {0}            Nt{1}yew{2}kQ{0}y
-    {1}       :r/2K{0}@Q@@@#N@@Qmir
-    {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
-    {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
-    {1}?#QB#HKXej{0}D@QQRNkPD9|
-    {1}SQNHDXwmXq{0}@@@QDR
-    {1}=D6XwmSm{0}D@Q@@QDH
-    {1} tXaZe{0}H@QQ@@@@QRdz
-    {1}   u{0}QRQ@@@@@@@@@QDDd
-    {0}     B@@@@@@@@@@@QDHDd
-    {0}         Syz*:'--'~;\oM
-  colors:
-    ansi:
-      - green
-      - red
-      - white
-    chip: "#77AA99"
-Oz:
-  type: programming
-  ascii: |
-    {0}                   ooooooooo
-    {0}               oooooo{1}zzz{0}oooooo
-    {0}            oooooo{1}zzzzzz{0}ooooooo
-    {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
-    {0}      ooooooooooooooo{1}zzz{0}ooooooooo
-    {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
-    {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
-    {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
-    {0}ooo    oooooo    ooooooooooo   oooooo
-    {0}oooo    oooooo   oooooooo      ooooooo
-    {0} oooo    oooo   oooooo   ooo   oooooooo
-    {0}  ooooooo    ooooooooooooooo   oooooooo
-    {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
-    {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
-    {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
-    {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
-    {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
-    {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
-    {0}         ooooooo{1}zzzz{0}oooo
-    {0}           ooooooooo
-  colors:
-    ansi:
-      - yellow
-      - white
-    hex:
-      - "#FCAF3E"
-      - "#FFFFFF"
-    chip: "#FAB738"
-Pascal:
-  type: programming
-  ascii: |
-    {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
-    {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
-    {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
-    {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
-    {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
-    {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
-  colors:
-    ansi:
-      - blue
-      - white
-    chip: "#E3F171"
-Perl:
-  type: programming
-  ascii: |
-    {0}                  ######
-    {0}    ###         #########
-    {0} ########      ##########
-    {0}#########     ############
-    {0}   ######   ###############
-    {0}  ####### ##################
-    {0}  ####### ###################
-    {0}  ############################
-    {0}  #############################
-    {0}  ########################### ##
-    {0}    ######################### ##
-    {0}     ###################  ### #
-    {0}          ##### #### ###  ### #
-    {0}          ####  #### ###   ##
-    {0}          ####  ###  ###    #
-    {0}           ##  ###   ###    #
-    {0}           ##   ##   ##     #
-    {0}           ##    #   #      #
-    {0}           #       ##       #
-    {0}           #       # #      #
-    {0}           #     ### ##     ##
-    {0}          ##
-  colors:
-    ansi:
-      - cyan
-    chip: "#0298C3"
-Perl6:
-  type: programming
-  ascii: |
-    {0} +@8DM#8W,
-    {0}#DM"{1},ypy,{0}"8#
-    {0}DDU {1}8M]N8u{0} DM
-    {0}8DD {1}TMD8M,{0}8M  {4}8
-    {0} 8D#=e@8MM^   {4}8
-    {0}  *MDw  {4},.,+#M`
-    {0}    "8#                   {0},e88DDDD8m,
-    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
-    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
-    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
-    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
-    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
-    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
-    {1}   ``      {2}'"F*FFF*  {1},yw,
-    {1}                  ,#]{0}[D8{1}8W
-    {1}                  k8{0}]DDN8{1}8L
-    {1}                  '8E{0}$DE8{1}8M
-    {1}                    R#E#R^
-  colors:
-    ansi:
-      - blue
-      - red
-      - yellow
-      - white
-      - green
-    hex:
-      - "#5B00FD"
-      - "#FF005E"
-      - "#F3FF27"
-      - "#FFFFFF"
-      - "#00FF39"
-    chip: "#0000FB"
-  serialization: raku
-Php:
-  type: programming
-  ascii: |
-    {0}            ################
-    {0}      ##########{1}/  |{0}##############
-    {0}   #############{1}|  |{0}#################
-    {0} #####{1}/   __   \|   __   \/   __   \{0}###
-    {0}######{1}|  |{0}##{1}|  ||  |{0}##{1}|  ||  |{0}##{1}|  |{0}####
-    {0}######{1}|  |{0}##{1}/  ||  |{0}##{1}|  ||  |{0}##{1}/  |{0}####
-    {0} #####{1}|   ____ /|__|{0}##{1}|__||   ____ /{0}###
-    {0}   ###{1}|  |{0}################{1}|  |{0}#######
-    {1}      |_ /{0}################{1}|_ /{0}####
-    {0}            ################
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#777BB3"
-      - "#FFFFFF"
-    chip: "#4F5D95"
-PowerShell:
-  type: programming
-  ascii: |
-    {0}         #########################
-    {0}        ####{1}####{0}#################
-    {0}       ######{1}####{0}###############
-    {0}      ########{1}####{0}#############
-    {0}     ##########{1}####{0}###########
-    {0}    #########{1}####{0}############
-    {0}   ########{1}####{0}#############
-    {0}  #######{1}####{0}##############
-    {0} ######{1}####{0}#####{1}######{0}####
-    {0}#########################
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#316CB9"
-      - "#FFFFFF"
-    chip: "#012456"
-Processing:
-  type: programming
-  ascii: |
-    {0}          PPPPPPPPPPPP
-    {0}      PPPPPPPPPPPPPPPPPPPP
-    {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
-    {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
-    {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
-    {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
-    {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
-    {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
-    {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
-    {0}    PPPPPPPPPPPPPPPPPPPPPPPP
-    {0}      PPPPPPPPPPPPPPPPPPPP
-    {0}          PPPPPPPPPPPP
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#505050"
-      - "#FFFFFF"
-    chip: "#0096D8"
-Prolog:
-  type: programming
-  ascii: |
-    {0}            ############   #
-    {0}       #################   ####
-    {0}     ###################   ######
-    {0}   #####################   #######
-    {0}  ######################   ########
-    {0} #######         #######   #########
-    {0}######  ###        #####   ##########
-    {0}#####  ####      #  ####   ##########
-    {0}#####  #####    ##  ####   ##########
-    {0}#####   #########   ####   ##########
-    {0}#####     #####   #######    ########
-    {0} ####           ###########       ##
-    {0}  ###   ###########################
-    {0}    #   ##########################
-    {0}        ########################
-    {0}        ######################
-    {0}           ################
-  colors:
-    ansi:
-      - white
-    chip: "#74283C"
-Protobuf:
-  type: programming
-  ascii: |
-    {0}      ;;;;;;;;     {2}::::::::
-    {0}     ;;;;;;;;       {2}::::::::
-    {0}    ;;;;;;;;         {2}::::::::
-    {1}   :{0};;;;;;;           {2}::::::::
-    {1}  :::{0};;;;;             {2}::::::::
-    {1} :::::{0};;;               {2}::::::::
-    {1}:::::::{0};                {3};{2}:::::::
-    {1}::::::::               {3};;;{2}:::::
-    {1} ::::::::             {3};;;;;{2}:::
-    {1}  ::::::::           {3};;;;;;;{2}:
-    {1}   ::::::::         {3};;;;;;;;
-    {1}    ::::::::       {3};;;;;;;;
-    {1}     ::::::::     {3};;;;;;;;
-  colors:
-    ansi:
-      - red
-      - blue
-      - green
-      - yellow
-    chip: "#74283C"
-  serialization: protocol-buffers
-PureScript:
-  type: programming
-  ascii: |
-    {0}           \\\\\\\\\\\\\\    \\\\\
-    {0}            \\\\\\\\\\\\\\     \\\\\
-    {0}    /////                        \\\\\
-    {0}  /////      //////////////      /////
-    {0}/////       //////////////     /////
-    {0}\\\\\                        /////
-    {0}  \\\\\     \\\\\\\\\\\\\\
-    {0}    \\\\\    \\\\\\\\\\\\\\
-  colors:
-    ansi:
-      - white
-    chip: "#1D222D"
-Python:
-  type: programming
-  ascii: |
-    {0}               =========
-    {0}            ===============
-    {0}           =================
-    {0}          ===  ==============
-    {0}          ===================
-    {0}                   ==========
-    {0}   ========================== {1}=======
-    {0} ============================ {1}========
-    {0}============================= {1}=========
-    {0}============================ {1}==========
-    {0}========================== {1}============
-    {0}============ {1}==========================
-    {0}========== {1}============================
-    {0}========= {1}=============================
-    {0} ======== {1}============================
-    {0}  ======= {1}==========================
-    {1}          ==========
-    {1}          ===================
-    {1}          ==============  ===
-    {1}           =================
-    {1}            ===============
-    {1}               =========
-  colors:
-    ansi:
-      - blue
-      - yellow
-    hex:
-      - "#2F69A2"
-      - "#FFD940"
-    chip: "#3572A5"
-Qml:
-  type: programming
-  ascii: |
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
-    {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
-    {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
-    {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
-    {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-    {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-    {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
-  colors:
-    ansi:
-      - green
-      - white
-      - green
-    hex:
-      - "#80C342"
-      - "#FFFFFF"
-      - "#4D7528"
-    chip: "#44A51C"
-R:
-  type: programming
-  ascii: |
-    {0}             .,,,,,,,,,,,,,
-    {0}       ,,,,,,,,,,,,,,,,,********
-    {0}    ,,,,,,,,,,,,,,,,,**************
-    {0}  ,,,,,,,,,,,,                  *****
-    {0} ,,,,,,,,,      {1}RRRRRRRRRRRRRRRR   {0}***
-    {0},,,,,,,,,       {1}RRRRRRRRRRRRRRRRRRR {0}***
-    {0},,,,,,,,        {1}RRRRRRRRRRRRRRRRRRRR {0}//
-    {0},,,,,,*         {1}RRRRRRR      RRRRRRR {0}//
-    {0},,,*****        {1}RRRRRRR     RRRRRRR  {0}//
-    {0} ********       {1}RRRRRRRRRRRRRRRRRR  {0}//
-    {0}   *********    {1}RRRRRRRRRRRRRR    {0}//
-    {0}      **********{1}RRRRRRR   RRRRRRR
-    {0}         *******{1}RRRRRRR    RRRRRRR
-    {1}                RRRRRRR     RRRRRRRR
-  colors:
-    ansi:
-      - white
-      - blue
-    chip: "#198CE7"
-Racket:
-  type: programming
-  ascii: |
-    {0}            {2}.:--::////::--.`
-    {0}        {1}`/yNMMNho{2}////////////:.
-    {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
-    {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
-    {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
-    {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
-    {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
-    {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
-    {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
-    {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
-    {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
-    {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
-    {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
-    {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
-    {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
-    {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
-    {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
-    {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
-    {0}        {1}`/s{0}::::::::::::::::::{1}o/`
-    {0}            ``.---::::---..`
-  colors:
-    ansi:
-      - red
-      - white
-      - blue
-    chip: "#3C5CAA"
-Renpy:
-  type: programming
-  ascii: |
-    {0}       ++++++
-    {0}     ++++++++++
-    {0}    ++++++++++++
-    {0}   ++++++++++++++
-    {0}   ++++++++++++++++
-    {0}  +++++++++++++{1}***{0}+++
-    {0}  +++++++{1}***********
-    {0} +++++{1}**************
-    {0}+++{1}*****************
-    {0}++{1}********{2}#{1}**********
-    {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
-    {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
-    {1} *****{2}##########{1}*{2}#{1}***
-    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-    {1} *****{2}############{1}***
-    {1} *****{2}#####{5}--{2}####{1}***
-    {1}  **{4}#####{2}#######{1}**
-    {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
-    {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
-    {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
-    {4}    #####{6}++++++{4}#####
-    {4}     ###{6}++++++++{4}####
-    {6}     +++++++++++{4}####
-    {6}     ++++++++++{4}####
-  colors:
-    ansi:
-      - white
-      - red
-      - white
-      - blue
-      - yellow
-      - white
-      - magenta
-    hex:
-      - "#EADBCC"
-      - "#FF7F7F"
-      - "#FBEEE2"
-      - "#495F8E"
-      - "#FAE45A"
-      - "#FFFFFF"
-      - "#B5A396"
-    chip: "#FF7F7F"
-Ruby:
-  type: programming
-  ascii: |
-    {0}                    ###{2}###{3}###{4}#{1}.{4}#
-    {0}                  ###{2}###{3}###{4}##{1}.{5}##
-    {0}                ##{1}.{2}###{3}###{4}###{1}.{5}###
-    {0}              ###{2}##{1}.{3}###{4}###{5}#{1}.{5}#{6}###
-    {0}            ###{2}###{3}##{1}.{4}###{5}##{1}.{6}###{7}##
-    {0}          ###{2}###{3}###{4}##{1}.{5}###{1}.{6}##{7}####
-    {0}        ###{2}###{3}###{4}###{5}##{1}.{6}#{1}.{6}#{7}######
-    {0}      #{1}.{0}*{2}***{3}***{4}***{5}***{6}**{1}.{7}###{8}#####
-    {0}    ###{1}.{2}##{3}###{4}###{5}###{6}##{1}.{7}##{1}.{8}#######
-    {0}  ####{2}#{1}.{2}#{3}###{4}###{5}###{6}#{1}.{6}#{7}###{8}#{1}.{8}######
-    {0}#####{2}##{1}.{3}###{4}###{5}###{1}.{6}##{7}###{8}###{1}.{8}#####
-    {0} #####{2}#{1}.{2}#{3}###{4}###{1}.{5}###{6}###{7}###{8}##{1}.{8}####
-    {0}  #####{1}.{2}##{3}###{1}.{4}##{5}###{6}###{7}###{8}###{1}.{9}###
-    {0}   ####{1}.{3}###{1}.{4}##{5}###{6}###{7}###{8}###{9}###{1}.{9}##
-    {0}    ###{1}.{2}#{1}.{3}##{4}###{5}###{6}###{7}###{8}###{9}###{1}.{9}#
-  colors:
-    ansi:
-      - red
-      - black
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-    hex:
-      - "#F30301"
-      - "#555555"
-      - "#E80603"
-      - "#DC0904"
-      - "#D10C06"
-      - "#C50F07"
-      - "#BA1109"
-      - "#AE140A"
-      - "#A3170C"
-      - "#971A0D"
-    chip: "#701516"
-Rust:
-  type: programming
-  ascii: |
-    {0}                 R RR RR
-    {0}              R RRRRRRRR R          R
-    {0} R RR       R RRRRRRRRRRRRR R      RR
-    {0}rR RRR    R RRRRRRRRRRRRRRRRR R   RRR R
-    {0}RRR RR   RRRRRRRRRRRRRRRRRRRRRRR  RRRRR
-    {0} RRRRR  RRRRRRRRRRRRRRRRRRRRRRRR  RRRR
-    {0}  RRR RRRRRRRRRRRRRRRRRRRRRRRRRRRR RR
-    {0}    R  RRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRRR
-    {0}     RRRRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRR
-    {0}      RRRRRRRRRRR   RR   RRRRRRRRRR
-    {0}     RR==RRRRRRRRRRRRRRRRRRRRRR===RR
-    {0}     RR =  ==RRRRRRR  RRRRRR==  = RR
-    {0}      RR =     ===========     = RR
-    {0}       RR                        R
-    {0}        R                       R
-    {0}         R
-  colors:
-    ansi:
-      - red
-      - white
-    hex:
-      - "#E43717"
-      - "#FFFFFF"
-    chip: "#DEA584"
-Sass:
-  type: markup
-  ascii: |
-    {0}            ,wppbbbbbp,
-    {0}       ,wpb@KP"``` ``"T@b
-    {0}    ,pb@P"`            @@
-    {0}  ,b@P`               /@P
-    {0} p@b`               ,bK`
-    {0}{@@      'w,  ,,wpbP*`
-    {0} 0@b        ````      ,pp  ;@@
-    {0}  "0bw        ,bPK   ,K@L /PT@
-    {0}     "0b, ,,pbP  @b .b Tb{"  $bP"""*Tb,
-    {0}      ,/b@P &@  0@M.b  ,@K ,P @L      `b
-    {0}   ,pb"  Ib @@ &h@bP ,pCpP bb*`       /`
-    {0}  p@`   ,@` `bb` T"  ""`
-    {0}  @@w,pbK`
-    {0}  `***^
-  colors:
-    ansi:
-      - magenta
-    hex:
-      - "#CD6799"
-    chip: "#A53B70"
-Scala:
-  type: programming
-  ascii: |
-    {0}                        +
-    {0}                      +++
-    {0}          +++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++{1}-------
-    {0}+++{1}-------------------{0}+++
-    {1}        ---{0}++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++{1}-------
-    {0}+++{1}-------------------{0}+++
-    {1}        ---{0}++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++
-    {0}+++
-  colors:
-    ansi:
-      - red
-      - red
-    hex:
-      - "#DF3F3D"
-      - "#7F0C1D"
-    chip: "#C22D40"
-Scheme:
-  type: programming
-  ascii: |
-    {0}  ////
-    {0} //  //
-    {0} /    //
-    {0}       //
-    {0}        //
-    {0}         //
-    {0}        ////
-    {0}       /// //
-    {0}      ///   //
-    {0}     ///     //
-    {0}    ///       //    /
-    {0}   ///         //  //
-    {0}  ///           ////
-  colors:
-    ansi:
-      - white
-    hex:
-      - "#555555"
-    chip: "#1E4AEC"
-Sh:
-  type: programming
-  ascii: |
-    {0}              ___       ___        ___
-    {0}             ####      ####       ####
-    {0}            ####      ####       ####
-    {0}      _____####______####___    ####
-    {0}     #######################   ####
-    {0}    #######################   ####
-    {0}        ####      ####       ####
-    {0}       ####      ####       ####
-    {0}  ____####______####____   ####
-    {0} #######################  ####
-    {0}#######################  ___
-    {0}   ####      ####       ####
-    {0}  ####      ####       ####
-    {0} ####      ####       ####
-  colors:
-    ansi:
-      - green
-    chip: "#89E051"
-  serialization: shell
-Solidity:
-  type: programming
-  ascii: |
-    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-    {0}MMMMMMMMMMMM{2}SS{3}SSSSSSSSSS{4}SS{0}MMMMMMMMMMMM
-    {0}MMMMMMMMMMM{2}SSSS{3}SSSSSSSS{4}SSSS{0}MMMMMMMMMMM
-    {0}MMMMMMMMMM{2}SSSSSS{3}SSSSSS{4}SSSSSS{0}MMMMMMMMMM
-    {0}MMMMMMMMM{2}SSSSSSSS{3}SSSS{4}SSSSSSSS{0}MMMMMMMMM
-    {0}MMMMMMMM{2}SSSSSSSSSS{3}SS{4}SSSSSSSSSS{0}MMMMMMMM
-    {0}MMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMMMMMMMMMMMMMM
-    {0}MMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMMMMMMMMMMMMMM
-    {0}MMMMMMMMMM{1}SSSSSS{0}MMMMMMMM{1}SS{0}MMMMMMMMMMMM
-    {0}MMMMMMMMMMM{1}SSSS{0}MMMMMMMM{1}SSSS{0}MMMMMMMMMMM
-    {0}MMMMMMMMMMMM{1}SS{0}MMMMMMMM{1}SSSSSS{0}MMMMMMMMMM
-    {0}MMMMMMMMMMMMMMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMM
-    {0}MMMMMMMMMMMMMMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMM
-    {0}MMMMMMMM{4}SSSSSSSSSS{3}SS{2}SSSSSSSSSS{0}MMMMMMMM
-    {0}MMMMMMMMM{4}SSSSSSSS{3}SSSS{2}SSSSSSSS{0}MMMMMMMMM
-    {0}MMMMMMMMMM{4}SSSSSS{3}SSSSSS{2}SSSSSS{0}MMMMMMMMMM
-    {0}MMMMMMMMMMM{4}SSSS{3}SSSSSSSS{2}SSSS{0}MMMMMMMMMMM
-    {0}MMMMMMMMMMMM{4}SS{3}SSSSSSSSSS{2}SS{0}MMMMMMMMMMMM
-    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-  colors:
-    ansi:
-      - white
-      - black
-      - black
-      - black
-      - black
-    hex:
-      - "#FFFFFF"
-      - "#2E2E2E"
-      - "#1A1A1A"
-      - "#333333"
-      - "#515151"
-    chip: "#AA6746"
-Sql:
-  type: data
-  ascii: |
-    {0}   _..------.._
-    {0}.-~            ~-.
-    {0}|                |
-    {0}|"-..________..-"|
-    {0}|                | {1} ____   ___  _
-    {0}|                | {1}/ ___| / _ \| |
-    {0}|"-..________..-"| {1}\___ \| | | | |
-    {0}|                | {1} ___) | |_| | |___
-    {0}|                | {1}|____/ \__\_|_____|
-    {0}|"-..________..-"|
-    {0}|                |
-    {0}|                |
-    {0} "-..________..-"
-  colors:
-    ansi:
-      - cyan
-      - yellow
-    chip: "#E38C00"
-Svelte:
-  type: markup
-  ascii: |
-    {0}SSSSSSSSSSSSSSSSSS{1}sssssssssss{0}SSSSSSSS
-    {0}SSSSSSSSSSSSSSS{1}sssssssssssssssss{0}SSSSS
-    {0}SSSSSSSSSSS{1}sssssssssss{0}SSSS{1}ssssssss{0}SSS
-    {0}SSSSSSSS{1}ssssssssss{0}SSSSSSSSSSS{1}sssssss{0}S
-    {0}SSSSS{1}sssssssss{0}SSSSSSSSSSSSSSSSS{1}sssss{0}S
-    {0}SSS{1}ssssssss{0}SSSSSSSSSS{1}sssss{0}SSSSSS{1}ssss{0}S
-    {0}S{1}sssssss{0}SSSSSSSSSS{1}sssssssss{0}SSSSS{1}ssss{0}S
-    {0}S{1}sssss{0}SSSSSSSSS{1}sssssssssssssssssssss{0}S
-    {0}S{1}sssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}ssssssssss{0}S
-    {0}S{1}sssss{0}SSSSS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SS
-    {0}S{1}sssss{0}SSSSSSSSSSSSSSSSSSSSSSSSS{1}sssss{0}S
-    {0}SS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SSSSS{1}sssss{0}S
-    {0}S{1}ssssssssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}sssss{0}S
-    {0}S{1}sssssssssssssssssssss{0}SSSSSSSSS{1}sssss{0}S
-    {0}S{1}ssss{0}SSSSS{1}sssssssss{0}SSSSSSSSSS{1}ssssss{0}SS
-    {0}S{1}ssss{0}SSSSSS{1}sssss{0}SSSSSSSSSS{1}ssssssss{0}SSS
-    {0}S{1}sssss{0}SSSSSSSSSSSSSSSSS{1}sssssssss{0}SSSSS
-    {0}S{1}sssssss{0}SSSSSSSSSSS{1}ssssssssss{0}SSSSSSSS
-    {0}SSS{1}ssssssss{0}SSSS{1}sssssssssss{0}SSSSSSSSSSS
-    {0}SSSSS{1}sssssssssssssssss{0}SSSSSSSSSSSSSSS
-    {0}SSSSSSSS{1}sssssssssss{0}SSSSSSSSSSSSSSSSSS
-  colors:
-    ansi:
-      - red
-      - white
-    hex:
-      - "#FF3C00"
-      - "#FFFFFF"
-    chip: "#FF3E00"
-Svg:
-  type: data
-  ascii: |
-    {0}                 ......
-    {0}               ....{1}--{0}....
-    {0}        ....  {0}...{1}------{0}...  {0}....
-    {0}     ............{1}------{0}............
-    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-    {0}  ..........{1}----------------{0}..........
-    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-    {0}...{1}----------------------------------{0}...
-    {0}...{1}----------------------------------{0}...
-    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-    {0}  ..........{1}----------------{0}..........
-    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-    {0}     ............{1}------{0}............
-    {0}        ....  {0}...{1}------{0}...  {0}....
-    {0}               ....{1}--{0}....
-    {0}                 ......
-  colors:
-    ansi:
-      - white
-      - yellow
-    hex:
-      - "#FFFFFF"
-      - "#EBA71F"
-    chip: "#FF9900"
-Swift:
-  type: programming
-  ascii: |
-    {0}                         :
-    {0}                          ::
-    {1}                           :::
-    {1}          :                ::::
-    {2}     :     :                ::::
-    {2}      :     ::              :::::
-    {3}       ::    :::             :::::
-    {3}        :::    :::           ::::::
-    {4}          :::   :::          :::::::
-    {4}           ::::  ::::        :::::::
-    {5}            :::::::::::      ::::::::
-    {5}              :::::::::::   :::::::::
-    {5}               ::::::::::::::::::::::
-    {6}                :::::::::::::::::::::
-    {6}                  :::::::::::::::::::
-    {6}:                   :::::::::::::::::
-    {7} ::                   ::::::::::::::
-    {7}   ::::              ::::::::::::::::
-    {7}    ::::::::::::::::::::::::::::::::::
-    {8}      :::::::::::::::::::::::::::::::::
-    {8}        :::::::::::::::::::::::::::::::
-    {8}          ::::::::::::::::::::::   :::::
-    {9}             .::::::::::::::.         ::
-    {9}
-  colors:
-    ansi:
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-      - red
-    hex:
-      - "#F88134"
-      - "#F97732"
-      - "#F96D30"
-      - "#FA632E"
-      - "#FA592C"
-      - "#FB502A"
-      - "#FB4628"
-      - "#FC3C26"
-      - "#FC3224"
-      - "#FD2822"
-    chip: "#F05138"
-SystemVerilog:
-  type: programming
-  ascii: |
-    {0}     _.._   _.._   _.._   _.._
-    {0}     _.._   _.._   _.._   _.._
-    {0} .................................
-    {0}.               {1}----              {0}.
-    {0}.          {1}--------------         {0}.
-    {0}.        {1}----       ---------     {0}.
-    {0}.      {1}---                -----   {0}.
-    {0}.     {1}-    #####  #     #  -----  {0}.
-    {0}.         {1}#     # #     #         {0}.
-    {0}.         {1}#       #     #         {0}.
-    {0}.          {1}#####  #     #         {0}.
-    {0}.               {1}#  #   #          {0}.
-    {0}.         {1}#     #   # #           {0}.
-    {0}.  {1}-----   #####     #      -     {0}.
-    {0}.   {1}-----                ---      {0}.
-    {0}.     {1}---------       ----        {0}.
-    {0}.         {1}--------------          {0}.
-    {0}.              {1}----               {0}.
-    {0} .................................
-    {0}     _.._   _.._   _.._   _.._
-    {0}     _.._   _.._   _.._   _.._
-  colors:
-    ansi:
-      - blue
-      - white
-    chip: "#DAE1C2"
-Tcl:
-  type: programming
-  ascii: |
-    {0}          //
-    {2}      . /{0}////
-    {2}     /{0}/////// .
-    {2}     //{0}//{1}/{0}/////
-    {2}    //{0}//{1}/{0}/////
-    {2}  . //{0}/{1}//{0}////
-    {2}  //{0}//{1}//{0}////
-    {2}  //{0}/{1}//{0}/////
-    {2}  /{0}//{1}//{0}////
-    {2}  /{0}/{1}//{0}////  .
-    {2}. /{0}/{1}//{0}/////
-    {2} /{0}/{1}//{0}////
-    {2}  /{1}//{0}//
-    {0}   {1}//
-    {0}   {1}//
-    {0}    {1}/
-    {0}     {1}/
-  colors:
-    ansi:
-      - blue
-      - white
-      - cyan
-    chip: "#E4CC98"
-Tex:
-  type: markup
-  ascii: |
-    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-    {0}$$$            $$$$$$$      $$$$$     $$
-    {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
-    {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
-    {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
-    {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
-    {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
-    {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
-    {0}$$$$$        $$  $$$$$     $$$$$$     $$
-    {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-  colors:
-    ansi:
-      - white
-      - black
-    chip: "#3D6117"
-Toml:
-  type: data
-  ascii: |
-    {0}[[[[[[[[                    ]]]]]]]]
-    {0}[[[[[[[[                    ]]]]]]]]
-    {0}[[[[                            ]]]]
-    {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
-    {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[            {1}TTTT{0}            ]]]]
-    {0}[[[[[[[[                    ]]]]]]]]
-    {0}[[[[[[[[                    ]]]]]]]]
-  colors:
-    ansi:
-      - red
-      - white
-    hex:
-      - "#9C4221"
-      - "#FFFFFF"
-    chip: "#9C4221"
-Tsx:
-  type: programming
-  ascii: |
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSXTSX
-    {0}TS{2}XTSXTSXTS{0}XTSX{2}TSXTSX{0}TSXTS{1}X{2}TSX{1}TSX{2}TSX{1}TSX
-    {0}TSXTS{2}XTS{0}XTSXTS{2}XTS{0}XTSXTSXT{1}SXT{2}SXT{1}S{2}XTS{1}XTSX
-    {0}TSXTS{2}XTS{0}XTSXTSX{2}TSX{0}TSXTSX{1}TSXTSX{2}TSX{1}TSXTSX
-    {0}TSXTS{2}XTS{0}XTSXTSXT{2}SXT{0}SXTS{1}XTSXTS{2}XTSXT{1}TSTSX
-    {0}TSXTS{2}XTS{0}XTSXTSXTS{2}XTS{0}XT{1}SXTSXT{2}SXT{1}S{2}XTS{1}XTSX
-    {0}TSXTS{2}XTS{0}XTSXT{2}SXTSXT{0}SX{1}TSXTSX{2}TSX{1}TSX{2}TSX{1}TSX
-    {0}TSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSXTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSXTSXTSXTSX
-  colors:
-    ansi:
-      - cyan
-      - magenta
-      - white
-    hex:
-      - "#007ACC"
-      - "#8A53A6"
-      - "#FFFFFF"
-    chip: "#2B7489"
-TypeScript:
-  type: programming
-  ascii: |
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TSTS{1}TSTSTS{0}TSTSTS
-    {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TS{1}TSTSTSTSTS{0}TSTS
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTS{1}TSTST{0}TSTSTSTST
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTS{0}TSTSTSTS
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTST{1}STSTS{0}TSTSTS
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTST{1}STSTS{0}TSTS
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTSTS{1}TSTST{0}TST
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTSTSTST{0}STS
-    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSSTS{1}TSTSTS{0}TSTST
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-  colors:
-    ansi:
-      - cyan
-      - white
-    hex:
-      - "#007ACC"
-      - "#FFFFFF"
-    chip: "#2B7489"
-Vala:
-  type: programming
-  ascii: |
-    {0} ###################################
-    {0}#####################################
-    {0}#####################################
-    {0}############{1}######{0}##########{1}##{0}#######
-    {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
-    {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
-    {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
-    {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
-    {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
-    {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
-    {0}##############{1}####{0}###{1}##{0}##############
-    {0}##############{1}####{0}##{1}##{0}###############
-    {0}##############{1}####{0}#{1}##{0}################
-    {0}##############{1}######{0}#################
-    {0}##############{1}#####{0}##################
-    {0}##############{1}####{0}###################
-    {0}#####################################
-    {0}#####################################
-    {0} ###################################
-  colors:
-    ansi:
-      - magenta
-      - white
-    chip: "#A56DE2"
-Verilog:
-  type: programming
-  ascii: |
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}     _......................._
-    {0}    _.{1}-----             -----{0}._
-    {0}_..._.{1} ---               --- {0}._..._
-    {0}_..._.{1}  ---             ---  {0}._..._
-    {0}    _.{1}   ---           ---   {0}._
-    {0}    _.{1}    ---         ---    {0}._
-    {0}_..._.{1}     ---       ---     {0}._..._
-    {0}_..._.{1}      ---     ---      {0}._..._
-    {0}    _.{1}       ---   ---       {0}._
-    {0}    _.{1}        --- ---        {0}._
-    {0}_..._.{1}         -----         {0}._..._
-    {0}_..._.{1}          ---          {0}._..._
-    {0}    _.{1}           -           {0}._
-    {0}     _......................._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-  colors:
-    ansi:
-      - white
-      - magenta
-    chip: "#b2b7f8"
-Vhdl:
-  type: programming
-  ascii: |
-    {0}        |  |  |  |
-    {0}       {1}------------
-    {0}    --{1}|    {2}----    {1}|{0}--
-    {0}    --{1}|   {2}|    |   {1}|{0}--
-    {0}    --{1}|   {2}|    |   {1}|{0}--
-    {0}    --{1}|    {2}----    {1}|{0}--
-    {0}       {1}------------
-    {0}        |  |  |  |
-    {2}__     ___   _ ____  _
-    {2}\ \   / / | | |  _ \| |
-    {2} \ \ / /| |_| | | | | |
-    {2}  \ V / |  _  | |_| | |___
-    {2}   \_/  |_| |_|____/|_____|
-  colors:
-    ansi:
-      - yellow
-      - green
-      - white
-    chip: "#ADB2CB"
-VimScript:
-  type: programming
-  ascii: |
-    {1}     ________{0}  ++    {1}________
-    {1}    /{2}VVVVVVVV{1}\{0}++++  {1}/{2}VVVVVVVV{1}\
-    {1}    \{2}VVVVVVVV{1}/{0}++++++{1}\{2}VVVVVVVV{1}/
-    {1}     |{2}VVVVVV{1}|{0}++++++++{1}/{2}VVVVV{1}/'
-    {1}     |{2}VVVVVV{1}|{0}++++++{1}/{2}VVVVV{1}/'
-    {0}    +{1}|{2}VVVVVV{1}|{0}++++{1}/{2}VVVVV{1}/'{0}+
-    {0}  +++{1}|{2}VVVVVV{1}|{0}++{1}/{2}VVVVV{1}/'{0}+++++
-    {0}+++++{1}|{2}VVVVVV{1}|/{2}VVV{1}___{0}++++++++++
-    {0}  +++{1}|{2}VVVVVVVVVV{1}/{2}##{1}/ {0}+{1}_{0}+{1}_{0}+{1}_{0}+{1}_
-    {0}    +{1}|{2}VVVVVVVVV{1}___ {0}+{1}/{2}#{1}_{2}#{1},{2}#{1}_{2}#{1},\
-    {1}     |{2}VVVVVVV{1}//{2}##{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/'/{2}#{1}/
-    {1}     |{2}VVVVV{1}/'{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/
-    {1}     |{2}VVV{1}/'{0}++{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/ /{2}#{1}/
-    {1}     '{2}V{1}/'  /{2}##{1}//{2}##{1}//{2}##{1}//{2}###{1}/
-    {0}              ++
-  colors:
-    ansi:
-      - green
-      - black
-      - white
-    chip: "#199F4B"
-VisualBasic:
-  type: programming
-  ascii: |
-    {1}             ::::::::::
-    {1}         ::::::::::::::::::
-    {1}      ::::::::::::::::::::::::
-    {0}    &&&&{1}::::::::::::::::::::::::
-    {0}  &&&&&&&&{1}::::::::::::::::::::::::
-    {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
-    {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
-    {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
-    {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
-    {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
-    {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
-    {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
-    {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
-    {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
-    {0}      &&&&&&&&&&&&&&&&&&&&&&&&
-    {0}         &&&&&&&&&&&&&&&&&&
-    {0}             &&&&&&&&&&
-  colors:
-    ansi:
-      - blue
-      - blue
-      - white
-    hex:
-      - "#195F97"
-      - "#004E8C"
-      - "#FFFFFF"
-    chip: "#945db7"
-Vue:
-  type: programming
-  ascii: |
-    {0}VUE{1}\\\\\                /////{0}VUE
-    {0} VUE{1}\\\\\              /////{0}VUE
-    {0}  VUE{1}\\\\\            /////{0}VUE
-    {0}   VUE{1}\\\\\          /////{0}VUE
-    {0}    VUE{1}\\\\\        /////{0}VUE
-    {0}     VUE{1}\\\\\      /////{0}VUE
-    {0}      VUE{1}\\\\\    /////{0}VUE
-    {0}       VUE{1}\\\\\  /////{0}VUE
-    {0}        VUE{1}\\\\\/////{0}VUE
-    {0}         VUE{1}\\\\////{0}VUE
-    {0}          VUE{1}\\\///{0}VUE
-    {0}           VUE{1}\\//{0}VUE
-    {0}            VUE{1}||{0}VUE
-    {0}             VUEVUE
-    {0}              VUEV
-  colors:
-    ansi:
-      - green
-      - blue
-    chip: "#199F4B"
-WebAssembly:
-  type: programming
-  ascii: |
-    {0}:::::::::::             ::::::::::::
-    {0}::::::::::::           :::::::::::::
-    {0}:::::::::::::::     ::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
-    {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
-    {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
-    {0}::::::::::::::::::::::::::::::::::::
-  colors:
-    ansi:
-      - magenta
-      - white
-    hex:
-      - "#654FF0"
-      - "#FFFFFF"
-    chip: "#04133B"
-Wolfram:
-  type: programming
-  ascii: |
-    {0}             OOOOOOOOOOOOOO
-    {0}         OOOOOO  OOOOOOOOOOOOOO
-    {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
-    {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
-    {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
-    {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
-    {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
-    {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
-    {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
-    {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-    {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
-    {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
-    {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
-    {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
-    {1}   WWWWW..............  {0}.........OOOOO
-    {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-    {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
-    {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
-    {1}         WWWWWWWWWWWWWWWW{0}     OO
-    {1}             WWWWWWWWWWWWW{0}
-  colors:
-    ansi:
-      - red
-      - white
-      - black
-    hex:
-      - "#FF0A01"
-      - "#FFFFFF"
-      - "#000000"
-    chip: "#DD1100"
-Xaml:
-  type: data
-  ascii: |
-    {0}        :::::::::::::::::::::..
-    {0}       :::{1}------{0}::::::::::::....
-    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-    {0}:::{1}------{0}::::::::::::.........{1}------{0}...
-    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-    {0}       :::{1}------{0}::::::::::::....
-    {0}        :::::::::::::::::::::..
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#3378CE"
-      - "#FFFFFF"
-    chip: "#0060AC"
-Xml:
-  type: data
-  ascii: |
-    {0}  __{1} __  _  __ __  _    {2}   __{0}__
-    {0} / /{1} \ \/  |  \  \| |   {2}  / /{0}\ \
-    {0}< < {1}  \ \  |     || |_  {2} / / {0} > >
-    {0} \_\{1} _/\_\ |_|_|_||___| {2}/_/  {0}/_/
-  colors:
-    ansi:
-      - yellow
-      - white
-      - green
-    chip: "#0060AC"
-XSL:
-  type: programming
-  ascii: |
-    {0}                       :::
-    {0}       :::::          :::  :::::
-    {0}     :::::           :::     :::::
-    {0}   :::::            :::        :::::
-    {0} :::::             :::           :::::
-    {0}:::::             :::             :::::
-    {0} :::::           :::             :::::
-    {0}   :::::        :::            :::::
-    {0}     :::::     :::           :::::
-    {0}       :::::  :::          :::::
-    {0}             :::
-  colors:
-    ansi:
-      - cyan
-    chip: "#EB8CEB"
-Yaml:
-  type: data
-  ascii: |
-    {0}__    __  __   __    __   _
-    {0}\ \  / / /  | |  \  /  | | |
-    {0} \ \/ / / | | | \ \/ / | | |.
-    {0}  \  / / /| | | |\__/| | | | .
-    {0}  / / / / | | | |    | | | |  .
-    {0} / / / /  | | | |    | | | |___.
-    {0}/_/ /_/   |_| |_|    |_| |______\
-  colors:
-    ansi:
-      - white
-    chip: "#CB171E"
-Zig:
-  type: programming
-  ascii: |
-    {0}                                     z
-    {0}                                  zzz
-    {0}                             zzzzzz
-    {0}zzzzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzz
-    {0}zzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzz
-    {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
-    {0}zzzzz                zzzzzz      zzzzz
-    {0}zzzzz              zzzzzz        zzzzz
-    {0}zzzzz            zzzzzz          zzzzz
-    {0}zzzzz          zzzzzz            zzzzz
-    {0}zzzzz        zzzzzz              zzzzz
-    {0}zzzzz      zzzzzz                zzzzz
-    {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
-    {0}zzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzz
-    {0}zzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzzzz
-    {0}   zzzzzz
-    {0} zzz
-    {0}z
-  colors:
-    ansi:
-      - yellow
-    chip: "#EC915C"
-Zsh:
-  type: programming
-  ascii: |
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZ     ZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZSHZS     SHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZ     HZSHZSHZSHZSHZSHZ
-    {0}ZSHZSHZSHZSH     ZSHZSHZSHZSHZSH
-    {0}ZSHZSHZSHZ     SHZSHZSHZSHZSHZSH
-    {0}ZSHZSHZS     ZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZ     ZSHZSH             SHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-  colors:
-    ansi:
-      - white
-    chip: "#89E051"
+#     {2}████████████████  {3}████████████████
+#     {2}█████      █████  {3}█████  █████████
+#     {2}█████  █████████  {3}█████  █████████
+#     {2}█████      █████  {3}█████  █████████
+#     {2}█████████  █████  {3}█████  █████████
+#     {2}█████      █████  {3}█████      █████
+#     {2}████████████████  {3}████████████████
+#   colors:
+#     ansi:
+#       - red
+#       - green
+#       - blue
+#       - yellow
+#     hex:
+#       - "#F65314"
+#       - "#7CBB00"
+#       - "#00A1F1"
+#       - "#FFBB00"
+#     chip: "#AACE60"
+# HolyC:
+#   type: programming
+#   ascii: |
+#     {0}             ========
+#     {0}         ====        ====
+#     {0}      ====              ====
+#     {0}    ===                   ===
+#     {0}   ===                     ===
+#     {0}  ==           {1}***           {0}==
+#     {0}  ==        {1}*********        {0}==
+#     {0}   =    {1}*****************    {0}=
+#     {1}    ********{0}*********{1}********
+#     {1} ********{0}**{2}***********{0}**{1}********
+#     {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
+#     {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
+#     {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
+#     {1}*****{0}*{2}****{0}*{1}**********************
+#     {1}*****{0}*{2}****{0}*{1}**********************
+#     {1}*****{0}*{2}****{0}*{1}**********************
+#     {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
+#     {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
+#     {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
+#     {1} ********{0}**{2}***********{0}**{1}********
+#     {1}     *******{0}*********{1}*******
+#     {1}        *****************
+#     {1}            *********
+#     {1}               ***
+#   colors:
+#     ansi:
+#       - yellow
+#       - cyan
+#       - white
+#     hex:
+#       - "#FBFE67"
+#       - "#0B449D"
+#       - "#FFFFFF"
+#     chip: "#FFEFAF"
+# Html:
+#   type: markup
+#   ascii: |
+#     {1}  ##  ##  ######  ##   ##  ##
+#     {1}  ##  ##    ##    ### ###  ##
+#     {1}  ######    ##    ## # ##  ##
+#     {1}  ##  ##    ##    ##   ##  ##
+#     {1}  ##  ##    ##    ##   ##  ######
+#     {0}(((((((((((((((((((((((((((((((((((
+#     {0}(((((((((((((((((/////////////(((((
+#     {0}(((((((((((((((((/////////////(((((
+#     {0}(((((((                     //(((((
+#     {0} ((((((                     //((((
+#     {0} ((((((    ((((((/////////////((((
+#     {0} ((((((     (((((/////////////((((
+#     {0} ((((((                    ///((((
+#     {0}  (((((                    ///(((
+#     {0}  (((((((((((((((//////    ///(((
+#     {0}  ((((((    (((((/////     ///(((
+#     {0}  ((((((                   ///(((
+#     {0}   (((((((               /////((
+#     {0}   ((((((((((((((/////////////((
+#     {0}   ((((((((((((((//////(((((((((
+#     {0}          (((((((((((((((
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#     chip: "#E34C26"
+# Idris:
+#   type: programming
+#   ascii: |
+#     {0}       %
+#     {0}          %
+#     {0}   %&&&     %%
+#     {0}        %%    %&
+#     {0}&%%%&     %    %%
+#     {0}     %%        %%
+#     {0}       %       %%
+#     {0} %%%          %%&
+#     {0}   %%       %%%
+#     {0}    %     &%%%
+#     {0}         %%%&
+#     {0}       &%%%
+#     {0}      %%%%
+#     {0}      %%%
+#     {0}     %%%
+#     {0}     %%%
+#     {0}     &%%
+#     {0}      %%%
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#B30000"
+# Java:
+#   type: programming
+#   ascii: |
+#     {0}                  |
+#     {0}                 ||
+#     {0}               |||
+#     {0}             ||||    ||
+#     {0}           ||||| ||||
+#     {0}          ||||  |||
+#     {0}         ||||  |||
+#     {0}         |||    |||
+#     {0}          |||    |||
+#     {0}            ||    ||
+#     {0}              |   |
+#     {1}   ####               #    ##
+#     {1}    ################       ##
+#     {1}       #                   ##
+#     {1}      ################   ###
+#     {1}
+#     {1}       ##############
+#     {1}####      #######          #
+#     {1}#####                   ####
+#     {1}   #####################      #
+#     {1}                          ###
+#     {1}          ###############
+#   colors:
+#     ansi:
+#       - red
+#       - blue
+#     hex:
+#       - "#F44336"
+#       - "#1665C0"
+#     chip: "#B07219"
+# JavaScript:
+#   type: programming
+#   ascii: |
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJ    SJSJS      JSJSJS
+#     {0}JSJSJSJSJSJSJSJSJ    SJS          JSJS
+#     {0}JSJSJSJSJSJSJSJSJ    SJS     JSJSJSJSJ
+#     {0}JSJSJSJSJSJSJSJSJ    SJSJ     SJSJSJSJ
+#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJ     SJSJSJ
+#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJ     JSJS
+#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJS     JSJ
+#     {0}JSJSJSJSJS     JS    JSJS          JSJ
+#     {0}JSJSJSJSJSJ          SJSJSJ      SJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+#   colors:
+#     ansi:
+#       - yellow
+#     hex:
+#       - "#ECE653"
+#     chip: "#F1E05A"
+# Json:
+#   type: data
+#   ascii: |
+#     {0}           `:+osyyyso+/:`
+#     {0}        :smNNNmmmddddhhhmds:
+#     {0}     .oNNNNNmmmddddhhhyyyym{1}MNs.
+#     {0}    oNNNNNmmmddddhhhyyyysssh{1}MMMs`
+#     {0}  .dNNNNmmmddmmmdyyyyysssoooh{1}MMMm.
+#     {0} `mNNNmmmmm{1}NMMMy-{0}  .+ssoooo++N{1}MMMN.
+#     {0} yNNmmmdm{1}MMMMN-  {0}    .ooo+++/d{1}MMMMd
+#     {0}-Nmmmddm{1}MMMMM:   {0}     .+++///y{1}MMMMM-
+#     {0}+mmdddd{1}MMMMMm    {0}      /////:y{1}MMMMM+
+#     {0}+ddddhd{1}MMMMMm    {0}      ///:::m{1}MMMMM+
+#     {0}-ddhhhd{1}MMMMMM-   {0}     `/::::y{1}MMMMMM-
+#     {0} shhyyh{1}MMMMMMm-  {0}    `:::::h{1}MMMMMMh
+#     {0} .yyyyyN{1}MMMMMMMs.{0}  `-:::/y{1}NMMMMMMm`
+#     {0}  .osssh{1}MMMMMMMMMmhyyydNMMMMMMMMd.
+#     {0}    :oood{1}MMMMMMMMMMMMMMMMMMMMMNo
+#     {0}     `:++yN{1}MMMMMMMMMMMMMMMMMNs.
+#     {0}        .-/ym{1}MMMMMMMMMMMMmy:
+#     {0}            `-/oyhhhys+:`
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#     chip: "#292929"
+# Jsonnet:
+#   type: programming
+#   ascii: |
+#     {0}        .       .
+#     {0}       /{1}:{0}\     /{1}:{0}\
+#     {0}      /{1}:::{0}\   /{1}:::{0}\
+#     {0}     /{1}:::::{0}\ /{1}:::::{0}\
+#     {0}   /|\{1}:::::{0}/|\{1}:::::{0}/|
+#     {0}  /{1}:{0}|#\{1}:::{0}/{1}.{0}|#\{1}:::{0}/{1}.{0}|
+#     {0} /{1}::{0}|##\{1}:{0}/{1}..{0}|##\{1}:{0}/{1}..{0}|
+#     {0}|\{1}::{0}|###|{1}...{0}|###|{1}...{0}|
+#     {0}|#\{1}:{0}|###|{1}...{0}|###|{1}...{0}|
+#     {0}|##\|###|{1}...{0}|###|{1}...{0}|
+#     {0}|#######|{1}..{0}/{1}:{0}\##|{1}..{0}/
+#     {0}|#######|{1}.{0}/{1}:::{0}\#|{1}.{0}/
+#     {0}|#######|/{1}:::::{0}\|/
+#     {0} \#######\{1}:::::{0}/|\
+#     {0}  \#######\{1}:::{0}/{1}.{0}|{1}:{0}\
+#     {0}   \#######\{1}:{0}/{1}..{0}|{1}::{0}\
+#     {0}    |#######|{1}...{0}|{1}::{0}/|
+#     {0}    |#######|{1}...{0}|{1}:{0}/{1}.{0}|
+#     {0}    |#######|{1}...{0}|/{1}..{0}|
+#     {0}    |###|\##|{1}..{0}/|{1}...{0}|
+#     {0}    |###|{1}.{0}\#|{1}.{0}/#|{1}...{0}|
+#     {0}    |###|{1}..{0}\|/##|{1}...{0}|
+#     {0}     \##|{1}..{0}/ \##|{1}..{0}/
+#     {0}      \#|{1}.{0}/   \#|{1}.{0}/
+#     {0}       \|/     \|/
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#     chip: "#0064BD"
+# Jsx:
+#   type: programming
+#   ascii: |
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSXJSX
+#     {0}JSXJSXJ   SXJS      XJSXJS{1}X{2}JSX{1}JSX{2}JSX{1}JSX
+#     {0}JSXJSXJ   SXJ   SXJSXJSXJ{1}SXJ{2}SXJ{1}S{2}XJS{1}XJSX
+#     {0}JSXJSXJ   SXJS   XJSXJSX{1}JSXJSX{2}JSX{1}JSXJSX
+#     {0}JSXJSXJ   SXJSX   JSXJS{1}XJSXJS{2}XJSXJ{1}SXJSX
+#     {0}JS   XJ   SXJSXJ   SXJ{1}SXJSXJ{2}SXJ{1}S{2}XJS{1}XJSX
+#     {0}JSX       JS      XJS{1}XJSXJS{2}XJS{1}XJS{2}XJS{1}XJS
+#     {0}JSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSXJSXJSXJSX
+#     {0}JSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSXJSXJSXJSX
+#   colors:
+#     ansi:
+#       - yellow
+#       - magenta
+#       - white
+#     hex:
+#       - "#ECE653"
+#       - "#B684D3"
+#       - "#FFFFFF"
+#     chip: "#F1E05A"
+# Julia:
+#   type: programming
+#   ascii: |
+#     {0}               {2}_
+#     {0}   {1}_       {0}_ {3}_{2}(_){4}_
+#     {0}  {1}(_)     {0}| {3}(_) {4}(_)
+#     {0}   _ _   _| |_  __ _
+#     {0}  | | | | | | |/ _` |
+#     {0}  | | |_| | | | (_| |
+#     {0} _/ |\__'_|_|_|\__'_|
+#     {0}|__/
+#   colors:
+#     ansi:
+#       - white
+#       - blue
+#       - green
+#       - red
+#       - magenta
+#     chip: "#A270BA"
+# Jupyter:
+#   type: programming
+#   ascii: |
+#     {0}                                 +%%%+
+#     {0}                                $$$$$$$
+#     {0}  +%+                           $$$$$$$
+#     {0} $$$$$           {1}******          {0}*%%%*
+#     {0}  *%*       {1}****************
+#     {1}        ************************
+#     {1}     ********              ********
+#     {1}   ***                            ***
+#     {1}  *                       {0}_          {1}*
+#     {0}  _  _   _  _ __   _   _ | |_  ___  _ _
+#     {0} | || | | || '_ \ | | | || __|/ _ \| '_|
+#     {0} | || |_| || |_) || |_| || |_ | __/| |
+#     {0} | | \__,_|| .__/  \__, | \__|\___||_|
+#     {0}/_/        |_|     |___/
+#     {1}  *                                  *
+#     {1}   ***                            ***
+#     {1}     ********              ********
+#     {1}        ************************
+#     {1}            ****************
+#     {0}    +%%%+        {1}******
+#     {0}   $$$$$$$
+#     {0}   $$$$$$$
+#     {0}    *%%%*
+#   colors:
+#     ansi:
+#       - white
+#       - yellow
+#       - white
+#     hex:
+#       - "#FFFFFF"
+#       - "#FF700F"
+#       - "#9E9E9E"
+#     chip: "#DA5B0B"
+#   serialization: jupyter-notebooks
+# Kotlin:
+#   type: programming
+#   ascii: |
+#     {0}KOTLIN{2}KOTLINKOTLINKO{1}TLINKOTLINKOTLINKOTL
+#     {0}KOTLINKO{2}TLINKOTLIN{1}KOTLINKOTLINKOTLINKO
+#     {0}KOTLINKOTL{2}INKOTL{1}INKOTLINKOTLINKOTLIN
+#     {0}KOTLINKOTLIN{2}KO{1}TLINKOTLINKOTLINKOTL
+#     {0}KOTLINKOTLIN{1}KOTLINKOTLINKOTLINKO
+#     {0}KOTLINKOTL{1}INKOTLINKOTLINKOTLIN
+#     {0}KOTLINKO{1}TLINKOTLINKOTLINKOTL
+#     {0}KOTLIN{1}KOTLINKOTLINKOTLINKO
+#     {0}KOTL{1}INKOTLINKOTLINKOTLIN
+#     {0}KO{1}TLINKOTLINKOTLINKOTL
+#     {1}KOTLINKOTLINKOTLINKO{2}TL
+#     {2}KO{1}TLINKOTLINKOTLIN{2}KOTLIN
+#     {2}KOTL{1}INKOTLINKOTL{2}INKOTLINKO
+#     {2}KOTLIN{1}KOTLINKO{2}TLINKOTLINKOTL
+#     {2}KOTLINKO{1}TLIN{0}K{2}OTLINKOTLINKOTLIN
+#     {2}KOTLINKOTL{0}INKOT{2}LINKOTLINKOTLINKO
+#     {2}KOTLINKO{0}TLINKOTLI{2}NKOTLINKOTLINKOTL
+#     {2}KOTLIN{0}KOTLINKOTLINK{2}OTLINKOTLINKOTLIN
+#     {2}KOTL{0}INKOTLINKOTLINKOT{2}LINKOTLINKOTLINKO
+#     {2}KO{0}TLINKOTLINKOTLINKOTLI{2}NKOTLINKOTLINKOTL
+#   colors:
+#     ansi:
+#       - blue
+#       - yellow
+#       - magenta
+#     chip: "#A97BFF"
+# Lisp:
+#   type: programming
+#   ascii: |
+#     {0}              ............
+#     {0}         ********..............
+#     {0}       *************.............
+#     {0}     ****************..............
+#     {0}   *******************...***.........
+#     {0}  **...********...*****...***.........
+#     {0} ***...*******...******....***.........
+#     {0}****...******...*******....****.........
+#     {0}*****...****...*******.....*****........
+#     {0}******...**...******.......******.......
+#     {0}*******......******.......***..***......
+#     {0}********.....*****.......***....***.....
+#     {0}*********....****.......***......***....
+#     {0} *********...****......***.......***...
+#     {0}  *********...***.....***........***..
+#     {0}   *********...***...................
+#     {0}     **************................
+#     {0}       *************.............
+#     {0}         **************........
+#     {0}              ************
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#3FB68B"
+# LLVM:
+#   type: programming
+#   ascii: |
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKK"              "KKKKKKKK
+#     {0}KKKKKKK     KKKKKKKKKK     "KKKKK
+#     {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
+#     {0}KKKK     KKKKKKKKKKKKKKKKK
+#     {0}KKKK      KKKKKKKKKKKKKKKKK
+#     {0}KKKK        KKKKKKKKKKKKKKKK
+#     {0}KKKK           KKKKKKKKKKKKKK
+#     {0}KKKK            KKKKKKKKKKKKK
+#     {0}KKKK            ,KKKKKKKKKKKK
+#     {0}KKKKKK,    ,     KKKKKKKKKKKK
+#     {0}KKKKKKKK   KK,    `KKKKKKKKKK
+#     {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
+#     {0} `KKKKKKKKKKKKKKKKKKKKKKK`
+#     {0}   `KKKKKKKKKKKKKKKKKKK`
+#     {0}      `KKKKKKKKKKKKKK`
+#   colors:
+#     ansi:
+#       - red
+#     hex:
+#       - "#98012E"
+#     chip: "#185619"
+# Lua:
+#   type: programming
+#   ascii: |
+#     {1}                 -- --
+#     {1}         --                 --{0} @@@@
+#     {1}      --      {0}@@@@@@@@@@@     @@@@@@
+#     {0}           @@@@@@@@@@@@@@@@@   @@@@
+#     {1}  --     {0}@@@@@@@@@@@@@@{2}****{0}@@@     {1}--
+#     {1} --    {0}@@@@@@@@@@@@@@@{2}******{0}@@@@    {1}--
+#     {0}      @@@@@@@@@@@@@@@@@{2}****{0}@@@@@@
+#     {1}--   {0}@@@{2}**{0}@@@@@@@@@@@@@@@@@@@@@@@@   {1}--
+#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@{2}******{0}@@@@   {1}--
+#     {0}     @@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}**{0}@@@{2}**{0}@@@@
+#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@@{2}*****{0}@@@@   {1}--
+#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}***{0}@@{2}**{0}@@@@   {1}--
+#     {0}      @@{2}*******{0}@{2}******{0}@{2}********{0}@@
+#     {1} --    {0}@@@@@@@@@@@@@@@@@@@@@@@@@    {1}--
+#     {1}  --     {0}@@@@@@@@@@@@@@@@@@@@@     {1}--
+#     {0}           @@@@@@@@@@@@@@@@@
+#     {1}      --      {0}@@@@@@@@@@@      {1}--
+#     {1}         --                 --
+#     {1}                 -- --
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#       - white
+#     hex:
+#       - "#2E007F"
+#       - "#808080"
+#       - "#FFFFFF"
+#     chip: "#000080"
+# Makefile:
+#   type: programming
+#   ascii: |
+#     {0}    _-`````-,           ,- '- .
+#     {0}  .'   .- - |          | - -.  `.
+#     {0} /.'  /                     `.   \
+#     {0}:/   :      {1}_...   ..._      {0}``   :
+#     {0}::   :     {1}/._ .`:'_.._\.    {0}||   :
+#     {0}::    `._ {1}./  ,`  :    \{0} . _.''   .
+#     {0}`:.      {1}/   |  -.  \-. \\_{0}      /
+#     {0}  \:._ {1}_/  .'   .{2}@{1})  \{2}@{1}) ` `\{0} ,.'
+#     {1}    {0}'{1}_/,--'       .- .\,-.`--`.
+#     {1}       ,'/''     (( \ `  )
+#     {1}        /'/'  \    `-'  (
+#     {1}         '/''  `._,-----'
+#     {1}          ''/'    .,---'
+#     {1}           ''/'      ;:
+#     {1}             ''/''  ''/
+#     {1}               ''/''/''
+#     {1}                 '/'/'
+#     {1}                  `;
+#   colors:
+#     ansi:
+#       - white
+#       - yellow
+#       - red
+#     hex:
+#       - "#FFFFFF"
+#       - "#FAEC9A"
+#       - "#610000"
+#     chip: "#427819"
+# Markdown:
+#   type: prose
+#   ascii: |
+#     {0}#######  {1} ,#####. .#####.
+#     {0}  ###    {1}########.########
+#     {0}  ###    {1}#################
+#     {0}  ###    {1}`###############'
+#     {0}  ###    {1} `#############'
+#     {0}  ###    {1}   `#########'
+#     {0}  ###    {1}     `#####'
+#     {0}#######  {1}       `#'
+#     {0}
+#     {0}####     ####     ###
+#     {0}#####   #####     ###
+#     {0}######.######     ###
+#     {0}### ##### ###     ###
+#     {0}###  ###  ###   #######
+#     {0}###   #   ###    #####
+#     {0}###       ###     ###
+#     {0}###       ###      #
+#   colors:
+#     ansi:
+#       - white
+#       - red
+#     chip: "#083FA1"
+#   line_types: [code, comments]
+# Nim:
+#   type: programming
+#   ascii: |
+#     {0}                   ++
+#     {0}       ++        ++++++        ++
+#     {0}      ++++++++++++++++++++++++++++
+#     {0}     ++++++++++++++++++++++++++++++
+#     {0}++  ++++++++++++++++++++++++++++++++  ++
+#     {0} ++++++++++++++++++++++++++++++++++++++
+#     {0}  +++++++++++              +++++++++++
+#     {0}   ++++++++                  ++++++++
+#     {0}    +++++                      +++++
+#     {1} ?   {0}++                          ++   {1}?
+#     {1}  ??             ??????             ??
+#     {1}   ???         ??????????         ???
+#     {1}    ????     ??????????????     ????
+#     {1}     ??????????????????????????????
+#     {1}      ????????????????????????????
+#     {1}       ??????????????????????????
+#     {1}         ??????????????????????
+#     {1}           ??????????????????
+#   colors:
+#     ansi:
+#       - yellow
+#       - white
+#     chip: "#FFC200"
+# Nix:
+#   type: programming
+#   ascii: |
+#     {1}         :::.    {0}':::::     ::::'
+#     {1}         '::::    {0}':::::.  ::::'
+#     {1}           ::::     {0}'::::.:::::
+#     {1}     ......:::::..... {0}::::::::
+#     {1}    :::::::::::::::::. {0}::::::    {1}::::.
+#     {1}   :::::::::::::::::::: {0}:::::.  {1}.::::'
+#     {0}         .....           {0}::::' {1}:::::'
+#     {0}        :::::            {0}'::' {1}:::::'
+#     {0} ......:::::               {0}' {1}::::::::::.
+#     {0}:::::::::::                 {1}::::::::::::
+#     {0} ::::::::: {1}..              {1}:::::
+#     {0}    .:::: {1}.:::            {1}:::::
+#     {0}   .::::  {1}:::::          {1}'''''    {0}.....
+#     {0}   ::::   {1}':::::.  {0}......:::::::::::::'
+#     {0}    ::     {1}::::::. {0}':::::::::::::::::'
+#     {1}           {1}.:::::::: {0}'::::::::::
+#     {1}          {1}.::::''::::.     {0}'::::.
+#     {1}         {1}.::::'   ::::.     {0}'::::.
+#     {1}        {1}.::::      ::::      {0}'::::.
+#   colors:
+#     ansi:
+#       - cyan
+#       - blue
+#     chip: "#7E7EFF"
+# ObjectiveC:
+#   type: programming
+#   ascii: |
+#     {0}888                                888
+#     {0}8    8888   8       8        8888    8
+#     {0}8   8    8  8               8    88  8
+#     {0}8  8      8 8       8      8         8
+#     {0}8  8      8 8 888   8      8         8
+#     {0}8  8      8 88   8  8 ==== 8         8
+#     {0}8  8      8 8    8  8      8      8  8
+#     {0}8   8    8  88   8  8       8    88  8
+#     {0}8    8888   8 888   8        88888   8
+#     {0}888                 8              888
+#     {0}                    8
+#     {0}                  88Y
+#   colors:
+#     ansi:
+#       - cyan
+#       - blue
+#     chip: "#438EFF"
+#   serialization: objective-c
+# OCaml:
+#   type: programming
+#   ascii: |
+#     {0}///////////////////////////////////////
+#     {0}///////////////////////////////////////
+#     {0}///////////////////////////////////////
+#     {0}///////////////////////////////////////
+#     {0}///////////////////////////////////////
+#     {0}///   \////    \///////////////////////
+#     {0}//      //      /////////     .////////
+#     {0}/                ///////         \/////
+#     {0}                  /////      //////////
+#     {0}                            ///////////
+#     {0}                           ////////////
+#     {0}  //                    ///////////////
+#     {0} /////////   ///   ////////////////////
+#     {0}/////////  //////  ////////////////////
+#     {0}////////  ///////  ////////////////////
+#     {0}///////  ////////  ////////////////////
+#     {0}//////  /////////  ////////////////////
+#   colors:
+#     ansi:
+#       - yellow
+#     chip: "#3BE133"
+# Odin:
+#   type: programming
+#   ascii: |
+#     {0}          @@@@@@@@@
+#     {0}      @@@@     @@@   @@@
+#     {0}    @@@@      @@@   @@@@@@
+#     {1}  @@@@       @@@   @@@  @@@@
+#     {1} @@@        @@@   @@@     @@@
+#     {1}@@@        @@@   @@@       @@@
+#     {2}@@@       @@@   @@@        @@@
+#     {2}@@@      @@@   @@@         @@@
+#     {2}@@@     @@@   @@@          @@@
+#     {3}@@@    @@@   @@@           @@@
+#     {3} @@@  @@@   @@@           @@@
+#     {3}  @@@@@@   @@@          @@@@
+#     {4}    @@@   @@@         @@@@
+#     {4}         @@@        @@@@
+#     {4}          @@@@@@@@@@
+#   colors:
+#     ansi:
+#       - blue
+#       - blue
+#       - blue
+#       - blue
+#       - blue
+#     hex:
+#       - "#265A99"
+#       - "#3473BE"
+#       - "#3F88DD"
+#       - "#4797F3"
+#       - "#499AF7"
+#     chip: "#60AFFE"
+# Org:
+#   type: prose
+#   ascii: |
+#     {2}                    j
+#     {2}                   eL
+#     {0}                Q {2}kD
+#     {0}            Nt{1}yew{2}kQ{0}y
+#     {1}       :r/2K{0}@Q@@@#N@@Qmir
+#     {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
+#     {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
+#     {1}?#QB#HKXej{0}D@QQRNkPD9|
+#     {1}SQNHDXwmXq{0}@@@QDR
+#     {1}=D6XwmSm{0}D@Q@@QDH
+#     {1} tXaZe{0}H@QQ@@@@QRdz
+#     {1}   u{0}QRQ@@@@@@@@@QDDd
+#     {0}     B@@@@@@@@@@@QDHDd
+#     {0}         Syz*:'--'~;\oM
+#   colors:
+#     ansi:
+#       - green
+#       - red
+#       - white
+#     chip: "#77AA99"
+# Oz:
+#   type: programming
+#   ascii: |
+#     {0}                   ooooooooo
+#     {0}               oooooo{1}zzz{0}oooooo
+#     {0}            oooooo{1}zzzzzz{0}ooooooo
+#     {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
+#     {0}      ooooooooooooooo{1}zzz{0}ooooooooo
+#     {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
+#     {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
+#     {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
+#     {0}ooo    oooooo    ooooooooooo   oooooo
+#     {0}oooo    oooooo   oooooooo      ooooooo
+#     {0} oooo    oooo   oooooo   ooo   oooooooo
+#     {0}  ooooooo    ooooooooooooooo   oooooooo
+#     {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
+#     {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
+#     {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
+#     {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
+#     {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
+#     {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
+#     {0}         ooooooo{1}zzzz{0}oooo
+#     {0}           ooooooooo
+#   colors:
+#     ansi:
+#       - yellow
+#       - white
+#     hex:
+#       - "#FCAF3E"
+#       - "#FFFFFF"
+#     chip: "#FAB738"
+# Pascal:
+#   type: programming
+#   ascii: |
+#     {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
+#     {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
+#     {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
+#     {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
+#     {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
+#     {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     chip: "#E3F171"
+# Perl:
+#   type: programming
+#   ascii: |
+#     {0}                  ######
+#     {0}    ###         #########
+#     {0} ########      ##########
+#     {0}#########     ############
+#     {0}   ######   ###############
+#     {0}  ####### ##################
+#     {0}  ####### ###################
+#     {0}  ############################
+#     {0}  #############################
+#     {0}  ########################### ##
+#     {0}    ######################### ##
+#     {0}     ###################  ### #
+#     {0}          ##### #### ###  ### #
+#     {0}          ####  #### ###   ##
+#     {0}          ####  ###  ###    #
+#     {0}           ##  ###   ###    #
+#     {0}           ##   ##   ##     #
+#     {0}           ##    #   #      #
+#     {0}           #       ##       #
+#     {0}           #       # #      #
+#     {0}           #     ### ##     ##
+#     {0}          ##
+#   colors:
+#     ansi:
+#       - cyan
+#     chip: "#0298C3"
+# Perl6:
+#   type: programming
+#   ascii: |
+#     {0} +@8DM#8W,
+#     {0}#DM"{1},ypy,{0}"8#
+#     {0}DDU {1}8M]N8u{0} DM
+#     {0}8DD {1}TMD8M,{0}8M  {4}8
+#     {0} 8D#=e@8MM^   {4}8
+#     {0}  *MDw  {4},.,+#M`
+#     {0}    "8#                   {0},e88DDDD8m,
+#     {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
+#     {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
+#     {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
+#     {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
+#     {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
+#     {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
+#     {1}   ``      {2}'"F*FFF*  {1},yw,
+#     {1}                  ,#]{0}[D8{1}8W
+#     {1}                  k8{0}]DDN8{1}8L
+#     {1}                  '8E{0}$DE8{1}8M
+#     {1}                    R#E#R^
+#   colors:
+#     ansi:
+#       - blue
+#       - red
+#       - yellow
+#       - white
+#       - green
+#     hex:
+#       - "#5B00FD"
+#       - "#FF005E"
+#       - "#F3FF27"
+#       - "#FFFFFF"
+#       - "#00FF39"
+#     chip: "#0000FB"
+#   serialization: raku
+# Php:
+#   type: programming
+#   ascii: |
+#     {0}            ################
+#     {0}      ##########{1}/  |{0}##############
+#     {0}   #############{1}|  |{0}#################
+#     {0} #####{1}/   __   \|   __   \/   __   \{0}###
+#     {0}######{1}|  |{0}##{1}|  ||  |{0}##{1}|  ||  |{0}##{1}|  |{0}####
+#     {0}######{1}|  |{0}##{1}/  ||  |{0}##{1}|  ||  |{0}##{1}/  |{0}####
+#     {0} #####{1}|   ____ /|__|{0}##{1}|__||   ____ /{0}###
+#     {0}   ###{1}|  |{0}################{1}|  |{0}#######
+#     {1}      |_ /{0}################{1}|_ /{0}####
+#     {0}            ################
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#777BB3"
+#       - "#FFFFFF"
+#     chip: "#4F5D95"
+# PowerShell:
+#   type: programming
+#   ascii: |
+#     {0}         #########################
+#     {0}        ####{1}####{0}#################
+#     {0}       ######{1}####{0}###############
+#     {0}      ########{1}####{0}#############
+#     {0}     ##########{1}####{0}###########
+#     {0}    #########{1}####{0}############
+#     {0}   ########{1}####{0}#############
+#     {0}  #######{1}####{0}##############
+#     {0} ######{1}####{0}#####{1}######{0}####
+#     {0}#########################
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#316CB9"
+#       - "#FFFFFF"
+#     chip: "#012456"
+# Processing:
+#   type: programming
+#   ascii: |
+#     {0}          PPPPPPPPPPPP
+#     {0}      PPPPPPPPPPPPPPPPPPPP
+#     {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
+#     {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
+#     {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
+#     {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
+#     {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
+#     {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
+#     {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
+#     {0}    PPPPPPPPPPPPPPPPPPPPPPPP
+#     {0}      PPPPPPPPPPPPPPPPPPPP
+#     {0}          PPPPPPPPPPPP
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#505050"
+#       - "#FFFFFF"
+#     chip: "#0096D8"
+# Prolog:
+#   type: programming
+#   ascii: |
+#     {0}            ############   #
+#     {0}       #################   ####
+#     {0}     ###################   ######
+#     {0}   #####################   #######
+#     {0}  ######################   ########
+#     {0} #######         #######   #########
+#     {0}######  ###        #####   ##########
+#     {0}#####  ####      #  ####   ##########
+#     {0}#####  #####    ##  ####   ##########
+#     {0}#####   #########   ####   ##########
+#     {0}#####     #####   #######    ########
+#     {0} ####           ###########       ##
+#     {0}  ###   ###########################
+#     {0}    #   ##########################
+#     {0}        ########################
+#     {0}        ######################
+#     {0}           ################
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#74283C"
+# Protobuf:
+#   type: programming
+#   ascii: |
+#     {0}      ;;;;;;;;     {2}::::::::
+#     {0}     ;;;;;;;;       {2}::::::::
+#     {0}    ;;;;;;;;         {2}::::::::
+#     {1}   :{0};;;;;;;           {2}::::::::
+#     {1}  :::{0};;;;;             {2}::::::::
+#     {1} :::::{0};;;               {2}::::::::
+#     {1}:::::::{0};                {3};{2}:::::::
+#     {1}::::::::               {3};;;{2}:::::
+#     {1} ::::::::             {3};;;;;{2}:::
+#     {1}  ::::::::           {3};;;;;;;{2}:
+#     {1}   ::::::::         {3};;;;;;;;
+#     {1}    ::::::::       {3};;;;;;;;
+#     {1}     ::::::::     {3};;;;;;;;
+#   colors:
+#     ansi:
+#       - red
+#       - blue
+#       - green
+#       - yellow
+#     chip: "#74283C"
+#   serialization: protocol-buffers
+# PureScript:
+#   type: programming
+#   ascii: |
+#     {0}           \\\\\\\\\\\\\\    \\\\\
+#     {0}            \\\\\\\\\\\\\\     \\\\\
+#     {0}    /////                        \\\\\
+#     {0}  /////      //////////////      /////
+#     {0}/////       //////////////     /////
+#     {0}\\\\\                        /////
+#     {0}  \\\\\     \\\\\\\\\\\\\\
+#     {0}    \\\\\    \\\\\\\\\\\\\\
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#1D222D"
+# Python:
+#   type: programming
+#   ascii: |
+#     {0}               =========
+#     {0}            ===============
+#     {0}           =================
+#     {0}          ===  ==============
+#     {0}          ===================
+#     {0}                   ==========
+#     {0}   ========================== {1}=======
+#     {0} ============================ {1}========
+#     {0}============================= {1}=========
+#     {0}============================ {1}==========
+#     {0}========================== {1}============
+#     {0}============ {1}==========================
+#     {0}========== {1}============================
+#     {0}========= {1}=============================
+#     {0} ======== {1}============================
+#     {0}  ======= {1}==========================
+#     {1}          ==========
+#     {1}          ===================
+#     {1}          ==============  ===
+#     {1}           =================
+#     {1}            ===============
+#     {1}               =========
+#   colors:
+#     ansi:
+#       - blue
+#       - yellow
+#     hex:
+#       - "#2F69A2"
+#       - "#FFD940"
+#     chip: "#3572A5"
+# Qml:
+#   type: programming
+#   ascii: |
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
+#     {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
+#     {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
+#     {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
+#     {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+#     {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+#     {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
+#   colors:
+#     ansi:
+#       - green
+#       - white
+#       - green
+#     hex:
+#       - "#80C342"
+#       - "#FFFFFF"
+#       - "#4D7528"
+#     chip: "#44A51C"
+# R:
+#   type: programming
+#   ascii: |
+#     {0}             .,,,,,,,,,,,,,
+#     {0}       ,,,,,,,,,,,,,,,,,********
+#     {0}    ,,,,,,,,,,,,,,,,,**************
+#     {0}  ,,,,,,,,,,,,                  *****
+#     {0} ,,,,,,,,,      {1}RRRRRRRRRRRRRRRR   {0}***
+#     {0},,,,,,,,,       {1}RRRRRRRRRRRRRRRRRRR {0}***
+#     {0},,,,,,,,        {1}RRRRRRRRRRRRRRRRRRRR {0}//
+#     {0},,,,,,*         {1}RRRRRRR      RRRRRRR {0}//
+#     {0},,,*****        {1}RRRRRRR     RRRRRRR  {0}//
+#     {0} ********       {1}RRRRRRRRRRRRRRRRRR  {0}//
+#     {0}   *********    {1}RRRRRRRRRRRRRR    {0}//
+#     {0}      **********{1}RRRRRRR   RRRRRRR
+#     {0}         *******{1}RRRRRRR    RRRRRRR
+#     {1}                RRRRRRR     RRRRRRRR
+#   colors:
+#     ansi:
+#       - white
+#       - blue
+#     chip: "#198CE7"
+# Racket:
+#   type: programming
+#   ascii: |
+#     {0}            {2}.:--::////::--.`
+#     {0}        {1}`/yNMMNho{2}////////////:.
+#     {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
+#     {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
+#     {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
+#     {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
+#     {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
+#     {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
+#     {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
+#     {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
+#     {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
+#     {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
+#     {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
+#     {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
+#     {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
+#     {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
+#     {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
+#     {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
+#     {0}        {1}`/s{0}::::::::::::::::::{1}o/`
+#     {0}            ``.---::::---..`
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#       - blue
+#     chip: "#3C5CAA"
+# Renpy:
+#   type: programming
+#   ascii: |
+#     {0}       ++++++
+#     {0}     ++++++++++
+#     {0}    ++++++++++++
+#     {0}   ++++++++++++++
+#     {0}   ++++++++++++++++
+#     {0}  +++++++++++++{1}***{0}+++
+#     {0}  +++++++{1}***********
+#     {0} +++++{1}**************
+#     {0}+++{1}*****************
+#     {0}++{1}********{2}#{1}**********
+#     {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
+#     {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
+#     {1} *****{2}##########{1}*{2}#{1}***
+#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+#     {1} *****{2}############{1}***
+#     {1} *****{2}#####{5}--{2}####{1}***
+#     {1}  **{4}#####{2}#######{1}**
+#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
+#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
+#     {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
+#     {4}    #####{6}++++++{4}#####
+#     {4}     ###{6}++++++++{4}####
+#     {6}     +++++++++++{4}####
+#     {6}     ++++++++++{4}####
+#   colors:
+#     ansi:
+#       - white
+#       - red
+#       - white
+#       - blue
+#       - yellow
+#       - white
+#       - magenta
+#     hex:
+#       - "#EADBCC"
+#       - "#FF7F7F"
+#       - "#FBEEE2"
+#       - "#495F8E"
+#       - "#FAE45A"
+#       - "#FFFFFF"
+#       - "#B5A396"
+#     chip: "#FF7F7F"
+# Ruby:
+#   type: programming
+#   ascii: |
+#     {0}                    ###{2}###{3}###{4}#{1}.{4}#
+#     {0}                  ###{2}###{3}###{4}##{1}.{5}##
+#     {0}                ##{1}.{2}###{3}###{4}###{1}.{5}###
+#     {0}              ###{2}##{1}.{3}###{4}###{5}#{1}.{5}#{6}###
+#     {0}            ###{2}###{3}##{1}.{4}###{5}##{1}.{6}###{7}##
+#     {0}          ###{2}###{3}###{4}##{1}.{5}###{1}.{6}##{7}####
+#     {0}        ###{2}###{3}###{4}###{5}##{1}.{6}#{1}.{6}#{7}######
+#     {0}      #{1}.{0}*{2}***{3}***{4}***{5}***{6}**{1}.{7}###{8}#####
+#     {0}    ###{1}.{2}##{3}###{4}###{5}###{6}##{1}.{7}##{1}.{8}#######
+#     {0}  ####{2}#{1}.{2}#{3}###{4}###{5}###{6}#{1}.{6}#{7}###{8}#{1}.{8}######
+#     {0}#####{2}##{1}.{3}###{4}###{5}###{1}.{6}##{7}###{8}###{1}.{8}#####
+#     {0} #####{2}#{1}.{2}#{3}###{4}###{1}.{5}###{6}###{7}###{8}##{1}.{8}####
+#     {0}  #####{1}.{2}##{3}###{1}.{4}##{5}###{6}###{7}###{8}###{1}.{9}###
+#     {0}   ####{1}.{3}###{1}.{4}##{5}###{6}###{7}###{8}###{9}###{1}.{9}##
+#     {0}    ###{1}.{2}#{1}.{3}##{4}###{5}###{6}###{7}###{8}###{9}###{1}.{9}#
+#   colors:
+#     ansi:
+#       - red
+#       - black
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#     hex:
+#       - "#F30301"
+#       - "#555555"
+#       - "#E80603"
+#       - "#DC0904"
+#       - "#D10C06"
+#       - "#C50F07"
+#       - "#BA1109"
+#       - "#AE140A"
+#       - "#A3170C"
+#       - "#971A0D"
+#     chip: "#701516"
+# Rust:
+#   type: programming
+#   ascii: |
+#     {0}                 R RR RR
+#     {0}              R RRRRRRRR R          R
+#     {0} R RR       R RRRRRRRRRRRRR R      RR
+#     {0}rR RRR    R RRRRRRRRRRRRRRRRR R   RRR R
+#     {0}RRR RR   RRRRRRRRRRRRRRRRRRRRRRR  RRRRR
+#     {0} RRRRR  RRRRRRRRRRRRRRRRRRRRRRRR  RRRR
+#     {0}  RRR RRRRRRRRRRRRRRRRRRRRRRRRRRRR RR
+#     {0}    R  RRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRRR
+#     {0}     RRRRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRR
+#     {0}      RRRRRRRRRRR   RR   RRRRRRRRRR
+#     {0}     RR==RRRRRRRRRRRRRRRRRRRRRR===RR
+#     {0}     RR =  ==RRRRRRR  RRRRRR==  = RR
+#     {0}      RR =     ===========     = RR
+#     {0}       RR                        R
+#     {0}        R                       R
+#     {0}         R
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#     hex:
+#       - "#E43717"
+#       - "#FFFFFF"
+#     chip: "#DEA584"
+# Sass:
+#   type: markup
+#   ascii: |
+#     {0}            ,wppbbbbbp,
+#     {0}       ,wpb@KP"``` ``"T@b
+#     {0}    ,pb@P"`            @@
+#     {0}  ,b@P`               /@P
+#     {0} p@b`               ,bK`
+#     {0}{@@      'w,  ,,wpbP*`
+#     {0} 0@b        ````      ,pp  ;@@
+#     {0}  "0bw        ,bPK   ,K@L /PT@
+#     {0}     "0b, ,,pbP  @b .b Tb{"  $bP"""*Tb,
+#     {0}      ,/b@P &@  0@M.b  ,@K ,P @L      `b
+#     {0}   ,pb"  Ib @@ &h@bP ,pCpP bb*`       /`
+#     {0}  p@`   ,@` `bb` T"  ""`
+#     {0}  @@w,pbK`
+#     {0}  `***^
+#   colors:
+#     ansi:
+#       - magenta
+#     hex:
+#       - "#CD6799"
+#     chip: "#A53B70"
+# Scala:
+#   type: programming
+#   ascii: |
+#     {0}                        +
+#     {0}                      +++
+#     {0}          +++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++{1}-------
+#     {0}+++{1}-------------------{0}+++
+#     {1}        ---{0}++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++{1}-------
+#     {0}+++{1}-------------------{0}+++
+#     {1}        ---{0}++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++
+#     {0}+++
+#   colors:
+#     ansi:
+#       - red
+#       - red
+#     hex:
+#       - "#DF3F3D"
+#       - "#7F0C1D"
+#     chip: "#C22D40"
+# Scheme:
+#   type: programming
+#   ascii: |
+#     {0}  ////
+#     {0} //  //
+#     {0} /    //
+#     {0}       //
+#     {0}        //
+#     {0}         //
+#     {0}        ////
+#     {0}       /// //
+#     {0}      ///   //
+#     {0}     ///     //
+#     {0}    ///       //    /
+#     {0}   ///         //  //
+#     {0}  ///           ////
+#   colors:
+#     ansi:
+#       - white
+#     hex:
+#       - "#555555"
+#     chip: "#1E4AEC"
+# Sh:
+#   type: programming
+#   ascii: |
+#     {0}              ___       ___        ___
+#     {0}             ####      ####       ####
+#     {0}            ####      ####       ####
+#     {0}      _____####______####___    ####
+#     {0}     #######################   ####
+#     {0}    #######################   ####
+#     {0}        ####      ####       ####
+#     {0}       ####      ####       ####
+#     {0}  ____####______####____   ####
+#     {0} #######################  ####
+#     {0}#######################  ___
+#     {0}   ####      ####       ####
+#     {0}  ####      ####       ####
+#     {0} ####      ####       ####
+#   colors:
+#     ansi:
+#       - green
+#     chip: "#89E051"
+#   serialization: shell
+# Solidity:
+#   type: programming
+#   ascii: |
+#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+#     {0}MMMMMMMMMMMM{2}SS{3}SSSSSSSSSS{4}SS{0}MMMMMMMMMMMM
+#     {0}MMMMMMMMMMM{2}SSSS{3}SSSSSSSS{4}SSSS{0}MMMMMMMMMMM
+#     {0}MMMMMMMMMM{2}SSSSSS{3}SSSSSS{4}SSSSSS{0}MMMMMMMMMM
+#     {0}MMMMMMMMM{2}SSSSSSSS{3}SSSS{4}SSSSSSSS{0}MMMMMMMMM
+#     {0}MMMMMMMM{2}SSSSSSSSSS{3}SS{4}SSSSSSSSSS{0}MMMMMMMM
+#     {0}MMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMMMMMMMMMMMMMM
+#     {0}MMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMMMMMMMMMMMMMM
+#     {0}MMMMMMMMMM{1}SSSSSS{0}MMMMMMMM{1}SS{0}MMMMMMMMMMMM
+#     {0}MMMMMMMMMMM{1}SSSS{0}MMMMMMMM{1}SSSS{0}MMMMMMMMMMM
+#     {0}MMMMMMMMMMMM{1}SS{0}MMMMMMMM{1}SSSSSS{0}MMMMMMMMMM
+#     {0}MMMMMMMMMMMMMMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMM
+#     {0}MMMMMMMMMMMMMMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMM
+#     {0}MMMMMMMM{4}SSSSSSSSSS{3}SS{2}SSSSSSSSSS{0}MMMMMMMM
+#     {0}MMMMMMMMM{4}SSSSSSSS{3}SSSS{2}SSSSSSSS{0}MMMMMMMMM
+#     {0}MMMMMMMMMM{4}SSSSSS{3}SSSSSS{2}SSSSSS{0}MMMMMMMMMM
+#     {0}MMMMMMMMMMM{4}SSSS{3}SSSSSSSS{2}SSSS{0}MMMMMMMMMMM
+#     {0}MMMMMMMMMMMM{4}SS{3}SSSSSSSSSS{2}SS{0}MMMMMMMMMMMM
+#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#       - black
+#       - black
+#       - black
+#     hex:
+#       - "#FFFFFF"
+#       - "#2E2E2E"
+#       - "#1A1A1A"
+#       - "#333333"
+#       - "#515151"
+#     chip: "#AA6746"
+# Sql:
+#   type: data
+#   ascii: |
+#     {0}   _..------.._
+#     {0}.-~            ~-.
+#     {0}|                |
+#     {0}|"-..________..-"|
+#     {0}|                | {1} ____   ___  _
+#     {0}|                | {1}/ ___| / _ \| |
+#     {0}|"-..________..-"| {1}\___ \| | | | |
+#     {0}|                | {1} ___) | |_| | |___
+#     {0}|                | {1}|____/ \__\_|_____|
+#     {0}|"-..________..-"|
+#     {0}|                |
+#     {0}|                |
+#     {0} "-..________..-"
+#   colors:
+#     ansi:
+#       - cyan
+#       - yellow
+#     chip: "#E38C00"
+# Svelte:
+#   type: markup
+#   ascii: |
+#     {0}SSSSSSSSSSSSSSSSSS{1}sssssssssss{0}SSSSSSSS
+#     {0}SSSSSSSSSSSSSSS{1}sssssssssssssssss{0}SSSSS
+#     {0}SSSSSSSSSSS{1}sssssssssss{0}SSSS{1}ssssssss{0}SSS
+#     {0}SSSSSSSS{1}ssssssssss{0}SSSSSSSSSSS{1}sssssss{0}S
+#     {0}SSSSS{1}sssssssss{0}SSSSSSSSSSSSSSSSS{1}sssss{0}S
+#     {0}SSS{1}ssssssss{0}SSSSSSSSSS{1}sssss{0}SSSSSS{1}ssss{0}S
+#     {0}S{1}sssssss{0}SSSSSSSSSS{1}sssssssss{0}SSSSS{1}ssss{0}S
+#     {0}S{1}sssss{0}SSSSSSSSS{1}sssssssssssssssssssss{0}S
+#     {0}S{1}sssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}ssssssssss{0}S
+#     {0}S{1}sssss{0}SSSSS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SS
+#     {0}S{1}sssss{0}SSSSSSSSSSSSSSSSSSSSSSSSS{1}sssss{0}S
+#     {0}SS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SSSSS{1}sssss{0}S
+#     {0}S{1}ssssssssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}sssss{0}S
+#     {0}S{1}sssssssssssssssssssss{0}SSSSSSSSS{1}sssss{0}S
+#     {0}S{1}ssss{0}SSSSS{1}sssssssss{0}SSSSSSSSSS{1}ssssss{0}SS
+#     {0}S{1}ssss{0}SSSSSS{1}sssss{0}SSSSSSSSSS{1}ssssssss{0}SSS
+#     {0}S{1}sssss{0}SSSSSSSSSSSSSSSSS{1}sssssssss{0}SSSSS
+#     {0}S{1}sssssss{0}SSSSSSSSSSS{1}ssssssssss{0}SSSSSSSS
+#     {0}SSS{1}ssssssss{0}SSSS{1}sssssssssss{0}SSSSSSSSSSS
+#     {0}SSSSS{1}sssssssssssssssss{0}SSSSSSSSSSSSSSS
+#     {0}SSSSSSSS{1}sssssssssss{0}SSSSSSSSSSSSSSSSSS
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#     hex:
+#       - "#FF3C00"
+#       - "#FFFFFF"
+#     chip: "#FF3E00"
+# Svg:
+#   type: data
+#   ascii: |
+#     {0}                 ......
+#     {0}               ....{1}--{0}....
+#     {0}        ....  {0}...{1}------{0}...  {0}....
+#     {0}     ............{1}------{0}............
+#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+#     {0}  ..........{1}----------------{0}..........
+#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+#     {0}...{1}----------------------------------{0}...
+#     {0}...{1}----------------------------------{0}...
+#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+#     {0}  ..........{1}----------------{0}..........
+#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+#     {0}     ............{1}------{0}............
+#     {0}        ....  {0}...{1}------{0}...  {0}....
+#     {0}               ....{1}--{0}....
+#     {0}                 ......
+#   colors:
+#     ansi:
+#       - white
+#       - yellow
+#     hex:
+#       - "#FFFFFF"
+#       - "#EBA71F"
+#     chip: "#FF9900"
+# Swift:
+#   type: programming
+#   ascii: |
+#     {0}                         :
+#     {0}                          ::
+#     {1}                           :::
+#     {1}          :                ::::
+#     {2}     :     :                ::::
+#     {2}      :     ::              :::::
+#     {3}       ::    :::             :::::
+#     {3}        :::    :::           ::::::
+#     {4}          :::   :::          :::::::
+#     {4}           ::::  ::::        :::::::
+#     {5}            :::::::::::      ::::::::
+#     {5}              :::::::::::   :::::::::
+#     {5}               ::::::::::::::::::::::
+#     {6}                :::::::::::::::::::::
+#     {6}                  :::::::::::::::::::
+#     {6}:                   :::::::::::::::::
+#     {7} ::                   ::::::::::::::
+#     {7}   ::::              ::::::::::::::::
+#     {7}    ::::::::::::::::::::::::::::::::::
+#     {8}      :::::::::::::::::::::::::::::::::
+#     {8}        :::::::::::::::::::::::::::::::
+#     {8}          ::::::::::::::::::::::   :::::
+#     {9}             .::::::::::::::.         ::
+#     {9}
+#   colors:
+#     ansi:
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#       - red
+#     hex:
+#       - "#F88134"
+#       - "#F97732"
+#       - "#F96D30"
+#       - "#FA632E"
+#       - "#FA592C"
+#       - "#FB502A"
+#       - "#FB4628"
+#       - "#FC3C26"
+#       - "#FC3224"
+#       - "#FD2822"
+#     chip: "#F05138"
+# SystemVerilog:
+#   type: programming
+#   ascii: |
+#     {0}     _.._   _.._   _.._   _.._
+#     {0}     _.._   _.._   _.._   _.._
+#     {0} .................................
+#     {0}.               {1}----              {0}.
+#     {0}.          {1}--------------         {0}.
+#     {0}.        {1}----       ---------     {0}.
+#     {0}.      {1}---                -----   {0}.
+#     {0}.     {1}-    #####  #     #  -----  {0}.
+#     {0}.         {1}#     # #     #         {0}.
+#     {0}.         {1}#       #     #         {0}.
+#     {0}.          {1}#####  #     #         {0}.
+#     {0}.               {1}#  #   #          {0}.
+#     {0}.         {1}#     #   # #           {0}.
+#     {0}.  {1}-----   #####     #      -     {0}.
+#     {0}.   {1}-----                ---      {0}.
+#     {0}.     {1}---------       ----        {0}.
+#     {0}.         {1}--------------          {0}.
+#     {0}.              {1}----               {0}.
+#     {0} .................................
+#     {0}     _.._   _.._   _.._   _.._
+#     {0}     _.._   _.._   _.._   _.._
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     chip: "#DAE1C2"
+# Tcl:
+#   type: programming
+#   ascii: |
+#     {0}          //
+#     {2}      . /{0}////
+#     {2}     /{0}/////// .
+#     {2}     //{0}//{1}/{0}/////
+#     {2}    //{0}//{1}/{0}/////
+#     {2}  . //{0}/{1}//{0}////
+#     {2}  //{0}//{1}//{0}////
+#     {2}  //{0}/{1}//{0}/////
+#     {2}  /{0}//{1}//{0}////
+#     {2}  /{0}/{1}//{0}////  .
+#     {2}. /{0}/{1}//{0}/////
+#     {2} /{0}/{1}//{0}////
+#     {2}  /{1}//{0}//
+#     {0}   {1}//
+#     {0}   {1}//
+#     {0}    {1}/
+#     {0}     {1}/
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#       - cyan
+#     chip: "#E4CC98"
+# Tex:
+#   type: markup
+#   ascii: |
+#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+#     {0}$$$            $$$$$$$      $$$$$     $$
+#     {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
+#     {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
+#     {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
+#     {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
+#     {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
+#     {0}$$$$$        $$  $$$$$     $$$$$$     $$
+#     {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#     chip: "#3D6117"
+# Toml:
+#   type: data
+#   ascii: |
+#     {0}[[[[[[[[                    ]]]]]]]]
+#     {0}[[[[[[[[                    ]]]]]]]]
+#     {0}[[[[                            ]]]]
+#     {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
+#     {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[            {1}TTTT{0}            ]]]]
+#     {0}[[[[[[[[                    ]]]]]]]]
+#     {0}[[[[[[[[                    ]]]]]]]]
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#     hex:
+#       - "#9C4221"
+#       - "#FFFFFF"
+#     chip: "#9C4221"
+# Tsx:
+#   type: programming
+#   ascii: |
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSXTSX
+#     {0}TS{2}XTSXTSXTS{0}XTSX{2}TSXTSX{0}TSXTS{1}X{2}TSX{1}TSX{2}TSX{1}TSX
+#     {0}TSXTS{2}XTS{0}XTSXTS{2}XTS{0}XTSXTSXT{1}SXT{2}SXT{1}S{2}XTS{1}XTSX
+#     {0}TSXTS{2}XTS{0}XTSXTSX{2}TSX{0}TSXTSX{1}TSXTSX{2}TSX{1}TSXTSX
+#     {0}TSXTS{2}XTS{0}XTSXTSXT{2}SXT{0}SXTS{1}XTSXTS{2}XTSXT{1}TSTSX
+#     {0}TSXTS{2}XTS{0}XTSXTSXTS{2}XTS{0}XT{1}SXTSXT{2}SXT{1}S{2}XTS{1}XTSX
+#     {0}TSXTS{2}XTS{0}XTSXT{2}SXTSXT{0}SX{1}TSXTSX{2}TSX{1}TSX{2}TSX{1}TSX
+#     {0}TSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSXTSXTSXTSX
+#     {0}TSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSXTSXTSXTSX
+#   colors:
+#     ansi:
+#       - cyan
+#       - magenta
+#       - white
+#     hex:
+#       - "#007ACC"
+#       - "#8A53A6"
+#       - "#FFFFFF"
+#     chip: "#2B7489"
+# TypeScript:
+#   type: programming
+#   ascii: |
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TSTS{1}TSTSTS{0}TSTSTS
+#     {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TS{1}TSTSTSTSTS{0}TSTS
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTS{1}TSTST{0}TSTSTSTST
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTS{0}TSTSTSTS
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTST{1}STSTS{0}TSTSTS
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTST{1}STSTS{0}TSTS
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTSTS{1}TSTST{0}TST
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTSTSTST{0}STS
+#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSSTS{1}TSTSTS{0}TSTST
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+#   colors:
+#     ansi:
+#       - cyan
+#       - white
+#     hex:
+#       - "#007ACC"
+#       - "#FFFFFF"
+#     chip: "#2B7489"
+# Vala:
+#   type: programming
+#   ascii: |
+#     {0} ###################################
+#     {0}#####################################
+#     {0}#####################################
+#     {0}############{1}######{0}##########{1}##{0}#######
+#     {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
+#     {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
+#     {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
+#     {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
+#     {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
+#     {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
+#     {0}##############{1}####{0}###{1}##{0}##############
+#     {0}##############{1}####{0}##{1}##{0}###############
+#     {0}##############{1}####{0}#{1}##{0}################
+#     {0}##############{1}######{0}#################
+#     {0}##############{1}#####{0}##################
+#     {0}##############{1}####{0}###################
+#     {0}#####################################
+#     {0}#####################################
+#     {0} ###################################
+#   colors:
+#     ansi:
+#       - magenta
+#       - white
+#     chip: "#A56DE2"
+# Verilog:
+#   type: programming
+#   ascii: |
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}     _......................._
+#     {0}    _.{1}-----             -----{0}._
+#     {0}_..._.{1} ---               --- {0}._..._
+#     {0}_..._.{1}  ---             ---  {0}._..._
+#     {0}    _.{1}   ---           ---   {0}._
+#     {0}    _.{1}    ---         ---    {0}._
+#     {0}_..._.{1}     ---       ---     {0}._..._
+#     {0}_..._.{1}      ---     ---      {0}._..._
+#     {0}    _.{1}       ---   ---       {0}._
+#     {0}    _.{1}        --- ---        {0}._
+#     {0}_..._.{1}         -----         {0}._..._
+#     {0}_..._.{1}          ---          {0}._..._
+#     {0}    _.{1}           -           {0}._
+#     {0}     _......................._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#   colors:
+#     ansi:
+#       - white
+#       - magenta
+#     chip: "#b2b7f8"
+# Vhdl:
+#   type: programming
+#   ascii: |
+#     {0}        |  |  |  |
+#     {0}       {1}------------
+#     {0}    --{1}|    {2}----    {1}|{0}--
+#     {0}    --{1}|   {2}|    |   {1}|{0}--
+#     {0}    --{1}|   {2}|    |   {1}|{0}--
+#     {0}    --{1}|    {2}----    {1}|{0}--
+#     {0}       {1}------------
+#     {0}        |  |  |  |
+#     {2}__     ___   _ ____  _
+#     {2}\ \   / / | | |  _ \| |
+#     {2} \ \ / /| |_| | | | | |
+#     {2}  \ V / |  _  | |_| | |___
+#     {2}   \_/  |_| |_|____/|_____|
+#   colors:
+#     ansi:
+#       - yellow
+#       - green
+#       - white
+#     chip: "#ADB2CB"
+# VimScript:
+#   type: programming
+#   ascii: |
+#     {1}     ________{0}  ++    {1}________
+#     {1}    /{2}VVVVVVVV{1}\{0}++++  {1}/{2}VVVVVVVV{1}\
+#     {1}    \{2}VVVVVVVV{1}/{0}++++++{1}\{2}VVVVVVVV{1}/
+#     {1}     |{2}VVVVVV{1}|{0}++++++++{1}/{2}VVVVV{1}/'
+#     {1}     |{2}VVVVVV{1}|{0}++++++{1}/{2}VVVVV{1}/'
+#     {0}    +{1}|{2}VVVVVV{1}|{0}++++{1}/{2}VVVVV{1}/'{0}+
+#     {0}  +++{1}|{2}VVVVVV{1}|{0}++{1}/{2}VVVVV{1}/'{0}+++++
+#     {0}+++++{1}|{2}VVVVVV{1}|/{2}VVV{1}___{0}++++++++++
+#     {0}  +++{1}|{2}VVVVVVVVVV{1}/{2}##{1}/ {0}+{1}_{0}+{1}_{0}+{1}_{0}+{1}_
+#     {0}    +{1}|{2}VVVVVVVVV{1}___ {0}+{1}/{2}#{1}_{2}#{1},{2}#{1}_{2}#{1},\
+#     {1}     |{2}VVVVVVV{1}//{2}##{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/'/{2}#{1}/
+#     {1}     |{2}VVVVV{1}/'{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/
+#     {1}     |{2}VVV{1}/'{0}++{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/ /{2}#{1}/
+#     {1}     '{2}V{1}/'  /{2}##{1}//{2}##{1}//{2}##{1}//{2}###{1}/
+#     {0}              ++
+#   colors:
+#     ansi:
+#       - green
+#       - black
+#       - white
+#     chip: "#199F4B"
+# VisualBasic:
+#   type: programming
+#   ascii: |
+#     {1}             ::::::::::
+#     {1}         ::::::::::::::::::
+#     {1}      ::::::::::::::::::::::::
+#     {0}    &&&&{1}::::::::::::::::::::::::
+#     {0}  &&&&&&&&{1}::::::::::::::::::::::::
+#     {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
+#     {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
+#     {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
+#     {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
+#     {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
+#     {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
+#     {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
+#     {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
+#     {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
+#     {0}      &&&&&&&&&&&&&&&&&&&&&&&&
+#     {0}         &&&&&&&&&&&&&&&&&&
+#     {0}             &&&&&&&&&&
+#   colors:
+#     ansi:
+#       - blue
+#       - blue
+#       - white
+#     hex:
+#       - "#195F97"
+#       - "#004E8C"
+#       - "#FFFFFF"
+#     chip: "#945db7"
+# Vue:
+#   type: programming
+#   ascii: |
+#     {0}VUE{1}\\\\\                /////{0}VUE
+#     {0} VUE{1}\\\\\              /////{0}VUE
+#     {0}  VUE{1}\\\\\            /////{0}VUE
+#     {0}   VUE{1}\\\\\          /////{0}VUE
+#     {0}    VUE{1}\\\\\        /////{0}VUE
+#     {0}     VUE{1}\\\\\      /////{0}VUE
+#     {0}      VUE{1}\\\\\    /////{0}VUE
+#     {0}       VUE{1}\\\\\  /////{0}VUE
+#     {0}        VUE{1}\\\\\/////{0}VUE
+#     {0}         VUE{1}\\\\////{0}VUE
+#     {0}          VUE{1}\\\///{0}VUE
+#     {0}           VUE{1}\\//{0}VUE
+#     {0}            VUE{1}||{0}VUE
+#     {0}             VUEVUE
+#     {0}              VUEV
+#   colors:
+#     ansi:
+#       - green
+#       - blue
+#     chip: "#199F4B"
+# WebAssembly:
+#   type: programming
+#   ascii: |
+#     {0}:::::::::::             ::::::::::::
+#     {0}::::::::::::           :::::::::::::
+#     {0}:::::::::::::::     ::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
+#     {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
+#     {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
+#     {0}::::::::::::::::::::::::::::::::::::
+#   colors:
+#     ansi:
+#       - magenta
+#       - white
+#     hex:
+#       - "#654FF0"
+#       - "#FFFFFF"
+#     chip: "#04133B"
+# Wolfram:
+#   type: programming
+#   ascii: |
+#     {0}             OOOOOOOOOOOOOO
+#     {0}         OOOOOO  OOOOOOOOOOOOOO
+#     {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
+#     {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
+#     {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
+#     {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
+#     {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
+#     {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
+#     {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
+#     {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+#     {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
+#     {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
+#     {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
+#     {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
+#     {1}   WWWWW..............  {0}.........OOOOO
+#     {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+#     {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
+#     {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
+#     {1}         WWWWWWWWWWWWWWWW{0}     OO
+#     {1}             WWWWWWWWWWWWW{0}
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#       - black
+#     hex:
+#       - "#FF0A01"
+#       - "#FFFFFF"
+#       - "#000000"
+#     chip: "#DD1100"
+# Xaml:
+#   type: data
+#   ascii: |
+#     {0}        :::::::::::::::::::::..
+#     {0}       :::{1}------{0}::::::::::::....
+#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+#     {0}:::{1}------{0}::::::::::::.........{1}------{0}...
+#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+#     {0}       :::{1}------{0}::::::::::::....
+#     {0}        :::::::::::::::::::::..
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#3378CE"
+#       - "#FFFFFF"
+#     chip: "#0060AC"
+# Xml:
+#   type: data
+#   ascii: |
+#     {0}  __{1} __  _  __ __  _    {2}   __{0}__
+#     {0} / /{1} \ \/  |  \  \| |   {2}  / /{0}\ \
+#     {0}< < {1}  \ \  |     || |_  {2} / / {0} > >
+#     {0} \_\{1} _/\_\ |_|_|_||___| {2}/_/  {0}/_/
+#   colors:
+#     ansi:
+#       - yellow
+#       - white
+#       - green
+#     chip: "#0060AC"
+# XSL:
+#   type: programming
+#   ascii: |
+#     {0}                       :::
+#     {0}       :::::          :::  :::::
+#     {0}     :::::           :::     :::::
+#     {0}   :::::            :::        :::::
+#     {0} :::::             :::           :::::
+#     {0}:::::             :::             :::::
+#     {0} :::::           :::             :::::
+#     {0}   :::::        :::            :::::
+#     {0}     :::::     :::           :::::
+#     {0}       :::::  :::          :::::
+#     {0}             :::
+#   colors:
+#     ansi:
+#       - cyan
+#     chip: "#EB8CEB"
+# Yaml:
+#   type: data
+#   ascii: |
+#     {0}__    __  __   __    __   _
+#     {0}\ \  / / /  | |  \  /  | | |
+#     {0} \ \/ / / | | | \ \/ / | | |.
+#     {0}  \  / / /| | | |\__/| | | | .
+#     {0}  / / / / | | | |    | | | |  .
+#     {0} / / / /  | | | |    | | | |___.
+#     {0}/_/ /_/   |_| |_|    |_| |______\
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#CB171E"
+# Zig:
+#   type: programming
+#   ascii: |
+#     {0}                                     z
+#     {0}                                  zzz
+#     {0}                             zzzzzz
+#     {0}zzzzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzz
+#     {0}zzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzz
+#     {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
+#     {0}zzzzz                zzzzzz      zzzzz
+#     {0}zzzzz              zzzzzz        zzzzz
+#     {0}zzzzz            zzzzzz          zzzzz
+#     {0}zzzzz          zzzzzz            zzzzz
+#     {0}zzzzz        zzzzzz              zzzzz
+#     {0}zzzzz      zzzzzz                zzzzz
+#     {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
+#     {0}zzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzz
+#     {0}zzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzzzz
+#     {0}   zzzzzz
+#     {0} zzz
+#     {0}z
+#   colors:
+#     ansi:
+#       - yellow
+#     chip: "#EC915C"
+# Zsh:
+#   type: programming
+#   ascii: |
+#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+#     {0}ZSHZ     ZSHZSHZSHZSHZSHZSHZSHZS
+#     {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
+#     {0}ZSHZSHZS     SHZSHZSHZSHZSHZSHZS
+#     {0}ZSHZSHZSHZ     HZSHZSHZSHZSHZSHZ
+#     {0}ZSHZSHZSHZSH     ZSHZSHZSHZSHZSH
+#     {0}ZSHZSHZSHZ     SHZSHZSHZSHZSHZSH
+#     {0}ZSHZSHZS     ZSHZSHZSHZSHZSHZSHZ
+#     {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
+#     {0}ZSHZ     ZSHZSH             SHZS
+#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#89E051"

From 05c823ae6cfd6612f27e838507103c9cda104a54 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 17:59:00 +0000
Subject: [PATCH 03/35] DELETEME Get this to compile for one language

This doesn't do much but make the parts that used to use tokei panic.
---
 src/info/langs/language.rs   |  29 +++---
 src/info/langs/language.tera |  50 +++++-----
 src/info/langs/mod.rs        | 184 +++++------------------------------
 3 files changed, 66 insertions(+), 197 deletions(-)

diff --git a/src/info/langs/language.rs b/src/info/langs/language.rs
index 044e16c0b..4fcfd31e5 100644
--- a/src/info/langs/language.rs
+++ b/src/info/langs/language.rs
@@ -1,7 +1,6 @@
 use crate::info::utils::info_field::InfoField;
 use owo_colors::OwoColorize;
 use serde::Serialize;
-use tokei;
 
 include!(concat!(env!("OUT_DIR"), "/language.rs"));
 
@@ -179,23 +178,25 @@ impl InfoField for LanguagesInfo {
 
 /// Counts the lines-of-code of a tokei `Language`. Takes into
 /// account that a prose language's comments *are* its code.
-pub fn loc(language_type: &tokei::LanguageType, language: &tokei::Language) -> usize {
-    __loc(language_type, language)
-        + language
-            .children
-            .iter()
-            .fold(0, |sum, (lang_type, reports)| {
-                sum + reports
-                    .iter()
-                    .fold(0, |sum, report| sum + stats_loc(lang_type, &report.stats))
-            })
+pub fn loc<Any1, Any2>(language_type: Any1, language: Any2) -> usize {
+    todo!("Determining if this is necessary")
+    // __loc(language_type, language)
+    //     + language
+    //         .children
+    //         .iter()
+    //         .fold(0, |sum, (lang_type, reports)| {
+    //             sum + reports
+    //                 .iter()
+    //                 .fold(0, |sum, report| sum + stats_loc(lang_type, &report.stats))
+    //         })
 }
 
 /// Counts the lines-of-code of a tokei `Report`. This is the child of a
 /// `tokei::CodeStats`.
-pub fn stats_loc(language_type: &tokei::LanguageType, stats: &tokei::CodeStats) -> usize {
-    let stats = stats.summarise();
-    __stats_loc(language_type, &stats)
+pub fn stats_loc<Any1, Any2>(language_type: Any1, stats: Any2) -> usize {
+    todo!("Determining if this is necessary")
+    // let stats = stats.summarise();
+    // __stats_loc(language_type, &stats)
 }
 
 #[cfg(test)]
diff --git a/src/info/langs/language.tera b/src/info/langs/language.tera
index 869fff140..b9442f3a4 100644
--- a/src/info/langs/language.tera
+++ b/src/info/langs/language.tera
@@ -33,28 +33,28 @@ impl fmt::Display for Language {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         match self {
             {% for language, _ in languages -%}
-                Self::{{ language }} => write!(f, "{}", tokei::LanguageType::{{ language }}.name()),
+                Self::{{ language }} => write!(f, "{}", gengo::Language::{{ language }}.name()),
             {% endfor %}
         }
     }
 }
 
-impl From<tokei::LanguageType> for Language {
-    fn from(language: tokei::LanguageType) -> Self {
+impl From<gengo::Language> for Language {
+    fn from(language: gengo::Language) -> Self {
         match language {
             {% for language, _ in languages -%}
-                tokei::LanguageType::{{ language }} => Self::{{ language }},
+                gengo::Language::{{ language }} => Self::{{ language }},
             {% endfor %}
             _ => unimplemented!("Language {:?}", language),
         }
     }
 }
 
-impl From<Language> for tokei::LanguageType {
+impl From<Language> for gengo::Language {
     fn from(language: Language) -> Self {
         match language {
             {% for language, _ in languages -%}
-                Language::{{ language }} => tokei::LanguageType::{{ language }},
+                Language::{{ language }} => gengo::Language::{{ language }},
             {% endfor %}
         }
     }
@@ -109,27 +109,29 @@ impl Language {
     }
 }
 
-fn __loc(language_type: &tokei::LanguageType, language: &tokei::Language) -> usize {
-    match language_type {
-        {% for language, attrs in languages -%}
-            {%- set line_types = attrs.line_types | default(value=['code']) -%}
-            tokei::LanguageType::{{ language }} => language.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + language.{{ line_type }}{% endfor %},
-        {% endfor %}
-        _ => unimplemented!("Language Type {:?}", language_type),
-    }
+fn __loc<Any1, Any2>(language_type: Any1, language: Any2) -> usize {
+    todo!("Determine if this is necessary")
+    // match language_type {
+    //     {% for language, attrs in languages -%}
+    //         {%- set line_types = attrs.line_types | default(value=['code']) -%}
+    //         tokei::LanguageType::{{ language }} => language.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + language.{{ line_type }}{% endfor %},
+    //     {% endfor %}
+    //     _ => unimplemented!("Language Type {:?}", language_type),
+    // }
 }
 
 
-fn __stats_loc(language_type: &tokei::LanguageType, stats: &tokei::CodeStats) -> usize {
-    match language_type {
-	{% for language, attrs in languages -%}
-        {%- set line_types = attrs.line_types | default(value=['code']) -%}
-	    {%- if attrs.line_types -%} 
-            tokei::LanguageType::{{ language }} => stats.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + stats.{{ line_type }}{% endfor %},
-	    {% endif -%} 
-    {% endfor %}
-	_ => stats.code
-    }
+fn __stats_loc<Any1, Any2>(language_type: Any1, stats: Any2) -> usize {
+    todo!("Determine if this is necessary")
+    // match language_type {
+	// {% for language, attrs in languages -%}
+    //     {%- set line_types = attrs.line_types | default(value=['code']) -%}
+	//     {%- if attrs.line_types -%}
+    //         tokei::LanguageType::{{ language }} => stats.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + stats.{{ line_type }}{% endfor %},
+	//     {% endif -%}
+    // {% endfor %}
+	// _ => stats.code
+    // }
 }
 
 {% for language, attrs in languages -%}
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 932ab8774..4b616215e 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -35,25 +35,26 @@ fn sort_by_loc(map: HashMap<Language, usize>) -> Vec<(Language, usize)> {
     vec
 }
 
-fn get_loc_by_language(languages: &tokei::Languages) -> Option<HashMap<Language, usize>> {
-    let mut loc_by_language = HashMap::new();
-
-    for (language_name, language) in languages.iter() {
-        let loc = language::loc(language_name, language);
-
-        if loc == 0 {
-            continue;
-        }
-
-        loc_by_language.insert(Language::from(*language_name), loc);
-    }
-
-    let total_loc: usize = loc_by_language.values().sum();
-    if total_loc == 0 {
-        None
-    } else {
-        Some(loc_by_language)
-    }
+fn get_loc_by_language<Any>(languages: Any) -> Option<HashMap<Language, usize>> {
+    todo!("Determine if this is necessary")
+    // let mut loc_by_language = HashMap::new();
+
+    // for (language_name, language) in languages.iter() {
+    //     let loc = language::loc(language_name, language);
+
+    //     if loc == 0 {
+    //         continue;
+    //     }
+
+    //     loc_by_language.insert(Language::from(*language_name), loc);
+    // }
+
+    // let total_loc: usize = loc_by_language.values().sum();
+    // if total_loc == 0 {
+    //     None
+    // } else {
+    //     Some(loc_by_language)
+    // }
 }
 
 pub fn get_total_loc(loc_by_language: &[(Language, usize)]) -> usize {
@@ -66,146 +67,11 @@ fn get_statistics(
     globs_to_exclude: &[String],
     language_types: &[LanguageType],
     include_hidden: bool,
-) -> tokei::Languages {
-    let mut languages = tokei::Languages::new();
-    let filtered_languages = filter_languages_on_type(language_types);
-
-    let tokei_config = tokei::Config {
-        types: Some(filtered_languages),
-        hidden: Some(include_hidden),
-        ..tokei::Config::default()
-    };
-    let ignored: Vec<&str> = globs_to_exclude.iter().map(AsRef::as_ref).collect();
-    languages.get_statistics(&[&dir], &ignored, &tokei_config);
-    languages
-}
-
-fn filter_languages_on_type(types: &[LanguageType]) -> Vec<tokei::LanguageType> {
-    Language::iter()
-        .filter(|language| types.contains(&language.get_type()))
-        .map(std::convert::Into::into)
-        .collect()
+) -> ! {
+    // TODO Determine best way to ignore files (and if that should continue to be handled by onefetch)
+    todo!("Get statistics")
 }
 
-#[cfg(test)]
-mod test {
-    use super::*;
-    use tokei;
-
-    #[test]
-    fn get_loc_by_language_counts_md_comments() {
-        let js = tokei::Language {
-            blanks: 25,
-            comments: 50,
-            code: 100,
-            ..Default::default()
-        };
-        let js_type = tokei::LanguageType::JavaScript;
-
-        let md = tokei::Language {
-            blanks: 50,
-            comments: 200,
-            code: 100,
-            ..Default::default()
-        };
-        let md_type = tokei::LanguageType::Markdown;
-
-        let mut languages = tokei::Languages::new();
-        languages.insert(js_type, js);
-        languages.insert(md_type, md);
-
-        let loc_by_language = get_loc_by_language(&languages).unwrap();
-
-        // NOTE: JS  with 100 lines of code, MD with 300 lines of code + comments
-        assert_eq!(loc_by_language[&Language::JavaScript], 100);
-        assert_eq!(loc_by_language[&Language::Markdown], 300);
-    }
-
-    #[test]
-    fn deeply_nested_total_loc() {
-        let mut bash_code_stats = tokei::CodeStats::new();
-        // NOTE: When inside Markdown, comments should be counted as code
-        bash_code_stats.code = 5;
-        bash_code_stats.blanks = 1;
-        bash_code_stats.comments = 2;
-
-        let mut md_code_stats = tokei::CodeStats::new();
-        md_code_stats.code = 10;
-        md_code_stats.blanks = 2;
-        md_code_stats.comments = 4;
-        md_code_stats
-            .blobs
-            .insert(tokei::LanguageType::Bash, bash_code_stats);
-        // NOTE: This may break if tokei ever does more than just assign `name` to a field
-        let mut md_report = tokei::Report::new("/tmp/file.ipynb".into());
-        md_report.stats = md_code_stats;
-
-        let mut jupyter_notebook = tokei::Language::default();
-        jupyter_notebook
-            .children
-            .insert(tokei::LanguageType::Markdown, vec![md_report]);
-
-        let mut languages = tokei::Languages::new();
-        languages.insert(tokei::LanguageType::Jupyter, jupyter_notebook);
-
-        let loc_by_language = get_loc_by_language(&languages).unwrap();
-
-        assert_eq!(loc_by_language[&Language::Jupyter], 21);
-    }
-
-    // https://github.com/o2sh/onefetch/issues/966
-    #[test]
-    fn get_loc_by_language_should_not_panic_when_children_language_is_not_supported() {
-        let mut stylus_code_stats = tokei::CodeStats::new();
-        stylus_code_stats.code = 10;
-        stylus_code_stats.blanks = 2;
-        stylus_code_stats.comments = 4;
-
-        let mut stylus_report = tokei::Report::new("/tmp/file.vue".into());
-        stylus_report.stats = stylus_code_stats;
-
-        let mut vue = tokei::Language {
-            blanks: 50,
-            comments: 200,
-            code: 100,
-            ..Default::default()
-        };
-
-        vue.children
-            .insert(tokei::LanguageType::Stylus, vec![stylus_report]);
-
-        let mut languages = tokei::Languages::new();
-        languages.insert(tokei::LanguageType::Vue, vue);
-
-        let loc_by_language = get_loc_by_language(&languages).unwrap();
-
-        assert_eq!(loc_by_language[&Language::Vue], 110);
-    }
-
-    #[test]
-    fn test_get_loc_by_language_sorted() {
-        let mut map = HashMap::new();
-        map.insert(Language::Ada, 300);
-        map.insert(Language::Java, 40);
-        map.insert(Language::Rust, 1200);
-        map.insert(Language::Go, 8);
-
-        let sorted_map = sort_by_loc(map);
-
-        let expected_order = vec![
-            (Language::Rust, 1200),
-            (Language::Ada, 300),
-            (Language::Java, 40),
-            (Language::Go, 8),
-        ];
-        let actual_order: Vec<_> = sorted_map.into_iter().collect();
-
-        assert_eq!(expected_order, actual_order);
-    }
-
-    #[test]
-    fn test_get_total_loc() {
-        let loc_by_language = [(Language::JavaScript, 100), (Language::Markdown, 300)];
-        assert_eq!(get_total_loc(&loc_by_language), 400);
-    }
+fn filter_languages_on_type(types: &[LanguageType]) -> ! {
+    todo!("Determine if this is even necessary")
 }

From 6e9e960e619e2b6897e5ba210b98f5bebdb2df46 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 18:00:35 +0000
Subject: [PATCH 04/35] Revert "DELETEME Comment out most languages"

This reverts commit d601ee75512f48d1a1ed745495ed6663465148f7.
---
 languages.yaml | 5982 ++++++++++++++++++++++++------------------------
 1 file changed, 2991 insertions(+), 2991 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index ce2b33bbb..281624412 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -16,2995 +16,2995 @@ Abap:
       - "#1B387D"
       - "#EEEEEE"
     chip: "#E8274B"
-# ABNF:
-#   type: data
-#   ascii: |
-#     {0}          ______
-#     {0}         |      |
-#     {0}         |  /\  |
-#     {0}>>---+-->| /--\ |-->+--->>
-#     {0}     |   |______|   |
-#     {0}     |    ______    |
-#     {0}     |   |  __  |   |
-#     {0}     |   | |__) |   |
-#     {0}     +-->| |__) |-->+
-#     {0}     |   |______|   |
-#     {0}     |    ______    |
-#     {0}     |   |      |   |
-#     {0}     |   | |\ | |   |
-#     {0}     +-->| | \| |-->+
-#     {0}     |   |______|   |
-#     {0}     |    ______    |
-#     {0}     |   |  ___ |   |
-#     {0}     |   | |___ |   |
-#     {0}     +-->| |    |-->+
-#     {0}         |______|
-#   colors:
-#     ansi:
-#       - white
-#     hex:
-#       - "#888888"
-#     chip: "#555e25"
-# Ada:
-#   type: programming
-#   ascii: |
-#     {0}                              *
-#     {0}                              *
-#     {0}                            * **
-#     {0}   *                        *****
-#     {0}   **                       ******
-#     {0}    **                   ###********
-#     {0}    ***          -******#'###*********
-#     {0}     *****               #### *********
-#     {0}      ****************************{1}XXX{0}**
-#     {0}     ** ******************{1}XXXX{2}o{1}X{0}*{1}X{2}o{1}XXX{0}*
-#     {0}      **** ***************{1}XXXX{2}ooooo{1}XX{0}*
-#     {0}        *******************{1}XXXX{2}ooooo{1}X
-#     {0}          *******************{1}XXX{2}ooo{1}X
-#     {0}          ************************{1}XX{0}*
-#     {0}             *************    ******
-#     {0}  /| |                           ****
-#     {0} /-|(|(|                     ********
-#     {0}                        ************
-#     {0}Time-tested, safe     *************
-#     {0}and secure            ***********
-#     {0}                         *****
-#   colors:
-#     ansi:
-#       - white
-#       - cyan
-#       - blue
-#     hex:
-#       - "#FFFFFF"
-#       - "#0018C9"
-#       - "#0C0A7C"
-#     chip: "#02F88C"
-# Agda:
-#   type: programming
-#   ascii: |
-#     {0}   / / /           /  /
-#     {0}  / / /           /  / /
-#     {0} / o o           /    / /
-#     {0}/____           /      /
-#     {0}     |                 |
-#     {0}     |                 |
-#     {0}     ;                 ;
-#     {0}      \               /
-#     {0}       '.           .'
-#     {0}         '-._____.-'
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#315665"
-# Arduino:
-#   type: programming
-#   ascii: |
-#     {0}   ,=======.    ,=======.
-#     {0}  //       \\  //       \\
-#     {0} //         \\//    #    \\
-#     {0} ||   ###    //    ###   ||
-#     {0} \\         //\\    #    //
-#     {0}  \\       //  \\       //
-#     {0}   `======='    `======='
-#     {0}      _   _              _
-#     {0} /\  |_) | \ | | | |\ | / \
-#     {0}/--\ | \ |_/ |_| | | \| \_/
-#   colors:
-#     ansi:
-#       - cyan
-#     chip: "#F34B7D"
-# Assembly:
-#   type: programming
-#   ascii: |
-#     {0}     __________________________
-#     {0}    /                          \
-#     {1}==={0}|  {1}.-.                       {0}|{1}===
-#     {0}   | {1}(   )                      {0}|
-#     {1}==={0}|  {1}'-'                       {0}|{1}===
-#     {0}   |                            |
-#     {1}==={0}|     {2} _____  ___ ____       {0}|{1}===
-#     {0}   |     {2}(____ |/___)    \      {0}|
-#     {1}==={0}|     {2}/ ___ |___ | | | |     {0}|{1}===
-#     {0}   |     {2}\_____(___/|_|_|_|     {0}|
-#     {1}==={0}|                            |{1}===
-#     {0}   |                            |
-#     {1}==={0}|                       {1}.-.  {0}|{1}===
-#     {0}   |                      {1}(   ) {0}|
-#     {1}==={0}|                       {1}'-'  {0}|{1}===
-#     {0}    \__________________________/
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#       - green
-#     chip: "#6E4C13"
-# AutoHotKey:
-#   type: programming
-#   ascii: |
-#     {1} .----------------.
-#     {1}| .--------------. |
-#     {1}| | {0} ____  ____ {1} | |
-#     {1}| | {0}|_   ||   _|{1} | |
-#     {1}| | {0}  | |__| |  {1} | |
-#     {1}| | {0}  |  __  |  {1} | |
-#     {1}| | {0} _| |  | |_ {1} | |
-#     {1}| | {0}|____||____|{1} | |
-#     {1}| |              | |
-#     {1}| '--------------' |
-#     {1} '----------------'
-#   colors:
-#     ansi:
-#       - white
-#       - green
-#     hex:
-#       - "#FFFFFF"
-#       - "#119810"
-#     chip: "#6594B9"
-# Bash:
-#   type: programming
-#   ascii: |
-#     {0}             _._
-#     {0}         _.-'   '-._
-#     {0}     _.-'           '-._
-#     {0} _.-'                   '-._
-#     {0}|                        _,-|
-#     {0}|                    _,-'+++|
-#     {0}|                _,-'+++++++|
-#     {0}|             ,-'+++++++++++|
-#     {0}|             |++++ ++++++++|
-#     {0}|             |+++   +++++++|
-#     {0}|             |++  +++++++++|
-#     {0}|             |++++  +++{1}**{0}++|
-#     {0}|             |++   ++{1}**{0}++++|
-#     {0}'-,_          |+++ ++++++_,-'
-#     {0}    '-,_      |++++++_,-'
-#     {0}        '-,_  |++_,-'
-#     {0}            '-|-'
-#   colors:
-#     ansi:
-#       - white
-#       - green
-#     chip: "#89E051"
-# C:
-#   type: programming
-#   ascii: |
-#     {0}                 ++++++
-#     {0}              ++++++++++++
-#     {0}          ++++++++++++++++++++
-#     {0}       ++++++++++++++++++++++++++
-#     {0}    ++++++++++++++++++++++++++++++++
-#     {0} +++++++++++++{3}************{0}+++++++++++++
-#     {0}+++++++++++{3}******************{0}++++++++{2};;;
-#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
-#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
-#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;;;;;;;;;;;;
-#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;;;;;;;;;;;
-#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;;;;;;;;;;;;
-#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
-#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-#     {1} :::::::::::::{3}************{1}:::::::::::::
-#     {1}    ::::::::::::::::::::::::::::::::
-#     {1}       ::::::::::::::::::::::::::
-#     {1}          ::::::::::::::::::::
-#     {1}              ::::::::::::
-#     {1}                 ::::::
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#       - blue
-#       - white
-#     hex:
-#       - "#649AD2"
-#       - "#004283"
-#       - "#00599D"
-#       - "#FFFFFF"
-#     chip: "#555555"
-# Ceylon:
-#   type: programming
-#   ascii: |
-#     {1}                                 @@
-#     {1}                                 @@
-#     {3}          @@@@@@@{1}@@@@@@@@@@@@@@   @@
-#     {0}    @@@{3}@@@@@@@@@@{1}@@@@@@ /@@@@@@@@  @@@
-#     {0}  @@@@@@{3}@@@@@@@@@@{1}@@@@ (@@@@ @@@@@  @@{2}@@
-#     {0} @@@@@@@@{3}@@@@@@@@@@@{1}@@@ \@@@@@@@@@@@@{2}@@@
-#     {0}@@@@@@@@@@@{3}@@@@@@@@@@@{1}@@@@@@@@@@@@@{2}@@@@
-#     {0}|/ @@@@@@@@@@{3}@@@@@@@@@@@@{1}@
-#     {0}   @@@@@@@@@@@@{3}@@@@@@@@@@
-#     {0}   @@@@@@@@@@@@@@{3}@@@@@@@ {4}@@
-#     {0}    @@@@@@@     @@@@@@@ {4}@@@
-#     {0}    @@@@@@ {4}@@    {0}@@@@@ {4}@@@@
-#     {0}     @@@@ {4}@@@    {0}@@@@@ {4}@@@@@
-#   colors:
-#     ansi:
-#       - yellow
-#       - yellow
-#       - yellow
-#       - yellow
-#       - yellow
-#     hex:
-#       - "#C27E10"
-#       - "#DDA12E"
-#       - "#D1911F"
-#       - "#CC8B18"
-#       - "#AB7008"
-#     chip: "#DFA535"
-# Clojure:
-#   type: programming
-#   ascii: |
-#     {0}               ,....,
-#     {0}          ,oooooooooooooo,
-#     {0}      ,oooooooooooooooooooooo,
-#     {0}    ,oooooooooooooooooooooooooo,
-#     {0}   ,oooooo::'        '':ooooooooo,
-#     {0}  '            '\\\\\:   :oooooooo,
-#     {1}  .,,ooo'  :/:  {0}:\\\\\\\,  :ooooooo,
-#     {1} :,oooo:  :///:  {0}:\\\\\\\\,  :oooooo:
-#     {1}:ooooo:  ://///:, {0}:\\\\\\\\,  :ooooo:
-#     {1}'ooooo: :///////:  {0}:\\\\\\\,  :ooooo:
-#     {1}'ooooo: ://////: : {0}:\\\\\\\,  :ooooo:
-#     {1}'ooooo:  :////: ::  {0}:\\\\\\,  :ooooo'
-#     {1}'oooooo:  ://: ://:  {0}:\\\\,  :ooooo'
-#     {1} `oooooo:  :' :////:  {0}:\\. ,;;;::'
-#     {1}  `oooooo:,   ```````
-#     {1}   `oooooo:::..        .::.,.,::'
-#     {1}     `oooooooooOOooooOOoooooooo'
-#     {1}       `ooooooooooooooooooooo'
-#     {1}         `ooooooooooooooooo'
-#     {1}             ````````````
-#   colors:
-#     ansi:
-#       - cyan
-#       - green
-#     chip: "#DB5855"
-# CMake:
-#   type: programming
-#   ascii: |
-#     {0}            ;e{2}`
-#     {0}           ;QD{2}?`
-#     {0}          ;B#R{2}1r`
-#     {0}         ;WRMK{2}S|r`
-#     {0}        :O9KOK{2}S\\*`
-#     {0}       :keXPk6{2}Zc7v|`
-#     {0}      :ajyoaZe{3}m{2}JJ{]\`
-#     {0}     :]z1x}f9{3}@@{2}yujSoc`
-#     {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
-#     {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
-#     {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
-#     {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
-#     {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
-#   colors:
-#     ansi:
-#       - blue
-#       - green
-#       - red
-#       - black
-#     chip: "#DA3434"
-# CoffeeScript:
-#   type: programming
-#   ascii: |
-#     {0}           #####    ######
-#     {0}          ###    ###    ###
-#     {0}  /A\      ######    #####      /A\
-#     {0}  \AAAAA\                   /AAAAA/
-#     {0}       \AAAAAAAAAAAAAAAAAAAAA/
-#     {0}  \AA\                         /AA/
-#     {0}   |\AAAAAAAAAAAAAAAAAAAAAAAAAAA/|
-#     {0}  /\\llAAAAAAAAAAAAAAAAAAAAAAAll//
-#     {0} /#A\\llAAAAAAAAAAAAAAAAAAAAAll//
-#     {0}|#A   \\llAAAAAAAAAAAAAAAAAAll//
-#     {0} \#A    \\llAAAAAAAAAAAAAAll//
-#     {0}   \#A   \\llAAAAAAAAAAAAll//
-#     {0}     \#A>  ||lAAAAAAAAAAl||
-#     {0}            \;AAAAAAAAAA;/
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#244776"
-# ColdFusion:
-#   type: programming
-#   ascii: |
-#     {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
-#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@{0}CfCfCfCf{1}@@{0}Cf
-#     {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}Cf
-#     {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCf{1}@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@{0}CfCfCfCfCfCf{1}@@@@@@{0}Cf
-#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-#     {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
-#     {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
-#   colors:
-#     ansi:
-#       - white
-#       - blue
-#     hex:
-#       - "#E5F3FC"
-#       - "#274550"
-#     chip: "#ed2cd6"
-# Coq:
-#   type: programming
-#   ascii: |
-#     {0}   ::::::::
-#     {0} :::::::::::
-#     {0} :::::::::::
-#     {0} :::::{1}___{0}:::
-#     {1}   ______ {0}:
-#     {1}     ____   _________
-#     {1}      ___  ___________
-#     {1}      ___ ____________
-#     {1}     _________________
-#     {1}   ___________________
-#     {1}______________ ______
-#     {1}   ___________ ___
-#     {1}      ______
-#     {1}       ____
-#     {1}     ______
-#     {1}    ________
-#     {1}    ________
-#   colors:
-#     ansi:
-#       - yellow
-#       - white
-#     hex:
-#       - "#BF8C5E"
-#       - "#D5BE99"
-#     chip: "#D0B68C"
-# Cpp:
-#   type: programming
-#   ascii: |
-#     {0}                 ++++++
-#     {0}              ++++++++++++
-#     {0}          ++++++++++++++++++++
-#     {0}       ++++++++++++++++++++++++++
-#     {0}    ++++++++++++++++++++++++++++++++
-#     {0} +++++++++++++{3}************{0}+++++++++++++
-#     {0}+++++++++++{3}******************{0}++++++++{2};;;
-#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
-#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
-#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
-#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
-#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
-#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
-#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-#     {1} :::::::::::::{3}************{1}:::::::::::::
-#     {1}    ::::::::::::::::::::::::::::::::
-#     {1}       ::::::::::::::::::::::::::
-#     {1}          ::::::::::::::::::::
-#     {1}              ::::::::::::
-#     {1}                 ::::::
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#       - blue
-#       - white
-#     hex:
-#       - "#649AD2"
-#       - "#004283"
-#       - "#00599D"
-#       - "#FFFFFF"
-#     chip: "#F34B7D"
-#   serialization: c++
-# Crystal:
-#   type: programming
-#   ascii: |
-#     {0}            ,loc;'..
-#     {0}          ,xNMMMWNXK0kdl,..
-#     {0}        ,xNMMMMMMMMMMMMMKOxoc;.
-#     {0}      ,xNMMMMMMMMMMMMMMMMMMMMWX:
-#     {0}    ,xNMMMMMMMMMMWNNWMMMMMMMMMMk.
-#     {0}  ,xNMMMMMWX0kdlc;:lOMMMMMMMMMMNc
-#     {0},xXK{1}..mmmMMMMMMMM'{0}0MMMMMMMMMMMMMO.
-#     {0}0o;{1}MMMMMMMMMMMMMm{0}.MMMMMMMMMMMMMMWl
-#     {0}0O:.{1}MMMMMMMMMMMM'{0}cMMMMMMMMMMMMMMM0'
-#     {0}oWWO:.{1}MMMMMMMMMm{0}.OMMMMMMMMMMMMMMMWo
-#     {0}'0MMWO:.{1}MMMMMMM'{0}lWMMMMMMMMMMMMMMMMK,
-#     {0} lWMMMWO:.{1}MMMMm{0}'0MMMMMMMMMMMMMMMMMWd
-#     {0} .OMMMMMW0c.{1}MM'{0}oWMMMMMMMMMMMMMMMMMWk.
-#     {0}  cNMMMMMMW0c{1}'{0},KMMMMMMMMMMMMMMMMW0c.
-#     {0}  .kMMMMMMMMW00WMMMMMMMMMMMMMMW0c.
-#     {0}   cNMMMMMMMMMMMMMMMMMMMMMMMW0c.
-#     {0}   .xWMMMMMMMMMMMMMMMMMMMMW0:.
-#     {0}    .';coxOKNWMMMMMMMMMMWO:.
-#     {0}           ..,:ldk0KXWMM:.
-#     {0}               ...';c:
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#     chip: "#000100"
-# CSharp:
-#   type: programming
-#   ascii: |
-#     {0}                 ++++++
-#     {0}              ++++++++++++
-#     {0}          ++++++++++++++++++++
-#     {0}       ++++++++++++++++++++++++++
-#     {0}    ++++++++++++++++++++++++++++++++
-#     {0} +++++++++++++{3}************{0}+++++++++++++
-#     {0}+++++++++++{3}******************{0}++++++++{2};;;
-#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
-#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;{3}**{2};;;{3}**{2};;;
-#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}*********{2}::
-#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;{3}**{2};;;{3}**{2};;;
-#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}*********{2};;
-#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;{3}**{2};;;{3}**{2};;;
-#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-#     {1} :::::::::::::{3}************{1}:::::::::::::
-#     {1}    ::::::::::::::::::::::::::::::::
-#     {1}       ::::::::::::::::::::::::::
-#     {1}          ::::::::::::::::::::
-#     {1}              ::::::::::::
-#     {1}                 ::::::
-#   colors:
-#     ansi:
-#       - blue
-#       - magenta
-#       - magenta
-#       - white
-#     hex:
-#       - "#9B4F97"
-#       - "#67217A"
-#       - "#803788"
-#       - "#FFFFFF"
-#     chip: "#178600"
-#   serialization: c#
-# Css:
-#   type: markup
-#   ascii: |
-#     {1}        ####    ####    ####
-#     {1}       ##  ##  ##      ##
-#     {1}       ##       ####    ####
-#     {1}       ##  ##      ##      ##
-#     {1}        ####    ####    ####
-#     {0}(((((((((((((((((((((((((((((((((((
-#     {0}(((((((((((((((((/////////////(((((
-#     {0}(((((((((((((((((/////////////(((((
-#     {0}(((((((                    ///(((((
-#     {0} ((((((                    ///((((
-#     {0} ((((((((((((((((        /////((((
-#     {0} (((((((((((        //////////((((
-#     {0} (((((((                   ///((((
-#     {0}  ((((((                   ///(((
-#     {0}  (((((((((((((((//////    ///(((
-#     {0}  (((((((    ((((//////    ///(((
-#     {0}  (((((((                  ///(((
-#     {0}   (((((((               /////((
-#     {0}   ((((((((((((((/////////////((
-#     {0}   ((((((((((((((//////(((((((((
-#     {0}          (((((((((((((((
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     chip: "#563D7C"
-# D:
-#   type: programming
-#   ascii: |
-#     {0}                                    DDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDD             DDDDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDDDD            DDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDDDDDD     DDDDD
-#     {0}DDDDDD               DDDDDDD DDDDDDDDD
-#     {0}DDDDDD                DDDDDDDDDDDDDDDDD
-#     {0}DDDDDD                 DDDDDDDDDDDDDDDD
-#     {0}DDDDDD                 DDDDDDDDDDDDDD
-#     {0}DDDDDD                 DDDDDDDDDDD
-#     {0}DDDDDD                 DDDDDDD
-#     {0}DDDDDD                DDDDDDD
-#     {0}DDDDDD               DDDDDDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDDDDDDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDDDDD
-#     {0}DDDDDDDDDDDDDDDDDDDDDD
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#BA595E"
-# Dart:
-#   type: programming
-#   ascii: |
-#     {0}#
-#     {0} ##
-#     {0}  ###
-#     {0}   ######              ###
-#     {0}    #########        #######
-#     {0}      ###########  ######{2}O{0}##{2}========-
-#     {0}       #####################
-#     {0}         ##################
-#     {0}      ###############{1}+++++
-#     {0}###################{1}+++++++
-#     {0}        ##########{1}+++++++
-#     {0}               ##{1}+++++++
-#     {0}               ###{1}+++
-#     {0}               #####
-#     {0}               #######
-#     {0}               #########
-#     {0}                #######
-#     {0}                 #####
-#   colors:
-#     ansi:
-#       - blue
-#       - cyan
-#       - blue
-#     hex:
-#       - "#00A3E7"
-#       - "#42DFCD"
-#       - "#01597D"
-#     chip: "#00B4AB"
-# Dockerfile:
-#   type: programming
-#   ascii: |
-#     {2}                  ##   {0}      .
-#     {2}            ## ## ##   {0}     ==
-#     {2}         ## ## ## ## ##{0}    ===
-#     {0}     /"""""""""""""""""\___/ ===
-#     {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
-#     {0}     \{1}______ o{0}           __/
-#     {1}       \    \ {0}        __/
-#     {1}        \____\{0}_______/
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#       - cyan
-#     chip: "#384D54"
-# Elisp:
-#   type: programming
-#   ascii: |
-#     {0}         ':r\iv7i|r:'
-#     {0}      :LFaZZZaaaoooo2t\:
-#     {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
-#     {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
-#     {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
-#     {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
-#     {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
-#     {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
-#     {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
-#     {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
-#     {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
-#     {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
-#     {0}   `;c]]][uaXUKO$wo]]]]L:`
-#     {0}     `,>i1tt[[]]]]ti>,`
-#     {0}        `.~;^>??>^;,-`
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     chip: "#C065DB"
-#   serialization: emacs-lisp
-# Elixir:
-#   type: programming
-#   ascii: |
-#     {0}            x
-#     {0}           WNX
-#     {0}          Odc:xN
-#     {0}        0ddko,oX
-#     {0}       kokNWOllOW
-#     {0}     KdoKWMMNKxl0W
-#     {0}    0odXMMMMMMNxoON
-#     {0}   0lxNMMMMMMMMW0dd0N
-#     {0}  0oxNMMMMMMMMMMMNOodKW
-#     {0}  odXMMMMMMMMMMMMMMXxokN
-#     {0} xl0MMMMMMMMMMMMMMMMW0odX
-#     {0}xoxWMMMMMMMMMMMMMMMMMMKodN
-#     {0}0lOMMMMMMMMMMMMMMMMMMMWOlO
-#     {0}OlOMWKXMMMMMMMMMMMMMMMMKlxW
-#     {0}KlxWXodNMMMMMMMMMMMMMMM0lkW
-#     {0}xxoKWOlkNMMMMMMMMMMMMMWkl0
-#     {0} XooKN0ddkKNWWWMMMMMMWOlkW
-#     {0}  XxokXN0kxxkkKMMMMN0doON
-#     {0}   WKxdxk0KKKKXK0OxddkXW
-#     {0}     WNKOxxxxxxxxkOXW
-#     {0}         WWWWWWW
-#   colors:
-#     ansi:
-#       - magenta
-#     chip: "#6E4A7E"
-# Elm:
-#   type: programming
-#   ascii: |
-#     {0}   {1}ElmElmElmElm   {3}ElmElmElmElmElm
-#     {0}El   {1}mElmElmElmEl   {3}mElmElmElmElm
-#     {0}Elm   {1}ElmElmElmElmE   {3}lmElmElmElm
-#     {0}ElmEl   {1}mElmElmElmElm   {3}ElmElmElm
-#     {0}ElmElmE                   {3}mElmElm
-#     {0}ElmElmElm   {2}ElmElmElmEl     {3}lmElm
-#     {0}ElmElmElmEl   {2}mElmElm   {1}Elm   {3}Elm
-#     {0}ElmElmElmElmE   {2}lmE   {1}lmElmEl   {3}m
-#     {0}ElmElmElmElmElm     {1}mElmElmElmE
-#     {0}ElmElmElmElmElmE    {1}mElmElmElm
-#     {0}ElmElmElmElmEl   {3}mE   {1}lmElmE   {2}lm
-#     {0}ElmElmElmElm   {3}ElmElm   {1}El   {2}mElm
-#     {0}ElmElmElmE   {3}lmElmElmEl    {2}ElmElm
-#     {0}ElmElmEl   {3}mElmElmElmElmE   {2}lmElm
-#     {0}ElmElm   {3}ElmElmElmElmElmElm   {2}Elm
-#     {0}ElmE   {3}lmElmElmElmElmElmElmEl   {2}m
-#     {0}El   {3}mElmElmElmElmElmElmElmElmE
-#     {0}   {3}ElmElmElmElmElmElmElmElmElmElm
-#   colors:
-#     ansi:
-#       - blue
-#       - green
-#       - yellow
-#       - cyan
-#     chip: "#60B5CC"
-# Emojicode:
-#   type: programming
-#   ascii: |
-#     {0}~~
-#     {0} ~~
-#     {0}  ~~
-#     {0}   ~~{2}           ''''''''
-#     {0}    ~~~{2}       ''''''''''''
-#     {0}     {1}````````{2}''''''''''''''
-#     {1}    `````````{2}''''''''''''''
-#     {1}   `````````{2}'''''''''''''{3}~~~~~~~-
-#     {1}   `````````{2}'''''''''''{3}~~~~~~~~~~~
-#     {1}   ``````````{2}''{1}````````{3}~~~~~~~~~~~~
-#     {1}   ``````````````````````{3}~~~~~~~~~~~
-#     {1}   ```````````````````````{3}~~~~~~~~~~
-#     {1}    ``{3}~~~~~{1}```````````````{3}~~~~~~~~~~
-#     {3}   -~~~~~~~{1}```````````````{3}~~~~~~~~~
-#     {3}  ~~~~~~~~~{1}```````````````````````
-#     {3}  ~~~~~~~~~~{1}````````````````````````
-#     {3} ~~~~~~~~~~~~{1}`````````````````````````
-#     {3}  ~~~~~~~~~~~~~~{1}``````{2}````````````````
-#     {3}  ~~~~~~~~~~~~~~{2}'''''''{1}```````````````
-#     {3}   ~~~~~~~~~~~~{2}''''''''{1}```````````````
-#     {3}     ~~~~~~~~{2}'''''''''''{1}``````````````
-#     {2}              {2}'''''''''''{1}````````````
-#     {2}                {2}''''''''   {1}````````
-#   colors:
-#     ansi:
-#       - green
-#       - magenta
-#       - magenta
-#       - magenta
-#     hex:
-#       - "#77B255"
-#       - "#9266CC"
-#       - "#AA8DD8"
-#       - "#744EAA"
-#     chip: "#60B5CC"
-# Erlang:
-#   type: programming
-#   ascii: |
-#     {0}   EEEEEEEEEEEEE      EEEEEEEEEEEE
-#     {0}  EEEEEEEEEEEE         EEEEEEEEEEEE
-#     {0} EEEEEEEEEEEE           EEEEEEEEEEE
-#     {0} EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-#     {0}EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-#     {0}EEEEEEEEEEEEE
-#     {0}EEEEEEEEEEEEE
-#     {0}EEEEEEEEEEEEE
-#     {0} EEEEEEEEEEEEE                 E
-#     {0} EEEEEEEEEEEEE                EEEEE
-#     {0}  EEEEEEEEEEEEE             EEEEEEEEE
-#     {0}   EEEEEEEEEEEEEE         EEEEEEEEEE
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#B83998"
-# Fish:
-#   type: programming
-#   ascii: |
-#     {0}                 ___
-#     {0}  ___======____=-{1}-{0}-=)
-#     {0}/T            \_{1}--={0}==)
-#     {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
-#     {0} \      / )J~~    \{1}-={0})
-#     {0}  \\___/  )JJ~{1}~~{0}   \)
-#     {0}   \_____/JJJ~~{1}~~{0}    \
-#     {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
-#     {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
-#     {0}  (\\)  ({1}\{0}\\)_           {1}\==__
-#     {0}   \V    \\\) ===_____   {1}\\\\{0}\\
-#     {0}          \V)     \_) \\{1}\\JJ\{0}J\)
-#     {0}                      /J{1}\J{0}T\JJJJ)
-#     {0}                      (JJJ| \UUU)
-#     {0}                       (UU)
-#   colors:
-#     ansi:
-#       - red
-#       - yellow
-#     chip: "#4AAE47"
-# Forth:
-#   type: programming
-#   ascii: |
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::         :::::::
-#     {0}::::::::::::::::::::::::::     :::::::::
-#     {0}::::::::::::::::::::::::     :::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#341708"
-# FortranLegacy:
-#   type: programming
-#   ascii: |
-#     {4}    _ {1}__ __
-#     {4}  _|_ {1} /  /
-#     {0}  o{4}|{1}  /  /
-#     {0}      /\
-#     {0}     /  \
-#     {0}    |    |
-#     {0}    |{2}NASA{0}|
-#     {0}    |    |
-#     {0}    |    |
-#     {0}    |    |
-#     {0}   '      '
-#     {0}   |      |
-#     {0}   |      |
-#     {0}   |______|
-#     {3}   /-`'-`.\
-#     {3}  ; / . \'\.
-#     {3} '/''( .'\.''
-#     {3}'.'.;.;' ;'.;'
-#   colors:
-#     ansi:
-#       - white
-#       - green
-#       - cyan
-#       - yellow
-#       - red
-#     chip: "#4D41B1"
-#   serialization: fortran
-# FortranModern:
-#   type: programming
-#   ascii: |
-#     {4}    _{1} _  _
-#     {4}  _|_{1}(_|/ \
-#     {0}  o{4}| {1} _|\_/
-#     {0}      /\
-#     {0}     /  \
-#     {0}    |    |
-#     {0}    |{2}NASA{0}|
-#     {0}    |    |
-#     {0}    |    |
-#     {0}    |    |
-#     {0}   '      '
-#     {0}   |      |
-#     {0}   |      |
-#     {0}   |______|
-#     {3}   /-`'-`.\
-#     {3}  ; / . \'\.
-#     {3} '/''( .'\.''
-#     {3}'.'.;.;' ;'.;'
-#   colors:
-#     ansi:
-#       - white
-#       - green
-#       - cyan
-#       - yellow
-#       - red
-#     chip: "#4D41B1"
-# FSharp:
-#   type: programming
-#   ascii: |
-#     {0}                 /  {1}((
-#     {0}               ///  {1}((((
-#     {0}             /////  {1}((((((
-#     {0}           ///////  {1}((((((((
-#     {0}         /////////  {1}((((((((((
-#     {0}       //////////   {1}  ((((((((((
-#     {0}     //////////  /  {1}    ((((((((((
-#     {0}   //////////  ///  {1}      ((((((((((
-#     {0} //////////  /////  {1}        ((((((((((
-#     {0}/////////   //////  {1}         ((((((((((
-#     {0}  /////////   ////  {1}       ((((((((((
-#     {0}    /////////   //  {1}     ((((((((((
-#     {0}      /////////     {1}   ((((((((((
-#     {0}        /////////   {1} ((((((((((
-#     {0}          ////////  {1}(((((((((
-#     {0}            //////  {1}(((((((
-#     {0}              ////  {1}(((((
-#     {0}                //  {1}(((
-#   colors:
-#     ansi:
-#       - cyan
-#       - cyan
-#     chip: "#B845FC"
-#   serialization: f#
-# GdScript:
-#   type: programming
-#   ascii: |
-#     {0}         _.aMb      dMe._
-#     {0}        'H8888b,  ,d8888H'
-#     {0}   .   .:88888d8888888888:.   .
-#     {0} .d8b.dM888888888888888888Mb.d8b.
-#     {0}d88888888888888888888888888888888b
-#     {0}'V888888888888888888888888888888V'
-#     {0} 88888888888888888888888888888888
-#     {0} 8888P' {1}__{0} "V88888888V" {1}__{0} 'V8888
-#     {0} 8888" {1}dMMb {0}'888{1}''{0}888' {1}d88b {0}"8888
-#     {0} 8888b {1}:HH: {0}/888{1}  {0}888\ {1}:HH: {0}d8888
-#     {0} 8888be._.ad8888{1}..{0}8888be._.ad8888
-#     {0} WW8888888888888888888888888888WW
-#     {0} {1}#######{0}YW88/{1}########{0}\88WY{1}#######
-#     {0} MWbzxe{1}##{0}8MW;{1}##{0}8888{1}##{0};8MW{1}##{0}aezdWM
-#     {0} 'Y8888b.{1}#####{0}/8888\{1}#####{0}.d8888Y'
-#     {0}  "V8888888888888888888888888V"
-#     {0}   '^YV8888888888888888888VP^'
-#     {0}      '"^^VY888888888VY^^'
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#     hex:
-#       - "#458DC0"
-#       - "#FFFFFF"
-#     chip: "#355570"
-# Glsl:
-#   type: programming
-#   ascii: |
-#     {0}         ,,@@@@@@@@@@@@@@@@@..
-#     {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
-#     {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
-#     {0}   ,@@@@@@@@'              `@@@@@@@.
-#     {0} ,@@@@@@@@'                    `@@@@.
-#     {0},@@@@@@@'                         `@@.
-#     {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
-#     {0}@@@@@@  {1}/:::::||:|      /:::::||:|
-#     {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
-#     {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
-#     {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
-#     {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
-#     {0}@@@@@@@.                            ,@
-#     {0}`@@@@@@@.                         ,@@'
-#     {0} `@@@@@@@@.                    ,@@@@'
-#     {0}   `@@@@@@@@.              ,@@@@@@@'
-#     {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
-#     {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
-#     {0}         ``@@@@@@@@@@@@@@@@@''
-#   colors:
-#     ansi:
-#       - blue
-#       - magenta
-#     hex:
-#       - "#5487a6"
-#       - "#bc258e"
-#     chip: "#5686a5"
-# Go:
-#   type: programming
-#   ascii: |
-#     {0}           --==============--
-#     {0}  .-==-.===oooo=oooooo=ooooo===--===-
-#     {0} .==  =o={1}oGGGGGG{0}o=oo=o{1}GGGGGGG{0}G=o=  oo-
-#     {0} -o= oo={1}G .=GGGGG{0}o=o={1}= .=GGGGG{0}=ooo o=-
-#     {0}  .-=oo={1}o==oGGGGG{0}=oo={1}oooGGGGGo{0}=oooo.
-#     {0}   -ooooo{1}=oooooo{0}={2}.   .{0}={1}=ooo=={0}oooooo-
-#     {0}   -ooooooooooo{2}====_===={0}ooooooooooo=
-#     {0}   -oooooooooooo{2}=={1}#{0}.{1}#{2}=={0}ooooooooooooo
-#     {0}   -ooooooooooooo={1}#{0}.{1}#{0}=oooooooooooooo
-#     {0}   .oooooooooooooooooooooooooooooooo.
-#     {0}    oooooooooooooooooooooooooooooooo.
-#     {2}  ..{0}oooooooooooooooooooooooooooooooo{2}..
-#     {2}-=o-{0}=ooooooooooooooooooooooooooooooo{2}-oo.
-#     {2}.=- {0}oooooooooooooooooooooooooooooooo{2}-.-
-#     {0}   .oooooooooooooooooooooooooooooooo-
-#     {0}   -oooooooooooooooooooooooooooooooo-
-#     {0}   -oooooooooooooooooooooooooooooooo-
-#     {0}   -oooooooooooooooooooooooooooooooo-
-#     {0}   .oooooooooooooooooooooooooooooooo
-#     {0}    =oooooooooooooooooooooooooooooo-
-#     {0}    .=oooooooooooooooooooooooooooo-
-#     {0}      -=oooooooooooooooooooooooo=.
-#     {2}     =oo{0}====oooooooooooooooo==-{2}oo=-
-#     {2}    .-==-    {0}.--=======---     {2}.==-
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#       - yellow
-#     hex:
-#       - "#74CDDD"
-#       - "#FFFFFF"
-#       - "#F6D2A2"
-#     chip: "#00ADD8"
-# Graphql:
-#   type: data
-#   ascii: |
-#     {0}                 {}{}{}
-#     {0}                {}{}{}{}
-#     {0}                {}{}{}{}
-#     {0}            {}   {}{}{}   {}
-#     {0} {}{}{}  {}    {}      {}    {}  {}{}{}
-#     {0}{}{}{}{}      {}        {}      {}{}{}{}
-#     {0}{}{}{}{}     {}          {}     {}{}{}{}
-#     {0} {}{}{}     {}            {}     {}{}{}
-#     {0}   {}      {}              {}      {}
-#     {0}   {}     {}                {}     {}
-#     {0}   {}    {}                  {}    {}
-#     {0}   {}   {}                    {}   {}
-#     {0}   {}  {}                      {}  {}
-#     {0} {}{}{}                          {}{}{}
-#     {0}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
-#     {0}{}{}{}{}                        {}{}{}{}
-#     {0} {}{}{}  {}                  {}  {}{}{}
-#     {0}            {}   {}{}{}   {}
-#     {0}                {}{}{}{}
-#     {0}                {}{}{}{}
-#     {0}                 {}{}{}
-#   colors:
-#     ansi:
-#       - magenta
-#     chip: "#E10098"
-# Groovy:
-#   type: programming
-#   ascii: |
-#     {0}                   *
-#     {0}                  ***
-#     {0}                 *****
-#     {0}                *******
-#     {0}               *********
-#     {0}              ***********
-#     {0}             *************
-#     {0}*****************{1}@@@@@{0}*****************
-#     {0}  *************{1}@{0}******{1}@{0}**************
-#     {0}   ***********{1}@{0}**{1}@@{0}***{1}@{0}*************
-#     {0}    *********{1}@{0}***{1}@@{0}**{1}@{0}**{1}@{0}**********
-#     {0}      *******{1}@{0}****{1}@@{0}***{1}@@@{0}*******
-#     {0}       *******{1}@{0}******{1}@@{0}**{1}@@{0}*****
-#     {0}        *******{1}@@@@@@{0}**{1}@@@@{0}****
-#     {0}         ************{1}@@@@@@{0}***
-#     {0}         ******{1}@@@@@@@@@@@{0}****
-#     {0}        ********{1}@@@@@@@@{0}*******
-#     {0}       **********{1}@@{0}*************
-#     {0}      ***************************
-#     {0}     ***********       ***********
-#     {0}    *********             *********
-#     {0}   *****                       *****
-#     {0}  *                                 *
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#     chip: "#4298B8"
-# Haskell:
-#   type: programming
-#   ascii: |
-#     {0}yyyyyy{1} xxxxxx
-#     {0} yyyyyy{1} xxxxxx
-#     {0}  yyyyyy{1} xxxxxx
-#     {0}   yyyyyy{1} xxxxxx
-#     {0}    yyyyyy{1} xxxxxx{2} yyyyyyyyyy
-#     {0}     yyyyyy{1} xxxxxx{2} yyyyyyyyy
-#     {0}      yyyyyy{1} xxxxxx
-#     {0}     yyyyyy{1} xxxxxxxx{2} yyyyyyy
-#     {0}    yyyyyy{1} xxxxxxxxxx{2} yyyyyy
-#     {0}   yyyyyy{1} xxxxxxxxxxxx
-#     {0}  yyyyyy{1} xxxxxx  xxxxxx
-#     {0} yyyyyy{1} xxxxxx    xxxxxx
-#     {0}yyyyyy{1} xxxxxx      xxxxxx
-#   colors:
-#     ansi:
-#       - cyan
-#       - magenta
-#       - blue
-#     hex:
-#       - "#453A62"
-#       - "#5E5086"
-#       - "#8F4E8B"
-#     chip: "#5E5086"
-# Haxe:
-#   type: programming
-#   ascii: |
-#     {0}#############              {2}@@@@@@@@@@@@@
-#     {0}#################      {2}@@@@@@@@@@@@@@@@@
-#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-#     {0}#################      {2}@@@@@@@@@@@@@@@@@
-#     {0}#############              {2}@@@@@@@@@@@@@
-#   colors:
-#     ansi:
-#       - yellow
-#       - yellow
-#       - yellow
-#     hex:
-#       - "#FAB20B"
-#       - "#F69912"
-#       - "#F47216"
-#     chip: "#DF7900"
-# Hcl:
-#   type: programming
-#   ascii: |
-#     {0}::
-#     {0}::::
-#     {0}::::::
-#     {0}::::::::
-#     {0}::::::::::
-#     {0}:::::::::: ::        {1}         ..
-#     {0}  :::::::: ::::      {1}       ....
-#     {0}    :::::: ::::::    {1}     ......
-#     {0}      :::: ::::::::  {1}   ........
-#     {0}        :: ::::::::::{1} ..........
-#     {0}           ::::::::::{1} ..........
-#     {0}             ::::::::{1} ........
-#     {0}           ::  ::::::{1} ......
-#     {0}           ::::  ::::{1} ....
-#     {0}           ::::::  ::{1} ..
-#     {0}           ::::::::
-#     {0}           ::::::::::
-#     {0}           ::::::::::
-#     {0}             ::::::::
-#     {0}               ::::::
-#     {0}                 ::::
-#     {0}                   ::
-#   colors:
-#     ansi:
-#       - magenta
-#       - magenta
-#     hex:
-#       - "#5F43E9"
-#       - "#4040B2"
-#     chip: "#AACE60"
-# Hlsl:
-#   type: programming
-#   ascii: |
-#     {0}████████████████  {1}████████████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████      █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████      █████
-#     {0}████████████████  {1}████████████████
+ABNF:
+  type: data
+  ascii: |
+    {0}          ______
+    {0}         |      |
+    {0}         |  /\  |
+    {0}>>---+-->| /--\ |-->+--->>
+    {0}     |   |______|   |
+    {0}     |    ______    |
+    {0}     |   |  __  |   |
+    {0}     |   | |__) |   |
+    {0}     +-->| |__) |-->+
+    {0}     |   |______|   |
+    {0}     |    ______    |
+    {0}     |   |      |   |
+    {0}     |   | |\ | |   |
+    {0}     +-->| | \| |-->+
+    {0}     |   |______|   |
+    {0}     |    ______    |
+    {0}     |   |  ___ |   |
+    {0}     |   | |___ |   |
+    {0}     +-->| |    |-->+
+    {0}         |______|
+  colors:
+    ansi:
+      - white
+    hex:
+      - "#888888"
+    chip: "#555e25"
+Ada:
+  type: programming
+  ascii: |
+    {0}                              *
+    {0}                              *
+    {0}                            * **
+    {0}   *                        *****
+    {0}   **                       ******
+    {0}    **                   ###********
+    {0}    ***          -******#'###*********
+    {0}     *****               #### *********
+    {0}      ****************************{1}XXX{0}**
+    {0}     ** ******************{1}XXXX{2}o{1}X{0}*{1}X{2}o{1}XXX{0}*
+    {0}      **** ***************{1}XXXX{2}ooooo{1}XX{0}*
+    {0}        *******************{1}XXXX{2}ooooo{1}X
+    {0}          *******************{1}XXX{2}ooo{1}X
+    {0}          ************************{1}XX{0}*
+    {0}             *************    ******
+    {0}  /| |                           ****
+    {0} /-|(|(|                     ********
+    {0}                        ************
+    {0}Time-tested, safe     *************
+    {0}and secure            ***********
+    {0}                         *****
+  colors:
+    ansi:
+      - white
+      - cyan
+      - blue
+    hex:
+      - "#FFFFFF"
+      - "#0018C9"
+      - "#0C0A7C"
+    chip: "#02F88C"
+Agda:
+  type: programming
+  ascii: |
+    {0}   / / /           /  /
+    {0}  / / /           /  / /
+    {0} / o o           /    / /
+    {0}/____           /      /
+    {0}     |                 |
+    {0}     |                 |
+    {0}     ;                 ;
+    {0}      \               /
+    {0}       '.           .'
+    {0}         '-._____.-'
+  colors:
+    ansi:
+      - white
+    chip: "#315665"
+Arduino:
+  type: programming
+  ascii: |
+    {0}   ,=======.    ,=======.
+    {0}  //       \\  //       \\
+    {0} //         \\//    #    \\
+    {0} ||   ###    //    ###   ||
+    {0} \\         //\\    #    //
+    {0}  \\       //  \\       //
+    {0}   `======='    `======='
+    {0}      _   _              _
+    {0} /\  |_) | \ | | | |\ | / \
+    {0}/--\ | \ |_/ |_| | | \| \_/
+  colors:
+    ansi:
+      - cyan
+    chip: "#F34B7D"
+Assembly:
+  type: programming
+  ascii: |
+    {0}     __________________________
+    {0}    /                          \
+    {1}==={0}|  {1}.-.                       {0}|{1}===
+    {0}   | {1}(   )                      {0}|
+    {1}==={0}|  {1}'-'                       {0}|{1}===
+    {0}   |                            |
+    {1}==={0}|     {2} _____  ___ ____       {0}|{1}===
+    {0}   |     {2}(____ |/___)    \      {0}|
+    {1}==={0}|     {2}/ ___ |___ | | | |     {0}|{1}===
+    {0}   |     {2}\_____(___/|_|_|_|     {0}|
+    {1}==={0}|                            |{1}===
+    {0}   |                            |
+    {1}==={0}|                       {1}.-.  {0}|{1}===
+    {0}   |                      {1}(   ) {0}|
+    {1}==={0}|                       {1}'-'  {0}|{1}===
+    {0}    \__________________________/
+  colors:
+    ansi:
+      - white
+      - yellow
+      - green
+    chip: "#6E4C13"
+AutoHotKey:
+  type: programming
+  ascii: |
+    {1} .----------------.
+    {1}| .--------------. |
+    {1}| | {0} ____  ____ {1} | |
+    {1}| | {0}|_   ||   _|{1} | |
+    {1}| | {0}  | |__| |  {1} | |
+    {1}| | {0}  |  __  |  {1} | |
+    {1}| | {0} _| |  | |_ {1} | |
+    {1}| | {0}|____||____|{1} | |
+    {1}| |              | |
+    {1}| '--------------' |
+    {1} '----------------'
+  colors:
+    ansi:
+      - white
+      - green
+    hex:
+      - "#FFFFFF"
+      - "#119810"
+    chip: "#6594B9"
+Bash:
+  type: programming
+  ascii: |
+    {0}             _._
+    {0}         _.-'   '-._
+    {0}     _.-'           '-._
+    {0} _.-'                   '-._
+    {0}|                        _,-|
+    {0}|                    _,-'+++|
+    {0}|                _,-'+++++++|
+    {0}|             ,-'+++++++++++|
+    {0}|             |++++ ++++++++|
+    {0}|             |+++   +++++++|
+    {0}|             |++  +++++++++|
+    {0}|             |++++  +++{1}**{0}++|
+    {0}|             |++   ++{1}**{0}++++|
+    {0}'-,_          |+++ ++++++_,-'
+    {0}    '-,_      |++++++_,-'
+    {0}        '-,_  |++_,-'
+    {0}            '-|-'
+  colors:
+    ansi:
+      - white
+      - green
+    chip: "#89E051"
+C:
+  type: programming
+  ascii: |
+    {0}                 ++++++
+    {0}              ++++++++++++
+    {0}          ++++++++++++++++++++
+    {0}       ++++++++++++++++++++++++++
+    {0}    ++++++++++++++++++++++++++++++++
+    {0} +++++++++++++{3}************{0}+++++++++++++
+    {0}+++++++++++{3}******************{0}++++++++{2};;;
+    {0}+++++++++{3}**********************{0}++{2};;;;;;;
+    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+    {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
+    {0}+++++++{3}*******{0}+++++++++{2};;;;;;;;;;;;;;;;;
+    {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;;;;;;;;;;;
+    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;;;;;;;;;;;;
+    {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
+    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+    {1} :::::::::::::{3}************{1}:::::::::::::
+    {1}    ::::::::::::::::::::::::::::::::
+    {1}       ::::::::::::::::::::::::::
+    {1}          ::::::::::::::::::::
+    {1}              ::::::::::::
+    {1}                 ::::::
+  colors:
+    ansi:
+      - cyan
+      - blue
+      - blue
+      - white
+    hex:
+      - "#649AD2"
+      - "#004283"
+      - "#00599D"
+      - "#FFFFFF"
+    chip: "#555555"
+Ceylon:
+  type: programming
+  ascii: |
+    {1}                                 @@
+    {1}                                 @@
+    {3}          @@@@@@@{1}@@@@@@@@@@@@@@   @@
+    {0}    @@@{3}@@@@@@@@@@{1}@@@@@@ /@@@@@@@@  @@@
+    {0}  @@@@@@{3}@@@@@@@@@@{1}@@@@ (@@@@ @@@@@  @@{2}@@
+    {0} @@@@@@@@{3}@@@@@@@@@@@{1}@@@ \@@@@@@@@@@@@{2}@@@
+    {0}@@@@@@@@@@@{3}@@@@@@@@@@@{1}@@@@@@@@@@@@@{2}@@@@
+    {0}|/ @@@@@@@@@@{3}@@@@@@@@@@@@{1}@
+    {0}   @@@@@@@@@@@@{3}@@@@@@@@@@
+    {0}   @@@@@@@@@@@@@@{3}@@@@@@@ {4}@@
+    {0}    @@@@@@@     @@@@@@@ {4}@@@
+    {0}    @@@@@@ {4}@@    {0}@@@@@ {4}@@@@
+    {0}     @@@@ {4}@@@    {0}@@@@@ {4}@@@@@
+  colors:
+    ansi:
+      - yellow
+      - yellow
+      - yellow
+      - yellow
+      - yellow
+    hex:
+      - "#C27E10"
+      - "#DDA12E"
+      - "#D1911F"
+      - "#CC8B18"
+      - "#AB7008"
+    chip: "#DFA535"
+Clojure:
+  type: programming
+  ascii: |
+    {0}               ,....,
+    {0}          ,oooooooooooooo,
+    {0}      ,oooooooooooooooooooooo,
+    {0}    ,oooooooooooooooooooooooooo,
+    {0}   ,oooooo::'        '':ooooooooo,
+    {0}  '            '\\\\\:   :oooooooo,
+    {1}  .,,ooo'  :/:  {0}:\\\\\\\,  :ooooooo,
+    {1} :,oooo:  :///:  {0}:\\\\\\\\,  :oooooo:
+    {1}:ooooo:  ://///:, {0}:\\\\\\\\,  :ooooo:
+    {1}'ooooo: :///////:  {0}:\\\\\\\,  :ooooo:
+    {1}'ooooo: ://////: : {0}:\\\\\\\,  :ooooo:
+    {1}'ooooo:  :////: ::  {0}:\\\\\\,  :ooooo'
+    {1}'oooooo:  ://: ://:  {0}:\\\\,  :ooooo'
+    {1} `oooooo:  :' :////:  {0}:\\. ,;;;::'
+    {1}  `oooooo:,   ```````
+    {1}   `oooooo:::..        .::.,.,::'
+    {1}     `oooooooooOOooooOOoooooooo'
+    {1}       `ooooooooooooooooooooo'
+    {1}         `ooooooooooooooooo'
+    {1}             ````````````
+  colors:
+    ansi:
+      - cyan
+      - green
+    chip: "#DB5855"
+CMake:
+  type: programming
+  ascii: |
+    {0}            ;e{2}`
+    {0}           ;QD{2}?`
+    {0}          ;B#R{2}1r`
+    {0}         ;WRMK{2}S|r`
+    {0}        :O9KOK{2}S\\*`
+    {0}       :keXPk6{2}Zc7v|`
+    {0}      :ajyoaZe{3}m{2}JJ{]\`
+    {0}     :]z1x}f9{3}@@{2}yujSoc`
+    {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
+    {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
+    {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
+    {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
+    {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
+  colors:
+    ansi:
+      - blue
+      - green
+      - red
+      - black
+    chip: "#DA3434"
+CoffeeScript:
+  type: programming
+  ascii: |
+    {0}           #####    ######
+    {0}          ###    ###    ###
+    {0}  /A\      ######    #####      /A\
+    {0}  \AAAAA\                   /AAAAA/
+    {0}       \AAAAAAAAAAAAAAAAAAAAA/
+    {0}  \AA\                         /AA/
+    {0}   |\AAAAAAAAAAAAAAAAAAAAAAAAAAA/|
+    {0}  /\\llAAAAAAAAAAAAAAAAAAAAAAAll//
+    {0} /#A\\llAAAAAAAAAAAAAAAAAAAAAll//
+    {0}|#A   \\llAAAAAAAAAAAAAAAAAAll//
+    {0} \#A    \\llAAAAAAAAAAAAAAll//
+    {0}   \#A   \\llAAAAAAAAAAAAll//
+    {0}     \#A>  ||lAAAAAAAAAAl||
+    {0}            \;AAAAAAAAAA;/
+  colors:
+    ansi:
+      - red
+    chip: "#244776"
+ColdFusion:
+  type: programming
+  ascii: |
+    {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
+    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@{0}CfCfCfCf{1}@@{0}Cf
+    {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}Cf
+    {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@@{0}CfCf{1}@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@{0}CfCfCfCfCfCf{1}@@@@@@{0}Cf
+    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@{0}CfCf{1}@@@@@@@@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@{0}CfCfCfCfCf{1}@@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@@{0}CfCfCfCfCf{1}@@{0}CfCf{1}@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+    {0}Cf{1}@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@{0}Cf
+    {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
+  colors:
+    ansi:
+      - white
+      - blue
+    hex:
+      - "#E5F3FC"
+      - "#274550"
+    chip: "#ed2cd6"
+Coq:
+  type: programming
+  ascii: |
+    {0}   ::::::::
+    {0} :::::::::::
+    {0} :::::::::::
+    {0} :::::{1}___{0}:::
+    {1}   ______ {0}:
+    {1}     ____   _________
+    {1}      ___  ___________
+    {1}      ___ ____________
+    {1}     _________________
+    {1}   ___________________
+    {1}______________ ______
+    {1}   ___________ ___
+    {1}      ______
+    {1}       ____
+    {1}     ______
+    {1}    ________
+    {1}    ________
+  colors:
+    ansi:
+      - yellow
+      - white
+    hex:
+      - "#BF8C5E"
+      - "#D5BE99"
+    chip: "#D0B68C"
+Cpp:
+  type: programming
+  ascii: |
+    {0}                 ++++++
+    {0}              ++++++++++++
+    {0}          ++++++++++++++++++++
+    {0}       ++++++++++++++++++++++++++
+    {0}    ++++++++++++++++++++++++++++++++
+    {0} +++++++++++++{3}************{0}+++++++++++++
+    {0}+++++++++++{3}******************{0}++++++++{2};;;
+    {0}+++++++++{3}**********************{0}++{2};;;;;;;
+    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+    {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
+    {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
+    {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
+    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
+    {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
+    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+    {1} :::::::::::::{3}************{1}:::::::::::::
+    {1}    ::::::::::::::::::::::::::::::::
+    {1}       ::::::::::::::::::::::::::
+    {1}          ::::::::::::::::::::
+    {1}              ::::::::::::
+    {1}                 ::::::
+  colors:
+    ansi:
+      - cyan
+      - blue
+      - blue
+      - white
+    hex:
+      - "#649AD2"
+      - "#004283"
+      - "#00599D"
+      - "#FFFFFF"
+    chip: "#F34B7D"
+  serialization: c++
+Crystal:
+  type: programming
+  ascii: |
+    {0}            ,loc;'..
+    {0}          ,xNMMMWNXK0kdl,..
+    {0}        ,xNMMMMMMMMMMMMMKOxoc;.
+    {0}      ,xNMMMMMMMMMMMMMMMMMMMMWX:
+    {0}    ,xNMMMMMMMMMMWNNWMMMMMMMMMMk.
+    {0}  ,xNMMMMMWX0kdlc;:lOMMMMMMMMMMNc
+    {0},xXK{1}..mmmMMMMMMMM'{0}0MMMMMMMMMMMMMO.
+    {0}0o;{1}MMMMMMMMMMMMMm{0}.MMMMMMMMMMMMMMWl
+    {0}0O:.{1}MMMMMMMMMMMM'{0}cMMMMMMMMMMMMMMM0'
+    {0}oWWO:.{1}MMMMMMMMMm{0}.OMMMMMMMMMMMMMMMWo
+    {0}'0MMWO:.{1}MMMMMMM'{0}lWMMMMMMMMMMMMMMMMK,
+    {0} lWMMMWO:.{1}MMMMm{0}'0MMMMMMMMMMMMMMMMMWd
+    {0} .OMMMMMW0c.{1}MM'{0}oWMMMMMMMMMMMMMMMMMWk.
+    {0}  cNMMMMMMW0c{1}'{0},KMMMMMMMMMMMMMMMMW0c.
+    {0}  .kMMMMMMMMW00WMMMMMMMMMMMMMMW0c.
+    {0}   cNMMMMMMMMMMMMMMMMMMMMMMMW0c.
+    {0}   .xWMMMMMMMMMMMMMMMMMMMMW0:.
+    {0}    .';coxOKNWMMMMMMMMMMWO:.
+    {0}           ..,:ldk0KXWMM:.
+    {0}               ...';c:
+  colors:
+    ansi:
+      - white
+      - black
+    chip: "#000100"
+CSharp:
+  type: programming
+  ascii: |
+    {0}                 ++++++
+    {0}              ++++++++++++
+    {0}          ++++++++++++++++++++
+    {0}       ++++++++++++++++++++++++++
+    {0}    ++++++++++++++++++++++++++++++++
+    {0} +++++++++++++{3}************{0}+++++++++++++
+    {0}+++++++++++{3}******************{0}++++++++{2};;;
+    {0}+++++++++{3}**********************{0}++{2};;;;;;;
+    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+    {0}+++++++{3}********{0}++++++++++{3}**{2};;;{3}**{2};;;{3}**{2};;;
+    {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}*********{2}::
+    {0}+++++++{3}******{0}+++++++{2};;;;;;;;;;{3}**{2};;;{3}**{2};;;
+    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}*********{2};;
+    {0}+++++++{3}********{1}::::::::::{3}**{2};;;{3}**{2};;;{3}**{2};;;
+    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+    {1} :::::::::::::{3}************{1}:::::::::::::
+    {1}    ::::::::::::::::::::::::::::::::
+    {1}       ::::::::::::::::::::::::::
+    {1}          ::::::::::::::::::::
+    {1}              ::::::::::::
+    {1}                 ::::::
+  colors:
+    ansi:
+      - blue
+      - magenta
+      - magenta
+      - white
+    hex:
+      - "#9B4F97"
+      - "#67217A"
+      - "#803788"
+      - "#FFFFFF"
+    chip: "#178600"
+  serialization: c#
+Css:
+  type: markup
+  ascii: |
+    {1}        ####    ####    ####
+    {1}       ##  ##  ##      ##
+    {1}       ##       ####    ####
+    {1}       ##  ##      ##      ##
+    {1}        ####    ####    ####
+    {0}(((((((((((((((((((((((((((((((((((
+    {0}(((((((((((((((((/////////////(((((
+    {0}(((((((((((((((((/////////////(((((
+    {0}(((((((                    ///(((((
+    {0} ((((((                    ///((((
+    {0} ((((((((((((((((        /////((((
+    {0} (((((((((((        //////////((((
+    {0} (((((((                   ///((((
+    {0}  ((((((                   ///(((
+    {0}  (((((((((((((((//////    ///(((
+    {0}  (((((((    ((((//////    ///(((
+    {0}  (((((((                  ///(((
+    {0}   (((((((               /////((
+    {0}   ((((((((((((((/////////////((
+    {0}   ((((((((((((((//////(((((((((
+    {0}          (((((((((((((((
+  colors:
+    ansi:
+      - blue
+      - white
+    chip: "#563D7C"
+D:
+  type: programming
+  ascii: |
+    {0}                                    DDD
+    {0}DDDDDDDDDDDDDDDDDDDDDD             DDDDD
+    {0}DDDDDDDDDDDDDDDDDDDDDDDD            DDD
+    {0}DDDDDDDDDDDDDDDDDDDDDDDDDD     DDDDD
+    {0}DDDDDD               DDDDDDD DDDDDDDDD
+    {0}DDDDDD                DDDDDDDDDDDDDDDDD
+    {0}DDDDDD                 DDDDDDDDDDDDDDDD
+    {0}DDDDDD                 DDDDDDDDDDDDDD
+    {0}DDDDDD                 DDDDDDDDDDD
+    {0}DDDDDD                 DDDDDDD
+    {0}DDDDDD                DDDDDDD
+    {0}DDDDDD               DDDDDDD
+    {0}DDDDDDDDDDDDDDDDDDDDDDDDDDD
+    {0}DDDDDDDDDDDDDDDDDDDDDDDDD
+    {0}DDDDDDDDDDDDDDDDDDDDDD
+  colors:
+    ansi:
+      - red
+    chip: "#BA595E"
+Dart:
+  type: programming
+  ascii: |
+    {0}#
+    {0} ##
+    {0}  ###
+    {0}   ######              ###
+    {0}    #########        #######
+    {0}      ###########  ######{2}O{0}##{2}========-
+    {0}       #####################
+    {0}         ##################
+    {0}      ###############{1}+++++
+    {0}###################{1}+++++++
+    {0}        ##########{1}+++++++
+    {0}               ##{1}+++++++
+    {0}               ###{1}+++
+    {0}               #####
+    {0}               #######
+    {0}               #########
+    {0}                #######
+    {0}                 #####
+  colors:
+    ansi:
+      - blue
+      - cyan
+      - blue
+    hex:
+      - "#00A3E7"
+      - "#42DFCD"
+      - "#01597D"
+    chip: "#00B4AB"
+Dockerfile:
+  type: programming
+  ascii: |
+    {2}                  ##   {0}      .
+    {2}            ## ## ##   {0}     ==
+    {2}         ## ## ## ## ##{0}    ===
+    {0}     /"""""""""""""""""\___/ ===
+    {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
+    {0}     \{1}______ o{0}           __/
+    {1}       \    \ {0}        __/
+    {1}        \____\{0}_______/
+  colors:
+    ansi:
+      - cyan
+      - white
+      - cyan
+    chip: "#384D54"
+Elisp:
+  type: programming
+  ascii: |
+    {0}         ':r\iv7i|r:'
+    {0}      :LFaZZZaaaoooo2t\:
+    {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
+    {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
+    {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
+    {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
+    {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
+    {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
+    {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
+    {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
+    {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
+    {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
+    {0}   `;c]]][uaXUKO$wo]]]]L:`
+    {0}     `,>i1tt[[]]]]ti>,`
+    {0}        `.~;^>??>^;,-`
+  colors:
+    ansi:
+      - magenta
+      - white
+    chip: "#C065DB"
+  serialization: emacs-lisp
+Elixir:
+  type: programming
+  ascii: |
+    {0}            x
+    {0}           WNX
+    {0}          Odc:xN
+    {0}        0ddko,oX
+    {0}       kokNWOllOW
+    {0}     KdoKWMMNKxl0W
+    {0}    0odXMMMMMMNxoON
+    {0}   0lxNMMMMMMMMW0dd0N
+    {0}  0oxNMMMMMMMMMMMNOodKW
+    {0}  odXMMMMMMMMMMMMMMXxokN
+    {0} xl0MMMMMMMMMMMMMMMMW0odX
+    {0}xoxWMMMMMMMMMMMMMMMMMMKodN
+    {0}0lOMMMMMMMMMMMMMMMMMMMWOlO
+    {0}OlOMWKXMMMMMMMMMMMMMMMMKlxW
+    {0}KlxWXodNMMMMMMMMMMMMMMM0lkW
+    {0}xxoKWOlkNMMMMMMMMMMMMMWkl0
+    {0} XooKN0ddkKNWWWMMMMMMWOlkW
+    {0}  XxokXN0kxxkkKMMMMN0doON
+    {0}   WKxdxk0KKKKXK0OxddkXW
+    {0}     WNKOxxxxxxxxkOXW
+    {0}         WWWWWWW
+  colors:
+    ansi:
+      - magenta
+    chip: "#6E4A7E"
+Elm:
+  type: programming
+  ascii: |
+    {0}   {1}ElmElmElmElm   {3}ElmElmElmElmElm
+    {0}El   {1}mElmElmElmEl   {3}mElmElmElmElm
+    {0}Elm   {1}ElmElmElmElmE   {3}lmElmElmElm
+    {0}ElmEl   {1}mElmElmElmElm   {3}ElmElmElm
+    {0}ElmElmE                   {3}mElmElm
+    {0}ElmElmElm   {2}ElmElmElmEl     {3}lmElm
+    {0}ElmElmElmEl   {2}mElmElm   {1}Elm   {3}Elm
+    {0}ElmElmElmElmE   {2}lmE   {1}lmElmEl   {3}m
+    {0}ElmElmElmElmElm     {1}mElmElmElmE
+    {0}ElmElmElmElmElmE    {1}mElmElmElm
+    {0}ElmElmElmElmEl   {3}mE   {1}lmElmE   {2}lm
+    {0}ElmElmElmElm   {3}ElmElm   {1}El   {2}mElm
+    {0}ElmElmElmE   {3}lmElmElmEl    {2}ElmElm
+    {0}ElmElmEl   {3}mElmElmElmElmE   {2}lmElm
+    {0}ElmElm   {3}ElmElmElmElmElmElm   {2}Elm
+    {0}ElmE   {3}lmElmElmElmElmElmElmEl   {2}m
+    {0}El   {3}mElmElmElmElmElmElmElmElmE
+    {0}   {3}ElmElmElmElmElmElmElmElmElmElm
+  colors:
+    ansi:
+      - blue
+      - green
+      - yellow
+      - cyan
+    chip: "#60B5CC"
+Emojicode:
+  type: programming
+  ascii: |
+    {0}~~
+    {0} ~~
+    {0}  ~~
+    {0}   ~~{2}           ''''''''
+    {0}    ~~~{2}       ''''''''''''
+    {0}     {1}````````{2}''''''''''''''
+    {1}    `````````{2}''''''''''''''
+    {1}   `````````{2}'''''''''''''{3}~~~~~~~-
+    {1}   `````````{2}'''''''''''{3}~~~~~~~~~~~
+    {1}   ``````````{2}''{1}````````{3}~~~~~~~~~~~~
+    {1}   ``````````````````````{3}~~~~~~~~~~~
+    {1}   ```````````````````````{3}~~~~~~~~~~
+    {1}    ``{3}~~~~~{1}```````````````{3}~~~~~~~~~~
+    {3}   -~~~~~~~{1}```````````````{3}~~~~~~~~~
+    {3}  ~~~~~~~~~{1}```````````````````````
+    {3}  ~~~~~~~~~~{1}````````````````````````
+    {3} ~~~~~~~~~~~~{1}`````````````````````````
+    {3}  ~~~~~~~~~~~~~~{1}``````{2}````````````````
+    {3}  ~~~~~~~~~~~~~~{2}'''''''{1}```````````````
+    {3}   ~~~~~~~~~~~~{2}''''''''{1}```````````````
+    {3}     ~~~~~~~~{2}'''''''''''{1}``````````````
+    {2}              {2}'''''''''''{1}````````````
+    {2}                {2}''''''''   {1}````````
+  colors:
+    ansi:
+      - green
+      - magenta
+      - magenta
+      - magenta
+    hex:
+      - "#77B255"
+      - "#9266CC"
+      - "#AA8DD8"
+      - "#744EAA"
+    chip: "#60B5CC"
+Erlang:
+  type: programming
+  ascii: |
+    {0}   EEEEEEEEEEEEE      EEEEEEEEEEEE
+    {0}  EEEEEEEEEEEE         EEEEEEEEEEEE
+    {0} EEEEEEEEEEEE           EEEEEEEEEEE
+    {0} EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+    {0}EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+    {0}EEEEEEEEEEEEE
+    {0}EEEEEEEEEEEEE
+    {0}EEEEEEEEEEEEE
+    {0} EEEEEEEEEEEEE                 E
+    {0} EEEEEEEEEEEEE                EEEEE
+    {0}  EEEEEEEEEEEEE             EEEEEEEEE
+    {0}   EEEEEEEEEEEEEE         EEEEEEEEEE
+  colors:
+    ansi:
+      - red
+    chip: "#B83998"
+Fish:
+  type: programming
+  ascii: |
+    {0}                 ___
+    {0}  ___======____=-{1}-{0}-=)
+    {0}/T            \_{1}--={0}==)
+    {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
+    {0} \      / )J~~    \{1}-={0})
+    {0}  \\___/  )JJ~{1}~~{0}   \)
+    {0}   \_____/JJJ~~{1}~~{0}    \
+    {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
+    {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
+    {0}  (\\)  ({1}\{0}\\)_           {1}\==__
+    {0}   \V    \\\) ===_____   {1}\\\\{0}\\
+    {0}          \V)     \_) \\{1}\\JJ\{0}J\)
+    {0}                      /J{1}\J{0}T\JJJJ)
+    {0}                      (JJJ| \UUU)
+    {0}                       (UU)
+  colors:
+    ansi:
+      - red
+      - yellow
+    chip: "#4AAE47"
+Forth:
+  type: programming
+  ascii: |
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::         :::::::
+    {0}::::::::::::::::::::::::::     :::::::::
+    {0}::::::::::::::::::::::::     :::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+  colors:
+    ansi:
+      - red
+    chip: "#341708"
+FortranLegacy:
+  type: programming
+  ascii: |
+    {4}    _ {1}__ __
+    {4}  _|_ {1} /  /
+    {0}  o{4}|{1}  /  /
+    {0}      /\
+    {0}     /  \
+    {0}    |    |
+    {0}    |{2}NASA{0}|
+    {0}    |    |
+    {0}    |    |
+    {0}    |    |
+    {0}   '      '
+    {0}   |      |
+    {0}   |      |
+    {0}   |______|
+    {3}   /-`'-`.\
+    {3}  ; / . \'\.
+    {3} '/''( .'\.''
+    {3}'.'.;.;' ;'.;'
+  colors:
+    ansi:
+      - white
+      - green
+      - cyan
+      - yellow
+      - red
+    chip: "#4D41B1"
+  serialization: fortran
+FortranModern:
+  type: programming
+  ascii: |
+    {4}    _{1} _  _
+    {4}  _|_{1}(_|/ \
+    {0}  o{4}| {1} _|\_/
+    {0}      /\
+    {0}     /  \
+    {0}    |    |
+    {0}    |{2}NASA{0}|
+    {0}    |    |
+    {0}    |    |
+    {0}    |    |
+    {0}   '      '
+    {0}   |      |
+    {0}   |      |
+    {0}   |______|
+    {3}   /-`'-`.\
+    {3}  ; / . \'\.
+    {3} '/''( .'\.''
+    {3}'.'.;.;' ;'.;'
+  colors:
+    ansi:
+      - white
+      - green
+      - cyan
+      - yellow
+      - red
+    chip: "#4D41B1"
+FSharp:
+  type: programming
+  ascii: |
+    {0}                 /  {1}((
+    {0}               ///  {1}((((
+    {0}             /////  {1}((((((
+    {0}           ///////  {1}((((((((
+    {0}         /////////  {1}((((((((((
+    {0}       //////////   {1}  ((((((((((
+    {0}     //////////  /  {1}    ((((((((((
+    {0}   //////////  ///  {1}      ((((((((((
+    {0} //////////  /////  {1}        ((((((((((
+    {0}/////////   //////  {1}         ((((((((((
+    {0}  /////////   ////  {1}       ((((((((((
+    {0}    /////////   //  {1}     ((((((((((
+    {0}      /////////     {1}   ((((((((((
+    {0}        /////////   {1} ((((((((((
+    {0}          ////////  {1}(((((((((
+    {0}            //////  {1}(((((((
+    {0}              ////  {1}(((((
+    {0}                //  {1}(((
+  colors:
+    ansi:
+      - cyan
+      - cyan
+    chip: "#B845FC"
+  serialization: f#
+GdScript:
+  type: programming
+  ascii: |
+    {0}         _.aMb      dMe._
+    {0}        'H8888b,  ,d8888H'
+    {0}   .   .:88888d8888888888:.   .
+    {0} .d8b.dM888888888888888888Mb.d8b.
+    {0}d88888888888888888888888888888888b
+    {0}'V888888888888888888888888888888V'
+    {0} 88888888888888888888888888888888
+    {0} 8888P' {1}__{0} "V88888888V" {1}__{0} 'V8888
+    {0} 8888" {1}dMMb {0}'888{1}''{0}888' {1}d88b {0}"8888
+    {0} 8888b {1}:HH: {0}/888{1}  {0}888\ {1}:HH: {0}d8888
+    {0} 8888be._.ad8888{1}..{0}8888be._.ad8888
+    {0} WW8888888888888888888888888888WW
+    {0} {1}#######{0}YW88/{1}########{0}\88WY{1}#######
+    {0} MWbzxe{1}##{0}8MW;{1}##{0}8888{1}##{0};8MW{1}##{0}aezdWM
+    {0} 'Y8888b.{1}#####{0}/8888\{1}#####{0}.d8888Y'
+    {0}  "V8888888888888888888888888V"
+    {0}   '^YV8888888888888888888VP^'
+    {0}      '"^^VY888888888VY^^'
+  colors:
+    ansi:
+      - cyan
+      - white
+    hex:
+      - "#458DC0"
+      - "#FFFFFF"
+    chip: "#355570"
+Glsl:
+  type: programming
+  ascii: |
+    {0}         ,,@@@@@@@@@@@@@@@@@..
+    {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
+    {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
+    {0}   ,@@@@@@@@'              `@@@@@@@.
+    {0} ,@@@@@@@@'                    `@@@@.
+    {0},@@@@@@@'                         `@@.
+    {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
+    {0}@@@@@@  {1}/:::::||:|      /:::::||:|
+    {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
+    {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
+    {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
+    {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
+    {0}@@@@@@@.                            ,@
+    {0}`@@@@@@@.                         ,@@'
+    {0} `@@@@@@@@.                    ,@@@@'
+    {0}   `@@@@@@@@.              ,@@@@@@@'
+    {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
+    {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
+    {0}         ``@@@@@@@@@@@@@@@@@''
+  colors:
+    ansi:
+      - blue
+      - magenta
+    hex:
+      - "#5487a6"
+      - "#bc258e"
+    chip: "#5686a5"
+Go:
+  type: programming
+  ascii: |
+    {0}           --==============--
+    {0}  .-==-.===oooo=oooooo=ooooo===--===-
+    {0} .==  =o={1}oGGGGGG{0}o=oo=o{1}GGGGGGG{0}G=o=  oo-
+    {0} -o= oo={1}G .=GGGGG{0}o=o={1}= .=GGGGG{0}=ooo o=-
+    {0}  .-=oo={1}o==oGGGGG{0}=oo={1}oooGGGGGo{0}=oooo.
+    {0}   -ooooo{1}=oooooo{0}={2}.   .{0}={1}=ooo=={0}oooooo-
+    {0}   -ooooooooooo{2}====_===={0}ooooooooooo=
+    {0}   -oooooooooooo{2}=={1}#{0}.{1}#{2}=={0}ooooooooooooo
+    {0}   -ooooooooooooo={1}#{0}.{1}#{0}=oooooooooooooo
+    {0}   .oooooooooooooooooooooooooooooooo.
+    {0}    oooooooooooooooooooooooooooooooo.
+    {2}  ..{0}oooooooooooooooooooooooooooooooo{2}..
+    {2}-=o-{0}=ooooooooooooooooooooooooooooooo{2}-oo.
+    {2}.=- {0}oooooooooooooooooooooooooooooooo{2}-.-
+    {0}   .oooooooooooooooooooooooooooooooo-
+    {0}   -oooooooooooooooooooooooooooooooo-
+    {0}   -oooooooooooooooooooooooooooooooo-
+    {0}   -oooooooooooooooooooooooooooooooo-
+    {0}   .oooooooooooooooooooooooooooooooo
+    {0}    =oooooooooooooooooooooooooooooo-
+    {0}    .=oooooooooooooooooooooooooooo-
+    {0}      -=oooooooooooooooooooooooo=.
+    {2}     =oo{0}====oooooooooooooooo==-{2}oo=-
+    {2}    .-==-    {0}.--=======---     {2}.==-
+  colors:
+    ansi:
+      - cyan
+      - white
+      - yellow
+    hex:
+      - "#74CDDD"
+      - "#FFFFFF"
+      - "#F6D2A2"
+    chip: "#00ADD8"
+Graphql:
+  type: data
+  ascii: |
+    {0}                 {}{}{}
+    {0}                {}{}{}{}
+    {0}                {}{}{}{}
+    {0}            {}   {}{}{}   {}
+    {0} {}{}{}  {}    {}      {}    {}  {}{}{}
+    {0}{}{}{}{}      {}        {}      {}{}{}{}
+    {0}{}{}{}{}     {}          {}     {}{}{}{}
+    {0} {}{}{}     {}            {}     {}{}{}
+    {0}   {}      {}              {}      {}
+    {0}   {}     {}                {}     {}
+    {0}   {}    {}                  {}    {}
+    {0}   {}   {}                    {}   {}
+    {0}   {}  {}                      {}  {}
+    {0} {}{}{}                          {}{}{}
+    {0}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
+    {0}{}{}{}{}                        {}{}{}{}
+    {0} {}{}{}  {}                  {}  {}{}{}
+    {0}            {}   {}{}{}   {}
+    {0}                {}{}{}{}
+    {0}                {}{}{}{}
+    {0}                 {}{}{}
+  colors:
+    ansi:
+      - magenta
+    chip: "#E10098"
+Groovy:
+  type: programming
+  ascii: |
+    {0}                   *
+    {0}                  ***
+    {0}                 *****
+    {0}                *******
+    {0}               *********
+    {0}              ***********
+    {0}             *************
+    {0}*****************{1}@@@@@{0}*****************
+    {0}  *************{1}@{0}******{1}@{0}**************
+    {0}   ***********{1}@{0}**{1}@@{0}***{1}@{0}*************
+    {0}    *********{1}@{0}***{1}@@{0}**{1}@{0}**{1}@{0}**********
+    {0}      *******{1}@{0}****{1}@@{0}***{1}@@@{0}*******
+    {0}       *******{1}@{0}******{1}@@{0}**{1}@@{0}*****
+    {0}        *******{1}@@@@@@{0}**{1}@@@@{0}****
+    {0}         ************{1}@@@@@@{0}***
+    {0}         ******{1}@@@@@@@@@@@{0}****
+    {0}        ********{1}@@@@@@@@{0}*******
+    {0}       **********{1}@@{0}*************
+    {0}      ***************************
+    {0}     ***********       ***********
+    {0}    *********             *********
+    {0}   *****                       *****
+    {0}  *                                 *
+  colors:
+    ansi:
+      - cyan
+      - white
+    chip: "#4298B8"
+Haskell:
+  type: programming
+  ascii: |
+    {0}yyyyyy{1} xxxxxx
+    {0} yyyyyy{1} xxxxxx
+    {0}  yyyyyy{1} xxxxxx
+    {0}   yyyyyy{1} xxxxxx
+    {0}    yyyyyy{1} xxxxxx{2} yyyyyyyyyy
+    {0}     yyyyyy{1} xxxxxx{2} yyyyyyyyy
+    {0}      yyyyyy{1} xxxxxx
+    {0}     yyyyyy{1} xxxxxxxx{2} yyyyyyy
+    {0}    yyyyyy{1} xxxxxxxxxx{2} yyyyyy
+    {0}   yyyyyy{1} xxxxxxxxxxxx
+    {0}  yyyyyy{1} xxxxxx  xxxxxx
+    {0} yyyyyy{1} xxxxxx    xxxxxx
+    {0}yyyyyy{1} xxxxxx      xxxxxx
+  colors:
+    ansi:
+      - cyan
+      - magenta
+      - blue
+    hex:
+      - "#453A62"
+      - "#5E5086"
+      - "#8F4E8B"
+    chip: "#5E5086"
+Haxe:
+  type: programming
+  ascii: |
+    {0}#############              {2}@@@@@@@@@@@@@
+    {0}#################      {2}@@@@@@@@@@@@@@@@@
+    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+    {0}#################      {2}@@@@@@@@@@@@@@@@@
+    {0}#############              {2}@@@@@@@@@@@@@
+  colors:
+    ansi:
+      - yellow
+      - yellow
+      - yellow
+    hex:
+      - "#FAB20B"
+      - "#F69912"
+      - "#F47216"
+    chip: "#DF7900"
+Hcl:
+  type: programming
+  ascii: |
+    {0}::
+    {0}::::
+    {0}::::::
+    {0}::::::::
+    {0}::::::::::
+    {0}:::::::::: ::        {1}         ..
+    {0}  :::::::: ::::      {1}       ....
+    {0}    :::::: ::::::    {1}     ......
+    {0}      :::: ::::::::  {1}   ........
+    {0}        :: ::::::::::{1} ..........
+    {0}           ::::::::::{1} ..........
+    {0}             ::::::::{1} ........
+    {0}           ::  ::::::{1} ......
+    {0}           ::::  ::::{1} ....
+    {0}           ::::::  ::{1} ..
+    {0}           ::::::::
+    {0}           ::::::::::
+    {0}           ::::::::::
+    {0}             ::::::::
+    {0}               ::::::
+    {0}                 ::::
+    {0}                   ::
+  colors:
+    ansi:
+      - magenta
+      - magenta
+    hex:
+      - "#5F43E9"
+      - "#4040B2"
+    chip: "#AACE60"
+Hlsl:
+  type: programming
+  ascii: |
+    {0}████████████████  {1}████████████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████      █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████      █████
+    {0}████████████████  {1}████████████████
 
-#     {2}████████████████  {3}████████████████
-#     {2}█████      █████  {3}█████  █████████
-#     {2}█████  █████████  {3}█████  █████████
-#     {2}█████      █████  {3}█████  █████████
-#     {2}█████████  █████  {3}█████  █████████
-#     {2}█████      █████  {3}█████      █████
-#     {2}████████████████  {3}████████████████
-#   colors:
-#     ansi:
-#       - red
-#       - green
-#       - blue
-#       - yellow
-#     hex:
-#       - "#F65314"
-#       - "#7CBB00"
-#       - "#00A1F1"
-#       - "#FFBB00"
-#     chip: "#AACE60"
-# HolyC:
-#   type: programming
-#   ascii: |
-#     {0}             ========
-#     {0}         ====        ====
-#     {0}      ====              ====
-#     {0}    ===                   ===
-#     {0}   ===                     ===
-#     {0}  ==           {1}***           {0}==
-#     {0}  ==        {1}*********        {0}==
-#     {0}   =    {1}*****************    {0}=
-#     {1}    ********{0}*********{1}********
-#     {1} ********{0}**{2}***********{0}**{1}********
-#     {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
-#     {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
-#     {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
-#     {1}*****{0}*{2}****{0}*{1}**********************
-#     {1}*****{0}*{2}****{0}*{1}**********************
-#     {1}*****{0}*{2}****{0}*{1}**********************
-#     {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
-#     {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
-#     {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
-#     {1} ********{0}**{2}***********{0}**{1}********
-#     {1}     *******{0}*********{1}*******
-#     {1}        *****************
-#     {1}            *********
-#     {1}               ***
-#   colors:
-#     ansi:
-#       - yellow
-#       - cyan
-#       - white
-#     hex:
-#       - "#FBFE67"
-#       - "#0B449D"
-#       - "#FFFFFF"
-#     chip: "#FFEFAF"
-# Html:
-#   type: markup
-#   ascii: |
-#     {1}  ##  ##  ######  ##   ##  ##
-#     {1}  ##  ##    ##    ### ###  ##
-#     {1}  ######    ##    ## # ##  ##
-#     {1}  ##  ##    ##    ##   ##  ##
-#     {1}  ##  ##    ##    ##   ##  ######
-#     {0}(((((((((((((((((((((((((((((((((((
-#     {0}(((((((((((((((((/////////////(((((
-#     {0}(((((((((((((((((/////////////(((((
-#     {0}(((((((                     //(((((
-#     {0} ((((((                     //((((
-#     {0} ((((((    ((((((/////////////((((
-#     {0} ((((((     (((((/////////////((((
-#     {0} ((((((                    ///((((
-#     {0}  (((((                    ///(((
-#     {0}  (((((((((((((((//////    ///(((
-#     {0}  ((((((    (((((/////     ///(((
-#     {0}  ((((((                   ///(((
-#     {0}   (((((((               /////((
-#     {0}   ((((((((((((((/////////////((
-#     {0}   ((((((((((((((//////(((((((((
-#     {0}          (((((((((((((((
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#     chip: "#E34C26"
-# Idris:
-#   type: programming
-#   ascii: |
-#     {0}       %
-#     {0}          %
-#     {0}   %&&&     %%
-#     {0}        %%    %&
-#     {0}&%%%&     %    %%
-#     {0}     %%        %%
-#     {0}       %       %%
-#     {0} %%%          %%&
-#     {0}   %%       %%%
-#     {0}    %     &%%%
-#     {0}         %%%&
-#     {0}       &%%%
-#     {0}      %%%%
-#     {0}      %%%
-#     {0}     %%%
-#     {0}     %%%
-#     {0}     &%%
-#     {0}      %%%
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#B30000"
-# Java:
-#   type: programming
-#   ascii: |
-#     {0}                  |
-#     {0}                 ||
-#     {0}               |||
-#     {0}             ||||    ||
-#     {0}           ||||| ||||
-#     {0}          ||||  |||
-#     {0}         ||||  |||
-#     {0}         |||    |||
-#     {0}          |||    |||
-#     {0}            ||    ||
-#     {0}              |   |
-#     {1}   ####               #    ##
-#     {1}    ################       ##
-#     {1}       #                   ##
-#     {1}      ################   ###
-#     {1}
-#     {1}       ##############
-#     {1}####      #######          #
-#     {1}#####                   ####
-#     {1}   #####################      #
-#     {1}                          ###
-#     {1}          ###############
-#   colors:
-#     ansi:
-#       - red
-#       - blue
-#     hex:
-#       - "#F44336"
-#       - "#1665C0"
-#     chip: "#B07219"
-# JavaScript:
-#   type: programming
-#   ascii: |
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJ    SJSJS      JSJSJS
-#     {0}JSJSJSJSJSJSJSJSJ    SJS          JSJS
-#     {0}JSJSJSJSJSJSJSJSJ    SJS     JSJSJSJSJ
-#     {0}JSJSJSJSJSJSJSJSJ    SJSJ     SJSJSJSJ
-#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJ     SJSJSJ
-#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJ     JSJS
-#     {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJS     JSJ
-#     {0}JSJSJSJSJS     JS    JSJS          JSJ
-#     {0}JSJSJSJSJSJ          SJSJSJ      SJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
-#   colors:
-#     ansi:
-#       - yellow
-#     hex:
-#       - "#ECE653"
-#     chip: "#F1E05A"
-# Json:
-#   type: data
-#   ascii: |
-#     {0}           `:+osyyyso+/:`
-#     {0}        :smNNNmmmddddhhhmds:
-#     {0}     .oNNNNNmmmddddhhhyyyym{1}MNs.
-#     {0}    oNNNNNmmmddddhhhyyyysssh{1}MMMs`
-#     {0}  .dNNNNmmmddmmmdyyyyysssoooh{1}MMMm.
-#     {0} `mNNNmmmmm{1}NMMMy-{0}  .+ssoooo++N{1}MMMN.
-#     {0} yNNmmmdm{1}MMMMN-  {0}    .ooo+++/d{1}MMMMd
-#     {0}-Nmmmddm{1}MMMMM:   {0}     .+++///y{1}MMMMM-
-#     {0}+mmdddd{1}MMMMMm    {0}      /////:y{1}MMMMM+
-#     {0}+ddddhd{1}MMMMMm    {0}      ///:::m{1}MMMMM+
-#     {0}-ddhhhd{1}MMMMMM-   {0}     `/::::y{1}MMMMMM-
-#     {0} shhyyh{1}MMMMMMm-  {0}    `:::::h{1}MMMMMMh
-#     {0} .yyyyyN{1}MMMMMMMs.{0}  `-:::/y{1}NMMMMMMm`
-#     {0}  .osssh{1}MMMMMMMMMmhyyydNMMMMMMMMd.
-#     {0}    :oood{1}MMMMMMMMMMMMMMMMMMMMMNo
-#     {0}     `:++yN{1}MMMMMMMMMMMMMMMMMNs.
-#     {0}        .-/ym{1}MMMMMMMMMMMMmy:
-#     {0}            `-/oyhhhys+:`
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#     chip: "#292929"
-# Jsonnet:
-#   type: programming
-#   ascii: |
-#     {0}        .       .
-#     {0}       /{1}:{0}\     /{1}:{0}\
-#     {0}      /{1}:::{0}\   /{1}:::{0}\
-#     {0}     /{1}:::::{0}\ /{1}:::::{0}\
-#     {0}   /|\{1}:::::{0}/|\{1}:::::{0}/|
-#     {0}  /{1}:{0}|#\{1}:::{0}/{1}.{0}|#\{1}:::{0}/{1}.{0}|
-#     {0} /{1}::{0}|##\{1}:{0}/{1}..{0}|##\{1}:{0}/{1}..{0}|
-#     {0}|\{1}::{0}|###|{1}...{0}|###|{1}...{0}|
-#     {0}|#\{1}:{0}|###|{1}...{0}|###|{1}...{0}|
-#     {0}|##\|###|{1}...{0}|###|{1}...{0}|
-#     {0}|#######|{1}..{0}/{1}:{0}\##|{1}..{0}/
-#     {0}|#######|{1}.{0}/{1}:::{0}\#|{1}.{0}/
-#     {0}|#######|/{1}:::::{0}\|/
-#     {0} \#######\{1}:::::{0}/|\
-#     {0}  \#######\{1}:::{0}/{1}.{0}|{1}:{0}\
-#     {0}   \#######\{1}:{0}/{1}..{0}|{1}::{0}\
-#     {0}    |#######|{1}...{0}|{1}::{0}/|
-#     {0}    |#######|{1}...{0}|{1}:{0}/{1}.{0}|
-#     {0}    |#######|{1}...{0}|/{1}..{0}|
-#     {0}    |###|\##|{1}..{0}/|{1}...{0}|
-#     {0}    |###|{1}.{0}\#|{1}.{0}/#|{1}...{0}|
-#     {0}    |###|{1}..{0}\|/##|{1}...{0}|
-#     {0}     \##|{1}..{0}/ \##|{1}..{0}/
-#     {0}      \#|{1}.{0}/   \#|{1}.{0}/
-#     {0}       \|/     \|/
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#     chip: "#0064BD"
-# Jsx:
-#   type: programming
-#   ascii: |
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSXJSX
-#     {0}JSXJSXJ   SXJS      XJSXJS{1}X{2}JSX{1}JSX{2}JSX{1}JSX
-#     {0}JSXJSXJ   SXJ   SXJSXJSXJ{1}SXJ{2}SXJ{1}S{2}XJS{1}XJSX
-#     {0}JSXJSXJ   SXJS   XJSXJSX{1}JSXJSX{2}JSX{1}JSXJSX
-#     {0}JSXJSXJ   SXJSX   JSXJS{1}XJSXJS{2}XJSXJ{1}SXJSX
-#     {0}JS   XJ   SXJSXJ   SXJ{1}SXJSXJ{2}SXJ{1}S{2}XJS{1}XJSX
-#     {0}JSX       JS      XJS{1}XJSXJS{2}XJS{1}XJS{2}XJS{1}XJS
-#     {0}JSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSXJSXJSXJSX
-#     {0}JSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSXJSXJSXJSX
-#   colors:
-#     ansi:
-#       - yellow
-#       - magenta
-#       - white
-#     hex:
-#       - "#ECE653"
-#       - "#B684D3"
-#       - "#FFFFFF"
-#     chip: "#F1E05A"
-# Julia:
-#   type: programming
-#   ascii: |
-#     {0}               {2}_
-#     {0}   {1}_       {0}_ {3}_{2}(_){4}_
-#     {0}  {1}(_)     {0}| {3}(_) {4}(_)
-#     {0}   _ _   _| |_  __ _
-#     {0}  | | | | | | |/ _` |
-#     {0}  | | |_| | | | (_| |
-#     {0} _/ |\__'_|_|_|\__'_|
-#     {0}|__/
-#   colors:
-#     ansi:
-#       - white
-#       - blue
-#       - green
-#       - red
-#       - magenta
-#     chip: "#A270BA"
-# Jupyter:
-#   type: programming
-#   ascii: |
-#     {0}                                 +%%%+
-#     {0}                                $$$$$$$
-#     {0}  +%+                           $$$$$$$
-#     {0} $$$$$           {1}******          {0}*%%%*
-#     {0}  *%*       {1}****************
-#     {1}        ************************
-#     {1}     ********              ********
-#     {1}   ***                            ***
-#     {1}  *                       {0}_          {1}*
-#     {0}  _  _   _  _ __   _   _ | |_  ___  _ _
-#     {0} | || | | || '_ \ | | | || __|/ _ \| '_|
-#     {0} | || |_| || |_) || |_| || |_ | __/| |
-#     {0} | | \__,_|| .__/  \__, | \__|\___||_|
-#     {0}/_/        |_|     |___/
-#     {1}  *                                  *
-#     {1}   ***                            ***
-#     {1}     ********              ********
-#     {1}        ************************
-#     {1}            ****************
-#     {0}    +%%%+        {1}******
-#     {0}   $$$$$$$
-#     {0}   $$$$$$$
-#     {0}    *%%%*
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#       - white
-#     hex:
-#       - "#FFFFFF"
-#       - "#FF700F"
-#       - "#9E9E9E"
-#     chip: "#DA5B0B"
-#   serialization: jupyter-notebooks
-# Kotlin:
-#   type: programming
-#   ascii: |
-#     {0}KOTLIN{2}KOTLINKOTLINKO{1}TLINKOTLINKOTLINKOTL
-#     {0}KOTLINKO{2}TLINKOTLIN{1}KOTLINKOTLINKOTLINKO
-#     {0}KOTLINKOTL{2}INKOTL{1}INKOTLINKOTLINKOTLIN
-#     {0}KOTLINKOTLIN{2}KO{1}TLINKOTLINKOTLINKOTL
-#     {0}KOTLINKOTLIN{1}KOTLINKOTLINKOTLINKO
-#     {0}KOTLINKOTL{1}INKOTLINKOTLINKOTLIN
-#     {0}KOTLINKO{1}TLINKOTLINKOTLINKOTL
-#     {0}KOTLIN{1}KOTLINKOTLINKOTLINKO
-#     {0}KOTL{1}INKOTLINKOTLINKOTLIN
-#     {0}KO{1}TLINKOTLINKOTLINKOTL
-#     {1}KOTLINKOTLINKOTLINKO{2}TL
-#     {2}KO{1}TLINKOTLINKOTLIN{2}KOTLIN
-#     {2}KOTL{1}INKOTLINKOTL{2}INKOTLINKO
-#     {2}KOTLIN{1}KOTLINKO{2}TLINKOTLINKOTL
-#     {2}KOTLINKO{1}TLIN{0}K{2}OTLINKOTLINKOTLIN
-#     {2}KOTLINKOTL{0}INKOT{2}LINKOTLINKOTLINKO
-#     {2}KOTLINKO{0}TLINKOTLI{2}NKOTLINKOTLINKOTL
-#     {2}KOTLIN{0}KOTLINKOTLINK{2}OTLINKOTLINKOTLIN
-#     {2}KOTL{0}INKOTLINKOTLINKOT{2}LINKOTLINKOTLINKO
-#     {2}KO{0}TLINKOTLINKOTLINKOTLI{2}NKOTLINKOTLINKOTL
-#   colors:
-#     ansi:
-#       - blue
-#       - yellow
-#       - magenta
-#     chip: "#A97BFF"
-# Lisp:
-#   type: programming
-#   ascii: |
-#     {0}              ............
-#     {0}         ********..............
-#     {0}       *************.............
-#     {0}     ****************..............
-#     {0}   *******************...***.........
-#     {0}  **...********...*****...***.........
-#     {0} ***...*******...******....***.........
-#     {0}****...******...*******....****.........
-#     {0}*****...****...*******.....*****........
-#     {0}******...**...******.......******.......
-#     {0}*******......******.......***..***......
-#     {0}********.....*****.......***....***.....
-#     {0}*********....****.......***......***....
-#     {0} *********...****......***.......***...
-#     {0}  *********...***.....***........***..
-#     {0}   *********...***...................
-#     {0}     **************................
-#     {0}       *************.............
-#     {0}         **************........
-#     {0}              ************
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#3FB68B"
-# LLVM:
-#   type: programming
-#   ascii: |
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKK"              "KKKKKKKK
-#     {0}KKKKKKK     KKKKKKKKKK     "KKKKK
-#     {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
-#     {0}KKKK     KKKKKKKKKKKKKKKKK
-#     {0}KKKK      KKKKKKKKKKKKKKKKK
-#     {0}KKKK        KKKKKKKKKKKKKKKK
-#     {0}KKKK           KKKKKKKKKKKKKK
-#     {0}KKKK            KKKKKKKKKKKKK
-#     {0}KKKK            ,KKKKKKKKKKKK
-#     {0}KKKKKK,    ,     KKKKKKKKKKKK
-#     {0}KKKKKKKK   KK,    `KKKKKKKKKK
-#     {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
-#     {0} `KKKKKKKKKKKKKKKKKKKKKKK`
-#     {0}   `KKKKKKKKKKKKKKKKKKK`
-#     {0}      `KKKKKKKKKKKKKK`
-#   colors:
-#     ansi:
-#       - red
-#     hex:
-#       - "#98012E"
-#     chip: "#185619"
-# Lua:
-#   type: programming
-#   ascii: |
-#     {1}                 -- --
-#     {1}         --                 --{0} @@@@
-#     {1}      --      {0}@@@@@@@@@@@     @@@@@@
-#     {0}           @@@@@@@@@@@@@@@@@   @@@@
-#     {1}  --     {0}@@@@@@@@@@@@@@{2}****{0}@@@     {1}--
-#     {1} --    {0}@@@@@@@@@@@@@@@{2}******{0}@@@@    {1}--
-#     {0}      @@@@@@@@@@@@@@@@@{2}****{0}@@@@@@
-#     {1}--   {0}@@@{2}**{0}@@@@@@@@@@@@@@@@@@@@@@@@   {1}--
-#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@{2}******{0}@@@@   {1}--
-#     {0}     @@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}**{0}@@@{2}**{0}@@@@
-#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@@{2}*****{0}@@@@   {1}--
-#     {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}***{0}@@{2}**{0}@@@@   {1}--
-#     {0}      @@{2}*******{0}@{2}******{0}@{2}********{0}@@
-#     {1} --    {0}@@@@@@@@@@@@@@@@@@@@@@@@@    {1}--
-#     {1}  --     {0}@@@@@@@@@@@@@@@@@@@@@     {1}--
-#     {0}           @@@@@@@@@@@@@@@@@
-#     {1}      --      {0}@@@@@@@@@@@      {1}--
-#     {1}         --                 --
-#     {1}                 -- --
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#       - white
-#     hex:
-#       - "#2E007F"
-#       - "#808080"
-#       - "#FFFFFF"
-#     chip: "#000080"
-# Makefile:
-#   type: programming
-#   ascii: |
-#     {0}    _-`````-,           ,- '- .
-#     {0}  .'   .- - |          | - -.  `.
-#     {0} /.'  /                     `.   \
-#     {0}:/   :      {1}_...   ..._      {0}``   :
-#     {0}::   :     {1}/._ .`:'_.._\.    {0}||   :
-#     {0}::    `._ {1}./  ,`  :    \{0} . _.''   .
-#     {0}`:.      {1}/   |  -.  \-. \\_{0}      /
-#     {0}  \:._ {1}_/  .'   .{2}@{1})  \{2}@{1}) ` `\{0} ,.'
-#     {1}    {0}'{1}_/,--'       .- .\,-.`--`.
-#     {1}       ,'/''     (( \ `  )
-#     {1}        /'/'  \    `-'  (
-#     {1}         '/''  `._,-----'
-#     {1}          ''/'    .,---'
-#     {1}           ''/'      ;:
-#     {1}             ''/''  ''/
-#     {1}               ''/''/''
-#     {1}                 '/'/'
-#     {1}                  `;
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#       - red
-#     hex:
-#       - "#FFFFFF"
-#       - "#FAEC9A"
-#       - "#610000"
-#     chip: "#427819"
-# Markdown:
-#   type: prose
-#   ascii: |
-#     {0}#######  {1} ,#####. .#####.
-#     {0}  ###    {1}########.########
-#     {0}  ###    {1}#################
-#     {0}  ###    {1}`###############'
-#     {0}  ###    {1} `#############'
-#     {0}  ###    {1}   `#########'
-#     {0}  ###    {1}     `#####'
-#     {0}#######  {1}       `#'
-#     {0}
-#     {0}####     ####     ###
-#     {0}#####   #####     ###
-#     {0}######.######     ###
-#     {0}### ##### ###     ###
-#     {0}###  ###  ###   #######
-#     {0}###   #   ###    #####
-#     {0}###       ###     ###
-#     {0}###       ###      #
-#   colors:
-#     ansi:
-#       - white
-#       - red
-#     chip: "#083FA1"
-#   line_types: [code, comments]
-# Nim:
-#   type: programming
-#   ascii: |
-#     {0}                   ++
-#     {0}       ++        ++++++        ++
-#     {0}      ++++++++++++++++++++++++++++
-#     {0}     ++++++++++++++++++++++++++++++
-#     {0}++  ++++++++++++++++++++++++++++++++  ++
-#     {0} ++++++++++++++++++++++++++++++++++++++
-#     {0}  +++++++++++              +++++++++++
-#     {0}   ++++++++                  ++++++++
-#     {0}    +++++                      +++++
-#     {1} ?   {0}++                          ++   {1}?
-#     {1}  ??             ??????             ??
-#     {1}   ???         ??????????         ???
-#     {1}    ????     ??????????????     ????
-#     {1}     ??????????????????????????????
-#     {1}      ????????????????????????????
-#     {1}       ??????????????????????????
-#     {1}         ??????????????????????
-#     {1}           ??????????????????
-#   colors:
-#     ansi:
-#       - yellow
-#       - white
-#     chip: "#FFC200"
-# Nix:
-#   type: programming
-#   ascii: |
-#     {1}         :::.    {0}':::::     ::::'
-#     {1}         '::::    {0}':::::.  ::::'
-#     {1}           ::::     {0}'::::.:::::
-#     {1}     ......:::::..... {0}::::::::
-#     {1}    :::::::::::::::::. {0}::::::    {1}::::.
-#     {1}   :::::::::::::::::::: {0}:::::.  {1}.::::'
-#     {0}         .....           {0}::::' {1}:::::'
-#     {0}        :::::            {0}'::' {1}:::::'
-#     {0} ......:::::               {0}' {1}::::::::::.
-#     {0}:::::::::::                 {1}::::::::::::
-#     {0} ::::::::: {1}..              {1}:::::
-#     {0}    .:::: {1}.:::            {1}:::::
-#     {0}   .::::  {1}:::::          {1}'''''    {0}.....
-#     {0}   ::::   {1}':::::.  {0}......:::::::::::::'
-#     {0}    ::     {1}::::::. {0}':::::::::::::::::'
-#     {1}           {1}.:::::::: {0}'::::::::::
-#     {1}          {1}.::::''::::.     {0}'::::.
-#     {1}         {1}.::::'   ::::.     {0}'::::.
-#     {1}        {1}.::::      ::::      {0}'::::.
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#     chip: "#7E7EFF"
-# ObjectiveC:
-#   type: programming
-#   ascii: |
-#     {0}888                                888
-#     {0}8    8888   8       8        8888    8
-#     {0}8   8    8  8               8    88  8
-#     {0}8  8      8 8       8      8         8
-#     {0}8  8      8 8 888   8      8         8
-#     {0}8  8      8 88   8  8 ==== 8         8
-#     {0}8  8      8 8    8  8      8      8  8
-#     {0}8   8    8  88   8  8       8    88  8
-#     {0}8    8888   8 888   8        88888   8
-#     {0}888                 8              888
-#     {0}                    8
-#     {0}                  88Y
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#     chip: "#438EFF"
-#   serialization: objective-c
-# OCaml:
-#   type: programming
-#   ascii: |
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///   \////    \///////////////////////
-#     {0}//      //      /////////     .////////
-#     {0}/                ///////         \/////
-#     {0}                  /////      //////////
-#     {0}                            ///////////
-#     {0}                           ////////////
-#     {0}  //                    ///////////////
-#     {0} /////////   ///   ////////////////////
-#     {0}/////////  //////  ////////////////////
-#     {0}////////  ///////  ////////////////////
-#     {0}///////  ////////  ////////////////////
-#     {0}//////  /////////  ////////////////////
-#   colors:
-#     ansi:
-#       - yellow
-#     chip: "#3BE133"
-# Odin:
-#   type: programming
-#   ascii: |
-#     {0}          @@@@@@@@@
-#     {0}      @@@@     @@@   @@@
-#     {0}    @@@@      @@@   @@@@@@
-#     {1}  @@@@       @@@   @@@  @@@@
-#     {1} @@@        @@@   @@@     @@@
-#     {1}@@@        @@@   @@@       @@@
-#     {2}@@@       @@@   @@@        @@@
-#     {2}@@@      @@@   @@@         @@@
-#     {2}@@@     @@@   @@@          @@@
-#     {3}@@@    @@@   @@@           @@@
-#     {3} @@@  @@@   @@@           @@@
-#     {3}  @@@@@@   @@@          @@@@
-#     {4}    @@@   @@@         @@@@
-#     {4}         @@@        @@@@
-#     {4}          @@@@@@@@@@
-#   colors:
-#     ansi:
-#       - blue
-#       - blue
-#       - blue
-#       - blue
-#       - blue
-#     hex:
-#       - "#265A99"
-#       - "#3473BE"
-#       - "#3F88DD"
-#       - "#4797F3"
-#       - "#499AF7"
-#     chip: "#60AFFE"
-# Org:
-#   type: prose
-#   ascii: |
-#     {2}                    j
-#     {2}                   eL
-#     {0}                Q {2}kD
-#     {0}            Nt{1}yew{2}kQ{0}y
-#     {1}       :r/2K{0}@Q@@@#N@@Qmir
-#     {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
-#     {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
-#     {1}?#QB#HKXej{0}D@QQRNkPD9|
-#     {1}SQNHDXwmXq{0}@@@QDR
-#     {1}=D6XwmSm{0}D@Q@@QDH
-#     {1} tXaZe{0}H@QQ@@@@QRdz
-#     {1}   u{0}QRQ@@@@@@@@@QDDd
-#     {0}     B@@@@@@@@@@@QDHDd
-#     {0}         Syz*:'--'~;\oM
-#   colors:
-#     ansi:
-#       - green
-#       - red
-#       - white
-#     chip: "#77AA99"
-# Oz:
-#   type: programming
-#   ascii: |
-#     {0}                   ooooooooo
-#     {0}               oooooo{1}zzz{0}oooooo
-#     {0}            oooooo{1}zzzzzz{0}ooooooo
-#     {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
-#     {0}      ooooooooooooooo{1}zzz{0}ooooooooo
-#     {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
-#     {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
-#     {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
-#     {0}ooo    oooooo    ooooooooooo   oooooo
-#     {0}oooo    oooooo   oooooooo      ooooooo
-#     {0} oooo    oooo   oooooo   ooo   oooooooo
-#     {0}  ooooooo    ooooooooooooooo   oooooooo
-#     {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
-#     {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
-#     {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
-#     {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
-#     {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
-#     {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
-#     {0}         ooooooo{1}zzzz{0}oooo
-#     {0}           ooooooooo
-#   colors:
-#     ansi:
-#       - yellow
-#       - white
-#     hex:
-#       - "#FCAF3E"
-#       - "#FFFFFF"
-#     chip: "#FAB738"
-# Pascal:
-#   type: programming
-#   ascii: |
-#     {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
-#     {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
-#     {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
-#     {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
-#     {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
-#     {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     chip: "#E3F171"
-# Perl:
-#   type: programming
-#   ascii: |
-#     {0}                  ######
-#     {0}    ###         #########
-#     {0} ########      ##########
-#     {0}#########     ############
-#     {0}   ######   ###############
-#     {0}  ####### ##################
-#     {0}  ####### ###################
-#     {0}  ############################
-#     {0}  #############################
-#     {0}  ########################### ##
-#     {0}    ######################### ##
-#     {0}     ###################  ### #
-#     {0}          ##### #### ###  ### #
-#     {0}          ####  #### ###   ##
-#     {0}          ####  ###  ###    #
-#     {0}           ##  ###   ###    #
-#     {0}           ##   ##   ##     #
-#     {0}           ##    #   #      #
-#     {0}           #       ##       #
-#     {0}           #       # #      #
-#     {0}           #     ### ##     ##
-#     {0}          ##
-#   colors:
-#     ansi:
-#       - cyan
-#     chip: "#0298C3"
-# Perl6:
-#   type: programming
-#   ascii: |
-#     {0} +@8DM#8W,
-#     {0}#DM"{1},ypy,{0}"8#
-#     {0}DDU {1}8M]N8u{0} DM
-#     {0}8DD {1}TMD8M,{0}8M  {4}8
-#     {0} 8D#=e@8MM^   {4}8
-#     {0}  *MDw  {4},.,+#M`
-#     {0}    "8#                   {0},e88DDDD8m,
-#     {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
-#     {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
-#     {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
-#     {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
-#     {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
-#     {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
-#     {1}   ``      {2}'"F*FFF*  {1},yw,
-#     {1}                  ,#]{0}[D8{1}8W
-#     {1}                  k8{0}]DDN8{1}8L
-#     {1}                  '8E{0}$DE8{1}8M
-#     {1}                    R#E#R^
-#   colors:
-#     ansi:
-#       - blue
-#       - red
-#       - yellow
-#       - white
-#       - green
-#     hex:
-#       - "#5B00FD"
-#       - "#FF005E"
-#       - "#F3FF27"
-#       - "#FFFFFF"
-#       - "#00FF39"
-#     chip: "#0000FB"
-#   serialization: raku
-# Php:
-#   type: programming
-#   ascii: |
-#     {0}            ################
-#     {0}      ##########{1}/  |{0}##############
-#     {0}   #############{1}|  |{0}#################
-#     {0} #####{1}/   __   \|   __   \/   __   \{0}###
-#     {0}######{1}|  |{0}##{1}|  ||  |{0}##{1}|  ||  |{0}##{1}|  |{0}####
-#     {0}######{1}|  |{0}##{1}/  ||  |{0}##{1}|  ||  |{0}##{1}/  |{0}####
-#     {0} #####{1}|   ____ /|__|{0}##{1}|__||   ____ /{0}###
-#     {0}   ###{1}|  |{0}################{1}|  |{0}#######
-#     {1}      |_ /{0}################{1}|_ /{0}####
-#     {0}            ################
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     hex:
-#       - "#777BB3"
-#       - "#FFFFFF"
-#     chip: "#4F5D95"
-# PowerShell:
-#   type: programming
-#   ascii: |
-#     {0}         #########################
-#     {0}        ####{1}####{0}#################
-#     {0}       ######{1}####{0}###############
-#     {0}      ########{1}####{0}#############
-#     {0}     ##########{1}####{0}###########
-#     {0}    #########{1}####{0}############
-#     {0}   ########{1}####{0}#############
-#     {0}  #######{1}####{0}##############
-#     {0} ######{1}####{0}#####{1}######{0}####
-#     {0}#########################
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     hex:
-#       - "#316CB9"
-#       - "#FFFFFF"
-#     chip: "#012456"
-# Processing:
-#   type: programming
-#   ascii: |
-#     {0}          PPPPPPPPPPPP
-#     {0}      PPPPPPPPPPPPPPPPPPPP
-#     {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
-#     {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
-#     {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
-#     {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
-#     {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
-#     {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
-#     {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
-#     {0}    PPPPPPPPPPPPPPPPPPPPPPPP
-#     {0}      PPPPPPPPPPPPPPPPPPPP
-#     {0}          PPPPPPPPPPPP
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     hex:
-#       - "#505050"
-#       - "#FFFFFF"
-#     chip: "#0096D8"
-# Prolog:
-#   type: programming
-#   ascii: |
-#     {0}            ############   #
-#     {0}       #################   ####
-#     {0}     ###################   ######
-#     {0}   #####################   #######
-#     {0}  ######################   ########
-#     {0} #######         #######   #########
-#     {0}######  ###        #####   ##########
-#     {0}#####  ####      #  ####   ##########
-#     {0}#####  #####    ##  ####   ##########
-#     {0}#####   #########   ####   ##########
-#     {0}#####     #####   #######    ########
-#     {0} ####           ###########       ##
-#     {0}  ###   ###########################
-#     {0}    #   ##########################
-#     {0}        ########################
-#     {0}        ######################
-#     {0}           ################
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#74283C"
-# Protobuf:
-#   type: programming
-#   ascii: |
-#     {0}      ;;;;;;;;     {2}::::::::
-#     {0}     ;;;;;;;;       {2}::::::::
-#     {0}    ;;;;;;;;         {2}::::::::
-#     {1}   :{0};;;;;;;           {2}::::::::
-#     {1}  :::{0};;;;;             {2}::::::::
-#     {1} :::::{0};;;               {2}::::::::
-#     {1}:::::::{0};                {3};{2}:::::::
-#     {1}::::::::               {3};;;{2}:::::
-#     {1} ::::::::             {3};;;;;{2}:::
-#     {1}  ::::::::           {3};;;;;;;{2}:
-#     {1}   ::::::::         {3};;;;;;;;
-#     {1}    ::::::::       {3};;;;;;;;
-#     {1}     ::::::::     {3};;;;;;;;
-#   colors:
-#     ansi:
-#       - red
-#       - blue
-#       - green
-#       - yellow
-#     chip: "#74283C"
-#   serialization: protocol-buffers
-# PureScript:
-#   type: programming
-#   ascii: |
-#     {0}           \\\\\\\\\\\\\\    \\\\\
-#     {0}            \\\\\\\\\\\\\\     \\\\\
-#     {0}    /////                        \\\\\
-#     {0}  /////      //////////////      /////
-#     {0}/////       //////////////     /////
-#     {0}\\\\\                        /////
-#     {0}  \\\\\     \\\\\\\\\\\\\\
-#     {0}    \\\\\    \\\\\\\\\\\\\\
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#1D222D"
-# Python:
-#   type: programming
-#   ascii: |
-#     {0}               =========
-#     {0}            ===============
-#     {0}           =================
-#     {0}          ===  ==============
-#     {0}          ===================
-#     {0}                   ==========
-#     {0}   ========================== {1}=======
-#     {0} ============================ {1}========
-#     {0}============================= {1}=========
-#     {0}============================ {1}==========
-#     {0}========================== {1}============
-#     {0}============ {1}==========================
-#     {0}========== {1}============================
-#     {0}========= {1}=============================
-#     {0} ======== {1}============================
-#     {0}  ======= {1}==========================
-#     {1}          ==========
-#     {1}          ===================
-#     {1}          ==============  ===
-#     {1}           =================
-#     {1}            ===============
-#     {1}               =========
-#   colors:
-#     ansi:
-#       - blue
-#       - yellow
-#     hex:
-#       - "#2F69A2"
-#       - "#FFD940"
-#     chip: "#3572A5"
-# Qml:
-#   type: programming
-#   ascii: |
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
-#     {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
-#     {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
-#     {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
-#     {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-#     {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-#     {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
-#   colors:
-#     ansi:
-#       - green
-#       - white
-#       - green
-#     hex:
-#       - "#80C342"
-#       - "#FFFFFF"
-#       - "#4D7528"
-#     chip: "#44A51C"
-# R:
-#   type: programming
-#   ascii: |
-#     {0}             .,,,,,,,,,,,,,
-#     {0}       ,,,,,,,,,,,,,,,,,********
-#     {0}    ,,,,,,,,,,,,,,,,,**************
-#     {0}  ,,,,,,,,,,,,                  *****
-#     {0} ,,,,,,,,,      {1}RRRRRRRRRRRRRRRR   {0}***
-#     {0},,,,,,,,,       {1}RRRRRRRRRRRRRRRRRRR {0}***
-#     {0},,,,,,,,        {1}RRRRRRRRRRRRRRRRRRRR {0}//
-#     {0},,,,,,*         {1}RRRRRRR      RRRRRRR {0}//
-#     {0},,,*****        {1}RRRRRRR     RRRRRRR  {0}//
-#     {0} ********       {1}RRRRRRRRRRRRRRRRRR  {0}//
-#     {0}   *********    {1}RRRRRRRRRRRRRR    {0}//
-#     {0}      **********{1}RRRRRRR   RRRRRRR
-#     {0}         *******{1}RRRRRRR    RRRRRRR
-#     {1}                RRRRRRR     RRRRRRRR
-#   colors:
-#     ansi:
-#       - white
-#       - blue
-#     chip: "#198CE7"
-# Racket:
-#   type: programming
-#   ascii: |
-#     {0}            {2}.:--::////::--.`
-#     {0}        {1}`/yNMMNho{2}////////////:.
-#     {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
-#     {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
-#     {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
-#     {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
-#     {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
-#     {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
-#     {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
-#     {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
-#     {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
-#     {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
-#     {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
-#     {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
-#     {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
-#     {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
-#     {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
-#     {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
-#     {0}        {1}`/s{0}::::::::::::::::::{1}o/`
-#     {0}            ``.---::::---..`
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#       - blue
-#     chip: "#3C5CAA"
-# Renpy:
-#   type: programming
-#   ascii: |
-#     {0}       ++++++
-#     {0}     ++++++++++
-#     {0}    ++++++++++++
-#     {0}   ++++++++++++++
-#     {0}   ++++++++++++++++
-#     {0}  +++++++++++++{1}***{0}+++
-#     {0}  +++++++{1}***********
-#     {0} +++++{1}**************
-#     {0}+++{1}*****************
-#     {0}++{1}********{2}#{1}**********
-#     {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
-#     {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
-#     {1} *****{2}##########{1}*{2}#{1}***
-#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-#     {1} *****{2}############{1}***
-#     {1} *****{2}#####{5}--{2}####{1}***
-#     {1}  **{4}#####{2}#######{1}**
-#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
-#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
-#     {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
-#     {4}    #####{6}++++++{4}#####
-#     {4}     ###{6}++++++++{4}####
-#     {6}     +++++++++++{4}####
-#     {6}     ++++++++++{4}####
-#   colors:
-#     ansi:
-#       - white
-#       - red
-#       - white
-#       - blue
-#       - yellow
-#       - white
-#       - magenta
-#     hex:
-#       - "#EADBCC"
-#       - "#FF7F7F"
-#       - "#FBEEE2"
-#       - "#495F8E"
-#       - "#FAE45A"
-#       - "#FFFFFF"
-#       - "#B5A396"
-#     chip: "#FF7F7F"
-# Ruby:
-#   type: programming
-#   ascii: |
-#     {0}                    ###{2}###{3}###{4}#{1}.{4}#
-#     {0}                  ###{2}###{3}###{4}##{1}.{5}##
-#     {0}                ##{1}.{2}###{3}###{4}###{1}.{5}###
-#     {0}              ###{2}##{1}.{3}###{4}###{5}#{1}.{5}#{6}###
-#     {0}            ###{2}###{3}##{1}.{4}###{5}##{1}.{6}###{7}##
-#     {0}          ###{2}###{3}###{4}##{1}.{5}###{1}.{6}##{7}####
-#     {0}        ###{2}###{3}###{4}###{5}##{1}.{6}#{1}.{6}#{7}######
-#     {0}      #{1}.{0}*{2}***{3}***{4}***{5}***{6}**{1}.{7}###{8}#####
-#     {0}    ###{1}.{2}##{3}###{4}###{5}###{6}##{1}.{7}##{1}.{8}#######
-#     {0}  ####{2}#{1}.{2}#{3}###{4}###{5}###{6}#{1}.{6}#{7}###{8}#{1}.{8}######
-#     {0}#####{2}##{1}.{3}###{4}###{5}###{1}.{6}##{7}###{8}###{1}.{8}#####
-#     {0} #####{2}#{1}.{2}#{3}###{4}###{1}.{5}###{6}###{7}###{8}##{1}.{8}####
-#     {0}  #####{1}.{2}##{3}###{1}.{4}##{5}###{6}###{7}###{8}###{1}.{9}###
-#     {0}   ####{1}.{3}###{1}.{4}##{5}###{6}###{7}###{8}###{9}###{1}.{9}##
-#     {0}    ###{1}.{2}#{1}.{3}##{4}###{5}###{6}###{7}###{8}###{9}###{1}.{9}#
-#   colors:
-#     ansi:
-#       - red
-#       - black
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#     hex:
-#       - "#F30301"
-#       - "#555555"
-#       - "#E80603"
-#       - "#DC0904"
-#       - "#D10C06"
-#       - "#C50F07"
-#       - "#BA1109"
-#       - "#AE140A"
-#       - "#A3170C"
-#       - "#971A0D"
-#     chip: "#701516"
-# Rust:
-#   type: programming
-#   ascii: |
-#     {0}                 R RR RR
-#     {0}              R RRRRRRRR R          R
-#     {0} R RR       R RRRRRRRRRRRRR R      RR
-#     {0}rR RRR    R RRRRRRRRRRRRRRRRR R   RRR R
-#     {0}RRR RR   RRRRRRRRRRRRRRRRRRRRRRR  RRRRR
-#     {0} RRRRR  RRRRRRRRRRRRRRRRRRRRRRRR  RRRR
-#     {0}  RRR RRRRRRRRRRRRRRRRRRRRRRRRRRRR RR
-#     {0}    R  RRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRRR
-#     {0}     RRRRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRR
-#     {0}      RRRRRRRRRRR   RR   RRRRRRRRRR
-#     {0}     RR==RRRRRRRRRRRRRRRRRRRRRR===RR
-#     {0}     RR =  ==RRRRRRR  RRRRRR==  = RR
-#     {0}      RR =     ===========     = RR
-#     {0}       RR                        R
-#     {0}        R                       R
-#     {0}         R
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#     hex:
-#       - "#E43717"
-#       - "#FFFFFF"
-#     chip: "#DEA584"
-# Sass:
-#   type: markup
-#   ascii: |
-#     {0}            ,wppbbbbbp,
-#     {0}       ,wpb@KP"``` ``"T@b
-#     {0}    ,pb@P"`            @@
-#     {0}  ,b@P`               /@P
-#     {0} p@b`               ,bK`
-#     {0}{@@      'w,  ,,wpbP*`
-#     {0} 0@b        ````      ,pp  ;@@
-#     {0}  "0bw        ,bPK   ,K@L /PT@
-#     {0}     "0b, ,,pbP  @b .b Tb{"  $bP"""*Tb,
-#     {0}      ,/b@P &@  0@M.b  ,@K ,P @L      `b
-#     {0}   ,pb"  Ib @@ &h@bP ,pCpP bb*`       /`
-#     {0}  p@`   ,@` `bb` T"  ""`
-#     {0}  @@w,pbK`
-#     {0}  `***^
-#   colors:
-#     ansi:
-#       - magenta
-#     hex:
-#       - "#CD6799"
-#     chip: "#A53B70"
-# Scala:
-#   type: programming
-#   ascii: |
-#     {0}                        +
-#     {0}                      +++
-#     {0}          +++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++{1}-------
-#     {0}+++{1}-------------------{0}+++
-#     {1}        ---{0}++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++{1}-------
-#     {0}+++{1}-------------------{0}+++
-#     {1}        ---{0}++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++
-#     {0}+++
-#   colors:
-#     ansi:
-#       - red
-#       - red
-#     hex:
-#       - "#DF3F3D"
-#       - "#7F0C1D"
-#     chip: "#C22D40"
-# Scheme:
-#   type: programming
-#   ascii: |
-#     {0}  ////
-#     {0} //  //
-#     {0} /    //
-#     {0}       //
-#     {0}        //
-#     {0}         //
-#     {0}        ////
-#     {0}       /// //
-#     {0}      ///   //
-#     {0}     ///     //
-#     {0}    ///       //    /
-#     {0}   ///         //  //
-#     {0}  ///           ////
-#   colors:
-#     ansi:
-#       - white
-#     hex:
-#       - "#555555"
-#     chip: "#1E4AEC"
-# Sh:
-#   type: programming
-#   ascii: |
-#     {0}              ___       ___        ___
-#     {0}             ####      ####       ####
-#     {0}            ####      ####       ####
-#     {0}      _____####______####___    ####
-#     {0}     #######################   ####
-#     {0}    #######################   ####
-#     {0}        ####      ####       ####
-#     {0}       ####      ####       ####
-#     {0}  ____####______####____   ####
-#     {0} #######################  ####
-#     {0}#######################  ___
-#     {0}   ####      ####       ####
-#     {0}  ####      ####       ####
-#     {0} ####      ####       ####
-#   colors:
-#     ansi:
-#       - green
-#     chip: "#89E051"
-#   serialization: shell
-# Solidity:
-#   type: programming
-#   ascii: |
-#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-#     {0}MMMMMMMMMMMM{2}SS{3}SSSSSSSSSS{4}SS{0}MMMMMMMMMMMM
-#     {0}MMMMMMMMMMM{2}SSSS{3}SSSSSSSS{4}SSSS{0}MMMMMMMMMMM
-#     {0}MMMMMMMMMM{2}SSSSSS{3}SSSSSS{4}SSSSSS{0}MMMMMMMMMM
-#     {0}MMMMMMMMM{2}SSSSSSSS{3}SSSS{4}SSSSSSSS{0}MMMMMMMMM
-#     {0}MMMMMMMM{2}SSSSSSSSSS{3}SS{4}SSSSSSSSSS{0}MMMMMMMM
-#     {0}MMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMMMMMMMMMMMMMM
-#     {0}MMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMMMMMMMMMMMMMM
-#     {0}MMMMMMMMMM{1}SSSSSS{0}MMMMMMMM{1}SS{0}MMMMMMMMMMMM
-#     {0}MMMMMMMMMMM{1}SSSS{0}MMMMMMMM{1}SSSS{0}MMMMMMMMMMM
-#     {0}MMMMMMMMMMMM{1}SS{0}MMMMMMMM{1}SSSSSS{0}MMMMMMMMMM
-#     {0}MMMMMMMMMMMMMMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMM
-#     {0}MMMMMMMMMMMMMMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMM
-#     {0}MMMMMMMM{4}SSSSSSSSSS{3}SS{2}SSSSSSSSSS{0}MMMMMMMM
-#     {0}MMMMMMMMM{4}SSSSSSSS{3}SSSS{2}SSSSSSSS{0}MMMMMMMMM
-#     {0}MMMMMMMMMM{4}SSSSSS{3}SSSSSS{2}SSSSSS{0}MMMMMMMMMM
-#     {0}MMMMMMMMMMM{4}SSSS{3}SSSSSSSS{2}SSSS{0}MMMMMMMMMMM
-#     {0}MMMMMMMMMMMM{4}SS{3}SSSSSSSSSS{2}SS{0}MMMMMMMMMMMM
-#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-#     {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#       - black
-#       - black
-#       - black
-#     hex:
-#       - "#FFFFFF"
-#       - "#2E2E2E"
-#       - "#1A1A1A"
-#       - "#333333"
-#       - "#515151"
-#     chip: "#AA6746"
-# Sql:
-#   type: data
-#   ascii: |
-#     {0}   _..------.._
-#     {0}.-~            ~-.
-#     {0}|                |
-#     {0}|"-..________..-"|
-#     {0}|                | {1} ____   ___  _
-#     {0}|                | {1}/ ___| / _ \| |
-#     {0}|"-..________..-"| {1}\___ \| | | | |
-#     {0}|                | {1} ___) | |_| | |___
-#     {0}|                | {1}|____/ \__\_|_____|
-#     {0}|"-..________..-"|
-#     {0}|                |
-#     {0}|                |
-#     {0} "-..________..-"
-#   colors:
-#     ansi:
-#       - cyan
-#       - yellow
-#     chip: "#E38C00"
-# Svelte:
-#   type: markup
-#   ascii: |
-#     {0}SSSSSSSSSSSSSSSSSS{1}sssssssssss{0}SSSSSSSS
-#     {0}SSSSSSSSSSSSSSS{1}sssssssssssssssss{0}SSSSS
-#     {0}SSSSSSSSSSS{1}sssssssssss{0}SSSS{1}ssssssss{0}SSS
-#     {0}SSSSSSSS{1}ssssssssss{0}SSSSSSSSSSS{1}sssssss{0}S
-#     {0}SSSSS{1}sssssssss{0}SSSSSSSSSSSSSSSSS{1}sssss{0}S
-#     {0}SSS{1}ssssssss{0}SSSSSSSSSS{1}sssss{0}SSSSSS{1}ssss{0}S
-#     {0}S{1}sssssss{0}SSSSSSSSSS{1}sssssssss{0}SSSSS{1}ssss{0}S
-#     {0}S{1}sssss{0}SSSSSSSSS{1}sssssssssssssssssssss{0}S
-#     {0}S{1}sssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}ssssssssss{0}S
-#     {0}S{1}sssss{0}SSSSS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SS
-#     {0}S{1}sssss{0}SSSSSSSSSSSSSSSSSSSSSSSSS{1}sssss{0}S
-#     {0}SS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SSSSS{1}sssss{0}S
-#     {0}S{1}ssssssssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}sssss{0}S
-#     {0}S{1}sssssssssssssssssssss{0}SSSSSSSSS{1}sssss{0}S
-#     {0}S{1}ssss{0}SSSSS{1}sssssssss{0}SSSSSSSSSS{1}ssssss{0}SS
-#     {0}S{1}ssss{0}SSSSSS{1}sssss{0}SSSSSSSSSS{1}ssssssss{0}SSS
-#     {0}S{1}sssss{0}SSSSSSSSSSSSSSSSS{1}sssssssss{0}SSSSS
-#     {0}S{1}sssssss{0}SSSSSSSSSSS{1}ssssssssss{0}SSSSSSSS
-#     {0}SSS{1}ssssssss{0}SSSS{1}sssssssssss{0}SSSSSSSSSSS
-#     {0}SSSSS{1}sssssssssssssssss{0}SSSSSSSSSSSSSSS
-#     {0}SSSSSSSS{1}sssssssssss{0}SSSSSSSSSSSSSSSSSS
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#     hex:
-#       - "#FF3C00"
-#       - "#FFFFFF"
-#     chip: "#FF3E00"
-# Svg:
-#   type: data
-#   ascii: |
-#     {0}                 ......
-#     {0}               ....{1}--{0}....
-#     {0}        ....  {0}...{1}------{0}...  {0}....
-#     {0}     ............{1}------{0}............
-#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-#     {0}  ..........{1}----------------{0}..........
-#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-#     {0}...{1}----------------------------------{0}...
-#     {0}...{1}----------------------------------{0}...
-#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-#     {0}  ..........{1}----------------{0}..........
-#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-#     {0}     ............{1}------{0}............
-#     {0}        ....  {0}...{1}------{0}...  {0}....
-#     {0}               ....{1}--{0}....
-#     {0}                 ......
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#     hex:
-#       - "#FFFFFF"
-#       - "#EBA71F"
-#     chip: "#FF9900"
-# Swift:
-#   type: programming
-#   ascii: |
-#     {0}                         :
-#     {0}                          ::
-#     {1}                           :::
-#     {1}          :                ::::
-#     {2}     :     :                ::::
-#     {2}      :     ::              :::::
-#     {3}       ::    :::             :::::
-#     {3}        :::    :::           ::::::
-#     {4}          :::   :::          :::::::
-#     {4}           ::::  ::::        :::::::
-#     {5}            :::::::::::      ::::::::
-#     {5}              :::::::::::   :::::::::
-#     {5}               ::::::::::::::::::::::
-#     {6}                :::::::::::::::::::::
-#     {6}                  :::::::::::::::::::
-#     {6}:                   :::::::::::::::::
-#     {7} ::                   ::::::::::::::
-#     {7}   ::::              ::::::::::::::::
-#     {7}    ::::::::::::::::::::::::::::::::::
-#     {8}      :::::::::::::::::::::::::::::::::
-#     {8}        :::::::::::::::::::::::::::::::
-#     {8}          ::::::::::::::::::::::   :::::
-#     {9}             .::::::::::::::.         ::
-#     {9}
-#   colors:
-#     ansi:
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#       - red
-#     hex:
-#       - "#F88134"
-#       - "#F97732"
-#       - "#F96D30"
-#       - "#FA632E"
-#       - "#FA592C"
-#       - "#FB502A"
-#       - "#FB4628"
-#       - "#FC3C26"
-#       - "#FC3224"
-#       - "#FD2822"
-#     chip: "#F05138"
-# SystemVerilog:
-#   type: programming
-#   ascii: |
-#     {0}     _.._   _.._   _.._   _.._
-#     {0}     _.._   _.._   _.._   _.._
-#     {0} .................................
-#     {0}.               {1}----              {0}.
-#     {0}.          {1}--------------         {0}.
-#     {0}.        {1}----       ---------     {0}.
-#     {0}.      {1}---                -----   {0}.
-#     {0}.     {1}-    #####  #     #  -----  {0}.
-#     {0}.         {1}#     # #     #         {0}.
-#     {0}.         {1}#       #     #         {0}.
-#     {0}.          {1}#####  #     #         {0}.
-#     {0}.               {1}#  #   #          {0}.
-#     {0}.         {1}#     #   # #           {0}.
-#     {0}.  {1}-----   #####     #      -     {0}.
-#     {0}.   {1}-----                ---      {0}.
-#     {0}.     {1}---------       ----        {0}.
-#     {0}.         {1}--------------          {0}.
-#     {0}.              {1}----               {0}.
-#     {0} .................................
-#     {0}     _.._   _.._   _.._   _.._
-#     {0}     _.._   _.._   _.._   _.._
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     chip: "#DAE1C2"
-# Tcl:
-#   type: programming
-#   ascii: |
-#     {0}          //
-#     {2}      . /{0}////
-#     {2}     /{0}/////// .
-#     {2}     //{0}//{1}/{0}/////
-#     {2}    //{0}//{1}/{0}/////
-#     {2}  . //{0}/{1}//{0}////
-#     {2}  //{0}//{1}//{0}////
-#     {2}  //{0}/{1}//{0}/////
-#     {2}  /{0}//{1}//{0}////
-#     {2}  /{0}/{1}//{0}////  .
-#     {2}. /{0}/{1}//{0}/////
-#     {2} /{0}/{1}//{0}////
-#     {2}  /{1}//{0}//
-#     {0}   {1}//
-#     {0}   {1}//
-#     {0}    {1}/
-#     {0}     {1}/
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#       - cyan
-#     chip: "#E4CC98"
-# Tex:
-#   type: markup
-#   ascii: |
-#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#     {0}$$$            $$$$$$$      $$$$$     $$
-#     {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
-#     {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
-#     {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
-#     {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
-#     {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
-#     {0}$$$$$        $$  $$$$$     $$$$$$     $$
-#     {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#     chip: "#3D6117"
-# Toml:
-#   type: data
-#   ascii: |
-#     {0}[[[[[[[[                    ]]]]]]]]
-#     {0}[[[[[[[[                    ]]]]]]]]
-#     {0}[[[[                            ]]]]
-#     {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
-#     {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[            {1}TTTT{0}            ]]]]
-#     {0}[[[[[[[[                    ]]]]]]]]
-#     {0}[[[[[[[[                    ]]]]]]]]
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#     hex:
-#       - "#9C4221"
-#       - "#FFFFFF"
-#     chip: "#9C4221"
-# Tsx:
-#   type: programming
-#   ascii: |
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSXTSX
-#     {0}TS{2}XTSXTSXTS{0}XTSX{2}TSXTSX{0}TSXTS{1}X{2}TSX{1}TSX{2}TSX{1}TSX
-#     {0}TSXTS{2}XTS{0}XTSXTS{2}XTS{0}XTSXTSXT{1}SXT{2}SXT{1}S{2}XTS{1}XTSX
-#     {0}TSXTS{2}XTS{0}XTSXTSX{2}TSX{0}TSXTSX{1}TSXTSX{2}TSX{1}TSXTSX
-#     {0}TSXTS{2}XTS{0}XTSXTSXT{2}SXT{0}SXTS{1}XTSXTS{2}XTSXT{1}TSTSX
-#     {0}TSXTS{2}XTS{0}XTSXTSXTS{2}XTS{0}XT{1}SXTSXT{2}SXT{1}S{2}XTS{1}XTSX
-#     {0}TSXTS{2}XTS{0}XTSXT{2}SXTSXT{0}SX{1}TSXTSX{2}TSX{1}TSX{2}TSX{1}TSX
-#     {0}TSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSXTSXTSXTSX
-#     {0}TSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSXTSXTSXTSX
-#   colors:
-#     ansi:
-#       - cyan
-#       - magenta
-#       - white
-#     hex:
-#       - "#007ACC"
-#       - "#8A53A6"
-#       - "#FFFFFF"
-#     chip: "#2B7489"
-# TypeScript:
-#   type: programming
-#   ascii: |
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TSTS{1}TSTSTS{0}TSTSTS
-#     {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TS{1}TSTSTSTSTS{0}TSTS
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTS{1}TSTST{0}TSTSTSTST
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTS{0}TSTSTSTS
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTST{1}STSTS{0}TSTSTS
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTST{1}STSTS{0}TSTS
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTSTS{1}TSTST{0}TST
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTSTSTST{0}STS
-#     {0}TSTSTSTSTSTST{1}STST{0}STSTSTSSTS{1}TSTSTS{0}TSTST
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#     hex:
-#       - "#007ACC"
-#       - "#FFFFFF"
-#     chip: "#2B7489"
-# Vala:
-#   type: programming
-#   ascii: |
-#     {0} ###################################
-#     {0}#####################################
-#     {0}#####################################
-#     {0}############{1}######{0}##########{1}##{0}#######
-#     {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
-#     {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
-#     {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
-#     {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
-#     {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
-#     {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
-#     {0}##############{1}####{0}###{1}##{0}##############
-#     {0}##############{1}####{0}##{1}##{0}###############
-#     {0}##############{1}####{0}#{1}##{0}################
-#     {0}##############{1}######{0}#################
-#     {0}##############{1}#####{0}##################
-#     {0}##############{1}####{0}###################
-#     {0}#####################################
-#     {0}#####################################
-#     {0} ###################################
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     chip: "#A56DE2"
-# Verilog:
-#   type: programming
-#   ascii: |
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}     _......................._
-#     {0}    _.{1}-----             -----{0}._
-#     {0}_..._.{1} ---               --- {0}._..._
-#     {0}_..._.{1}  ---             ---  {0}._..._
-#     {0}    _.{1}   ---           ---   {0}._
-#     {0}    _.{1}    ---         ---    {0}._
-#     {0}_..._.{1}     ---       ---     {0}._..._
-#     {0}_..._.{1}      ---     ---      {0}._..._
-#     {0}    _.{1}       ---   ---       {0}._
-#     {0}    _.{1}        --- ---        {0}._
-#     {0}_..._.{1}         -----         {0}._..._
-#     {0}_..._.{1}          ---          {0}._..._
-#     {0}    _.{1}           -           {0}._
-#     {0}     _......................._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#   colors:
-#     ansi:
-#       - white
-#       - magenta
-#     chip: "#b2b7f8"
-# Vhdl:
-#   type: programming
-#   ascii: |
-#     {0}        |  |  |  |
-#     {0}       {1}------------
-#     {0}    --{1}|    {2}----    {1}|{0}--
-#     {0}    --{1}|   {2}|    |   {1}|{0}--
-#     {0}    --{1}|   {2}|    |   {1}|{0}--
-#     {0}    --{1}|    {2}----    {1}|{0}--
-#     {0}       {1}------------
-#     {0}        |  |  |  |
-#     {2}__     ___   _ ____  _
-#     {2}\ \   / / | | |  _ \| |
-#     {2} \ \ / /| |_| | | | | |
-#     {2}  \ V / |  _  | |_| | |___
-#     {2}   \_/  |_| |_|____/|_____|
-#   colors:
-#     ansi:
-#       - yellow
-#       - green
-#       - white
-#     chip: "#ADB2CB"
-# VimScript:
-#   type: programming
-#   ascii: |
-#     {1}     ________{0}  ++    {1}________
-#     {1}    /{2}VVVVVVVV{1}\{0}++++  {1}/{2}VVVVVVVV{1}\
-#     {1}    \{2}VVVVVVVV{1}/{0}++++++{1}\{2}VVVVVVVV{1}/
-#     {1}     |{2}VVVVVV{1}|{0}++++++++{1}/{2}VVVVV{1}/'
-#     {1}     |{2}VVVVVV{1}|{0}++++++{1}/{2}VVVVV{1}/'
-#     {0}    +{1}|{2}VVVVVV{1}|{0}++++{1}/{2}VVVVV{1}/'{0}+
-#     {0}  +++{1}|{2}VVVVVV{1}|{0}++{1}/{2}VVVVV{1}/'{0}+++++
-#     {0}+++++{1}|{2}VVVVVV{1}|/{2}VVV{1}___{0}++++++++++
-#     {0}  +++{1}|{2}VVVVVVVVVV{1}/{2}##{1}/ {0}+{1}_{0}+{1}_{0}+{1}_{0}+{1}_
-#     {0}    +{1}|{2}VVVVVVVVV{1}___ {0}+{1}/{2}#{1}_{2}#{1},{2}#{1}_{2}#{1},\
-#     {1}     |{2}VVVVVVV{1}//{2}##{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/'/{2}#{1}/
-#     {1}     |{2}VVVVV{1}/'{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/
-#     {1}     |{2}VVV{1}/'{0}++{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/ /{2}#{1}/
-#     {1}     '{2}V{1}/'  /{2}##{1}//{2}##{1}//{2}##{1}//{2}###{1}/
-#     {0}              ++
-#   colors:
-#     ansi:
-#       - green
-#       - black
-#       - white
-#     chip: "#199F4B"
-# VisualBasic:
-#   type: programming
-#   ascii: |
-#     {1}             ::::::::::
-#     {1}         ::::::::::::::::::
-#     {1}      ::::::::::::::::::::::::
-#     {0}    &&&&{1}::::::::::::::::::::::::
-#     {0}  &&&&&&&&{1}::::::::::::::::::::::::
-#     {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
-#     {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
-#     {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
-#     {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
-#     {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
-#     {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
-#     {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
-#     {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
-#     {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
-#     {0}      &&&&&&&&&&&&&&&&&&&&&&&&
-#     {0}         &&&&&&&&&&&&&&&&&&
-#     {0}             &&&&&&&&&&
-#   colors:
-#     ansi:
-#       - blue
-#       - blue
-#       - white
-#     hex:
-#       - "#195F97"
-#       - "#004E8C"
-#       - "#FFFFFF"
-#     chip: "#945db7"
-# Vue:
-#   type: programming
-#   ascii: |
-#     {0}VUE{1}\\\\\                /////{0}VUE
-#     {0} VUE{1}\\\\\              /////{0}VUE
-#     {0}  VUE{1}\\\\\            /////{0}VUE
-#     {0}   VUE{1}\\\\\          /////{0}VUE
-#     {0}    VUE{1}\\\\\        /////{0}VUE
-#     {0}     VUE{1}\\\\\      /////{0}VUE
-#     {0}      VUE{1}\\\\\    /////{0}VUE
-#     {0}       VUE{1}\\\\\  /////{0}VUE
-#     {0}        VUE{1}\\\\\/////{0}VUE
-#     {0}         VUE{1}\\\\////{0}VUE
-#     {0}          VUE{1}\\\///{0}VUE
-#     {0}           VUE{1}\\//{0}VUE
-#     {0}            VUE{1}||{0}VUE
-#     {0}             VUEVUE
-#     {0}              VUEV
-#   colors:
-#     ansi:
-#       - green
-#       - blue
-#     chip: "#199F4B"
-# WebAssembly:
-#   type: programming
-#   ascii: |
-#     {0}:::::::::::             ::::::::::::
-#     {0}::::::::::::           :::::::::::::
-#     {0}:::::::::::::::     ::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
-#     {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
-#     {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
-#     {0}::::::::::::::::::::::::::::::::::::
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     hex:
-#       - "#654FF0"
-#       - "#FFFFFF"
-#     chip: "#04133B"
-# Wolfram:
-#   type: programming
-#   ascii: |
-#     {0}             OOOOOOOOOOOOOO
-#     {0}         OOOOOO  OOOOOOOOOOOOOO
-#     {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
-#     {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
-#     {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
-#     {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
-#     {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
-#     {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
-#     {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
-#     {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-#     {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
-#     {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
-#     {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
-#     {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
-#     {1}   WWWWW..............  {0}.........OOOOO
-#     {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-#     {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
-#     {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
-#     {1}         WWWWWWWWWWWWWWWW{0}     OO
-#     {1}             WWWWWWWWWWWWW{0}
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#       - black
-#     hex:
-#       - "#FF0A01"
-#       - "#FFFFFF"
-#       - "#000000"
-#     chip: "#DD1100"
-# Xaml:
-#   type: data
-#   ascii: |
-#     {0}        :::::::::::::::::::::..
-#     {0}       :::{1}------{0}::::::::::::....
-#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-#     {0}:::{1}------{0}::::::::::::.........{1}------{0}...
-#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-#     {0}       :::{1}------{0}::::::::::::....
-#     {0}        :::::::::::::::::::::..
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     hex:
-#       - "#3378CE"
-#       - "#FFFFFF"
-#     chip: "#0060AC"
-# Xml:
-#   type: data
-#   ascii: |
-#     {0}  __{1} __  _  __ __  _    {2}   __{0}__
-#     {0} / /{1} \ \/  |  \  \| |   {2}  / /{0}\ \
-#     {0}< < {1}  \ \  |     || |_  {2} / / {0} > >
-#     {0} \_\{1} _/\_\ |_|_|_||___| {2}/_/  {0}/_/
-#   colors:
-#     ansi:
-#       - yellow
-#       - white
-#       - green
-#     chip: "#0060AC"
-# XSL:
-#   type: programming
-#   ascii: |
-#     {0}                       :::
-#     {0}       :::::          :::  :::::
-#     {0}     :::::           :::     :::::
-#     {0}   :::::            :::        :::::
-#     {0} :::::             :::           :::::
-#     {0}:::::             :::             :::::
-#     {0} :::::           :::             :::::
-#     {0}   :::::        :::            :::::
-#     {0}     :::::     :::           :::::
-#     {0}       :::::  :::          :::::
-#     {0}             :::
-#   colors:
-#     ansi:
-#       - cyan
-#     chip: "#EB8CEB"
-# Yaml:
-#   type: data
-#   ascii: |
-#     {0}__    __  __   __    __   _
-#     {0}\ \  / / /  | |  \  /  | | |
-#     {0} \ \/ / / | | | \ \/ / | | |.
-#     {0}  \  / / /| | | |\__/| | | | .
-#     {0}  / / / / | | | |    | | | |  .
-#     {0} / / / /  | | | |    | | | |___.
-#     {0}/_/ /_/   |_| |_|    |_| |______\
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#CB171E"
-# Zig:
-#   type: programming
-#   ascii: |
-#     {0}                                     z
-#     {0}                                  zzz
-#     {0}                             zzzzzz
-#     {0}zzzzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzz
-#     {0}zzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzz
-#     {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
-#     {0}zzzzz                zzzzzz      zzzzz
-#     {0}zzzzz              zzzzzz        zzzzz
-#     {0}zzzzz            zzzzzz          zzzzz
-#     {0}zzzzz          zzzzzz            zzzzz
-#     {0}zzzzz        zzzzzz              zzzzz
-#     {0}zzzzz      zzzzzz                zzzzz
-#     {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
-#     {0}zzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzz
-#     {0}zzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzzzz
-#     {0}   zzzzzz
-#     {0} zzz
-#     {0}z
-#   colors:
-#     ansi:
-#       - yellow
-#     chip: "#EC915C"
-# Zsh:
-#   type: programming
-#   ascii: |
-#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-#     {0}ZSHZ     ZSHZSHZSHZSHZSHZSHZSHZS
-#     {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-#     {0}ZSHZSHZS     SHZSHZSHZSHZSHZSHZS
-#     {0}ZSHZSHZSHZ     HZSHZSHZSHZSHZSHZ
-#     {0}ZSHZSHZSHZSH     ZSHZSHZSHZSHZSH
-#     {0}ZSHZSHZSHZ     SHZSHZSHZSHZSHZSH
-#     {0}ZSHZSHZS     ZSHZSHZSHZSHZSHZSHZ
-#     {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-#     {0}ZSHZ     ZSHZSH             SHZS
-#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-#     {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#89E051"
+    {2}████████████████  {3}████████████████
+    {2}█████      █████  {3}█████  █████████
+    {2}█████  █████████  {3}█████  █████████
+    {2}█████      █████  {3}█████  █████████
+    {2}█████████  █████  {3}█████  █████████
+    {2}█████      █████  {3}█████      █████
+    {2}████████████████  {3}████████████████
+  colors:
+    ansi:
+      - red
+      - green
+      - blue
+      - yellow
+    hex:
+      - "#F65314"
+      - "#7CBB00"
+      - "#00A1F1"
+      - "#FFBB00"
+    chip: "#AACE60"
+HolyC:
+  type: programming
+  ascii: |
+    {0}             ========
+    {0}         ====        ====
+    {0}      ====              ====
+    {0}    ===                   ===
+    {0}   ===                     ===
+    {0}  ==           {1}***           {0}==
+    {0}  ==        {1}*********        {0}==
+    {0}   =    {1}*****************    {0}=
+    {1}    ********{0}*********{1}********
+    {1} ********{0}**{2}***********{0}**{1}********
+    {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
+    {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
+    {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
+    {1}*****{0}*{2}****{0}*{1}**********************
+    {1}*****{0}*{2}****{0}*{1}**********************
+    {1}*****{0}*{2}****{0}*{1}**********************
+    {1}*****{0}*{2}*****{0}*{1}*********{0}***{1}*********
+    {1}******{0}*{2}*****{0}**{1}*****{0}**{2}***{0}**{1}*******
+    {1}*******{0}*{2}******{0}*****{2}*****{0}*{1}********
+    {1} ********{0}**{2}***********{0}**{1}********
+    {1}     *******{0}*********{1}*******
+    {1}        *****************
+    {1}            *********
+    {1}               ***
+  colors:
+    ansi:
+      - yellow
+      - cyan
+      - white
+    hex:
+      - "#FBFE67"
+      - "#0B449D"
+      - "#FFFFFF"
+    chip: "#FFEFAF"
+Html:
+  type: markup
+  ascii: |
+    {1}  ##  ##  ######  ##   ##  ##
+    {1}  ##  ##    ##    ### ###  ##
+    {1}  ######    ##    ## # ##  ##
+    {1}  ##  ##    ##    ##   ##  ##
+    {1}  ##  ##    ##    ##   ##  ######
+    {0}(((((((((((((((((((((((((((((((((((
+    {0}(((((((((((((((((/////////////(((((
+    {0}(((((((((((((((((/////////////(((((
+    {0}(((((((                     //(((((
+    {0} ((((((                     //((((
+    {0} ((((((    ((((((/////////////((((
+    {0} ((((((     (((((/////////////((((
+    {0} ((((((                    ///((((
+    {0}  (((((                    ///(((
+    {0}  (((((((((((((((//////    ///(((
+    {0}  ((((((    (((((/////     ///(((
+    {0}  ((((((                   ///(((
+    {0}   (((((((               /////((
+    {0}   ((((((((((((((/////////////((
+    {0}   ((((((((((((((//////(((((((((
+    {0}          (((((((((((((((
+  colors:
+    ansi:
+      - red
+      - white
+    chip: "#E34C26"
+Idris:
+  type: programming
+  ascii: |
+    {0}       %
+    {0}          %
+    {0}   %&&&     %%
+    {0}        %%    %&
+    {0}&%%%&     %    %%
+    {0}     %%        %%
+    {0}       %       %%
+    {0} %%%          %%&
+    {0}   %%       %%%
+    {0}    %     &%%%
+    {0}         %%%&
+    {0}       &%%%
+    {0}      %%%%
+    {0}      %%%
+    {0}     %%%
+    {0}     %%%
+    {0}     &%%
+    {0}      %%%
+  colors:
+    ansi:
+      - red
+    chip: "#B30000"
+Java:
+  type: programming
+  ascii: |
+    {0}                  |
+    {0}                 ||
+    {0}               |||
+    {0}             ||||    ||
+    {0}           ||||| ||||
+    {0}          ||||  |||
+    {0}         ||||  |||
+    {0}         |||    |||
+    {0}          |||    |||
+    {0}            ||    ||
+    {0}              |   |
+    {1}   ####               #    ##
+    {1}    ################       ##
+    {1}       #                   ##
+    {1}      ################   ###
+    {1}
+    {1}       ##############
+    {1}####      #######          #
+    {1}#####                   ####
+    {1}   #####################      #
+    {1}                          ###
+    {1}          ###############
+  colors:
+    ansi:
+      - red
+      - blue
+    hex:
+      - "#F44336"
+      - "#1665C0"
+    chip: "#B07219"
+JavaScript:
+  type: programming
+  ascii: |
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJ    SJSJS      JSJSJS
+    {0}JSJSJSJSJSJSJSJSJ    SJS          JSJS
+    {0}JSJSJSJSJSJSJSJSJ    SJS     JSJSJSJSJ
+    {0}JSJSJSJSJSJSJSJSJ    SJSJ     SJSJSJSJ
+    {0}JSJSJSJSJSJSJSJSJ    SJSJSJ     SJSJSJ
+    {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJ     JSJS
+    {0}JSJSJSJSJSJSJSJSJ    SJSJSJSJS     JSJ
+    {0}JSJSJSJSJS     JS    JSJS          JSJ
+    {0}JSJSJSJSJSJ          SJSJSJ      SJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+    {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
+  colors:
+    ansi:
+      - yellow
+    hex:
+      - "#ECE653"
+    chip: "#F1E05A"
+Json:
+  type: data
+  ascii: |
+    {0}           `:+osyyyso+/:`
+    {0}        :smNNNmmmddddhhhmds:
+    {0}     .oNNNNNmmmddddhhhyyyym{1}MNs.
+    {0}    oNNNNNmmmddddhhhyyyysssh{1}MMMs`
+    {0}  .dNNNNmmmddmmmdyyyyysssoooh{1}MMMm.
+    {0} `mNNNmmmmm{1}NMMMy-{0}  .+ssoooo++N{1}MMMN.
+    {0} yNNmmmdm{1}MMMMN-  {0}    .ooo+++/d{1}MMMMd
+    {0}-Nmmmddm{1}MMMMM:   {0}     .+++///y{1}MMMMM-
+    {0}+mmdddd{1}MMMMMm    {0}      /////:y{1}MMMMM+
+    {0}+ddddhd{1}MMMMMm    {0}      ///:::m{1}MMMMM+
+    {0}-ddhhhd{1}MMMMMM-   {0}     `/::::y{1}MMMMMM-
+    {0} shhyyh{1}MMMMMMm-  {0}    `:::::h{1}MMMMMMh
+    {0} .yyyyyN{1}MMMMMMMs.{0}  `-:::/y{1}NMMMMMMm`
+    {0}  .osssh{1}MMMMMMMMMmhyyydNMMMMMMMMd.
+    {0}    :oood{1}MMMMMMMMMMMMMMMMMMMMMNo
+    {0}     `:++yN{1}MMMMMMMMMMMMMMMMMNs.
+    {0}        .-/ym{1}MMMMMMMMMMMMmy:
+    {0}            `-/oyhhhys+:`
+  colors:
+    ansi:
+      - white
+      - black
+    chip: "#292929"
+Jsonnet:
+  type: programming
+  ascii: |
+    {0}        .       .
+    {0}       /{1}:{0}\     /{1}:{0}\
+    {0}      /{1}:::{0}\   /{1}:::{0}\
+    {0}     /{1}:::::{0}\ /{1}:::::{0}\
+    {0}   /|\{1}:::::{0}/|\{1}:::::{0}/|
+    {0}  /{1}:{0}|#\{1}:::{0}/{1}.{0}|#\{1}:::{0}/{1}.{0}|
+    {0} /{1}::{0}|##\{1}:{0}/{1}..{0}|##\{1}:{0}/{1}..{0}|
+    {0}|\{1}::{0}|###|{1}...{0}|###|{1}...{0}|
+    {0}|#\{1}:{0}|###|{1}...{0}|###|{1}...{0}|
+    {0}|##\|###|{1}...{0}|###|{1}...{0}|
+    {0}|#######|{1}..{0}/{1}:{0}\##|{1}..{0}/
+    {0}|#######|{1}.{0}/{1}:::{0}\#|{1}.{0}/
+    {0}|#######|/{1}:::::{0}\|/
+    {0} \#######\{1}:::::{0}/|\
+    {0}  \#######\{1}:::{0}/{1}.{0}|{1}:{0}\
+    {0}   \#######\{1}:{0}/{1}..{0}|{1}::{0}\
+    {0}    |#######|{1}...{0}|{1}::{0}/|
+    {0}    |#######|{1}...{0}|{1}:{0}/{1}.{0}|
+    {0}    |#######|{1}...{0}|/{1}..{0}|
+    {0}    |###|\##|{1}..{0}/|{1}...{0}|
+    {0}    |###|{1}.{0}\#|{1}.{0}/#|{1}...{0}|
+    {0}    |###|{1}..{0}\|/##|{1}...{0}|
+    {0}     \##|{1}..{0}/ \##|{1}..{0}/
+    {0}      \#|{1}.{0}/   \#|{1}.{0}/
+    {0}       \|/     \|/
+  colors:
+    ansi:
+      - white
+      - black
+    chip: "#0064BD"
+Jsx:
+  type: programming
+  ascii: |
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSXJSX
+    {0}JSXJSXJ   SXJS      XJSXJS{1}X{2}JSX{1}JSX{2}JSX{1}JSX
+    {0}JSXJSXJ   SXJ   SXJSXJSXJ{1}SXJ{2}SXJ{1}S{2}XJS{1}XJSX
+    {0}JSXJSXJ   SXJS   XJSXJSX{1}JSXJSX{2}JSX{1}JSXJSX
+    {0}JSXJSXJ   SXJSX   JSXJS{1}XJSXJS{2}XJSXJ{1}SXJSX
+    {0}JS   XJ   SXJSXJ   SXJ{1}SXJSXJ{2}SXJ{1}S{2}XJS{1}XJSX
+    {0}JSX       JS      XJS{1}XJSXJS{2}XJS{1}XJS{2}XJS{1}XJS
+    {0}JSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSXJSXJSXJSX
+    {0}JSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSXJSXJSXJSX
+  colors:
+    ansi:
+      - yellow
+      - magenta
+      - white
+    hex:
+      - "#ECE653"
+      - "#B684D3"
+      - "#FFFFFF"
+    chip: "#F1E05A"
+Julia:
+  type: programming
+  ascii: |
+    {0}               {2}_
+    {0}   {1}_       {0}_ {3}_{2}(_){4}_
+    {0}  {1}(_)     {0}| {3}(_) {4}(_)
+    {0}   _ _   _| |_  __ _
+    {0}  | | | | | | |/ _` |
+    {0}  | | |_| | | | (_| |
+    {0} _/ |\__'_|_|_|\__'_|
+    {0}|__/
+  colors:
+    ansi:
+      - white
+      - blue
+      - green
+      - red
+      - magenta
+    chip: "#A270BA"
+Jupyter:
+  type: programming
+  ascii: |
+    {0}                                 +%%%+
+    {0}                                $$$$$$$
+    {0}  +%+                           $$$$$$$
+    {0} $$$$$           {1}******          {0}*%%%*
+    {0}  *%*       {1}****************
+    {1}        ************************
+    {1}     ********              ********
+    {1}   ***                            ***
+    {1}  *                       {0}_          {1}*
+    {0}  _  _   _  _ __   _   _ | |_  ___  _ _
+    {0} | || | | || '_ \ | | | || __|/ _ \| '_|
+    {0} | || |_| || |_) || |_| || |_ | __/| |
+    {0} | | \__,_|| .__/  \__, | \__|\___||_|
+    {0}/_/        |_|     |___/
+    {1}  *                                  *
+    {1}   ***                            ***
+    {1}     ********              ********
+    {1}        ************************
+    {1}            ****************
+    {0}    +%%%+        {1}******
+    {0}   $$$$$$$
+    {0}   $$$$$$$
+    {0}    *%%%*
+  colors:
+    ansi:
+      - white
+      - yellow
+      - white
+    hex:
+      - "#FFFFFF"
+      - "#FF700F"
+      - "#9E9E9E"
+    chip: "#DA5B0B"
+  serialization: jupyter-notebooks
+Kotlin:
+  type: programming
+  ascii: |
+    {0}KOTLIN{2}KOTLINKOTLINKO{1}TLINKOTLINKOTLINKOTL
+    {0}KOTLINKO{2}TLINKOTLIN{1}KOTLINKOTLINKOTLINKO
+    {0}KOTLINKOTL{2}INKOTL{1}INKOTLINKOTLINKOTLIN
+    {0}KOTLINKOTLIN{2}KO{1}TLINKOTLINKOTLINKOTL
+    {0}KOTLINKOTLIN{1}KOTLINKOTLINKOTLINKO
+    {0}KOTLINKOTL{1}INKOTLINKOTLINKOTLIN
+    {0}KOTLINKO{1}TLINKOTLINKOTLINKOTL
+    {0}KOTLIN{1}KOTLINKOTLINKOTLINKO
+    {0}KOTL{1}INKOTLINKOTLINKOTLIN
+    {0}KO{1}TLINKOTLINKOTLINKOTL
+    {1}KOTLINKOTLINKOTLINKO{2}TL
+    {2}KO{1}TLINKOTLINKOTLIN{2}KOTLIN
+    {2}KOTL{1}INKOTLINKOTL{2}INKOTLINKO
+    {2}KOTLIN{1}KOTLINKO{2}TLINKOTLINKOTL
+    {2}KOTLINKO{1}TLIN{0}K{2}OTLINKOTLINKOTLIN
+    {2}KOTLINKOTL{0}INKOT{2}LINKOTLINKOTLINKO
+    {2}KOTLINKO{0}TLINKOTLI{2}NKOTLINKOTLINKOTL
+    {2}KOTLIN{0}KOTLINKOTLINK{2}OTLINKOTLINKOTLIN
+    {2}KOTL{0}INKOTLINKOTLINKOT{2}LINKOTLINKOTLINKO
+    {2}KO{0}TLINKOTLINKOTLINKOTLI{2}NKOTLINKOTLINKOTL
+  colors:
+    ansi:
+      - blue
+      - yellow
+      - magenta
+    chip: "#A97BFF"
+Lisp:
+  type: programming
+  ascii: |
+    {0}              ............
+    {0}         ********..............
+    {0}       *************.............
+    {0}     ****************..............
+    {0}   *******************...***.........
+    {0}  **...********...*****...***.........
+    {0} ***...*******...******....***.........
+    {0}****...******...*******....****.........
+    {0}*****...****...*******.....*****........
+    {0}******...**...******.......******.......
+    {0}*******......******.......***..***......
+    {0}********.....*****.......***....***.....
+    {0}*********....****.......***......***....
+    {0} *********...****......***.......***...
+    {0}  *********...***.....***........***..
+    {0}   *********...***...................
+    {0}     **************................
+    {0}       *************.............
+    {0}         **************........
+    {0}              ************
+  colors:
+    ansi:
+      - white
+    chip: "#3FB68B"
+LLVM:
+  type: programming
+  ascii: |
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKK"              "KKKKKKKK
+    {0}KKKKKKK     KKKKKKKKKK     "KKKKK
+    {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
+    {0}KKKK     KKKKKKKKKKKKKKKKK
+    {0}KKKK      KKKKKKKKKKKKKKKKK
+    {0}KKKK        KKKKKKKKKKKKKKKK
+    {0}KKKK           KKKKKKKKKKKKKK
+    {0}KKKK            KKKKKKKKKKKKK
+    {0}KKKK            ,KKKKKKKKKKKK
+    {0}KKKKKK,    ,     KKKKKKKKKKKK
+    {0}KKKKKKKK   KK,    `KKKKKKKKKK
+    {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
+    {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
+    {0} `KKKKKKKKKKKKKKKKKKKKKKK`
+    {0}   `KKKKKKKKKKKKKKKKKKK`
+    {0}      `KKKKKKKKKKKKKK`
+  colors:
+    ansi:
+      - red
+    hex:
+      - "#98012E"
+    chip: "#185619"
+Lua:
+  type: programming
+  ascii: |
+    {1}                 -- --
+    {1}         --                 --{0} @@@@
+    {1}      --      {0}@@@@@@@@@@@     @@@@@@
+    {0}           @@@@@@@@@@@@@@@@@   @@@@
+    {1}  --     {0}@@@@@@@@@@@@@@{2}****{0}@@@     {1}--
+    {1} --    {0}@@@@@@@@@@@@@@@{2}******{0}@@@@    {1}--
+    {0}      @@@@@@@@@@@@@@@@@{2}****{0}@@@@@@
+    {1}--   {0}@@@{2}**{0}@@@@@@@@@@@@@@@@@@@@@@@@   {1}--
+    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@{2}******{0}@@@@   {1}--
+    {0}     @@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}**{0}@@@{2}**{0}@@@@
+    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@@@{2}*****{0}@@@@   {1}--
+    {1}--   {0}@@@{2}**{0}@@@@@@{2}**{0}@@{2}**{0}@{2}***{0}@@{2}**{0}@@@@   {1}--
+    {0}      @@{2}*******{0}@{2}******{0}@{2}********{0}@@
+    {1} --    {0}@@@@@@@@@@@@@@@@@@@@@@@@@    {1}--
+    {1}  --     {0}@@@@@@@@@@@@@@@@@@@@@     {1}--
+    {0}           @@@@@@@@@@@@@@@@@
+    {1}      --      {0}@@@@@@@@@@@      {1}--
+    {1}         --                 --
+    {1}                 -- --
+  colors:
+    ansi:
+      - blue
+      - white
+      - white
+    hex:
+      - "#2E007F"
+      - "#808080"
+      - "#FFFFFF"
+    chip: "#000080"
+Makefile:
+  type: programming
+  ascii: |
+    {0}    _-`````-,           ,- '- .
+    {0}  .'   .- - |          | - -.  `.
+    {0} /.'  /                     `.   \
+    {0}:/   :      {1}_...   ..._      {0}``   :
+    {0}::   :     {1}/._ .`:'_.._\.    {0}||   :
+    {0}::    `._ {1}./  ,`  :    \{0} . _.''   .
+    {0}`:.      {1}/   |  -.  \-. \\_{0}      /
+    {0}  \:._ {1}_/  .'   .{2}@{1})  \{2}@{1}) ` `\{0} ,.'
+    {1}    {0}'{1}_/,--'       .- .\,-.`--`.
+    {1}       ,'/''     (( \ `  )
+    {1}        /'/'  \    `-'  (
+    {1}         '/''  `._,-----'
+    {1}          ''/'    .,---'
+    {1}           ''/'      ;:
+    {1}             ''/''  ''/
+    {1}               ''/''/''
+    {1}                 '/'/'
+    {1}                  `;
+  colors:
+    ansi:
+      - white
+      - yellow
+      - red
+    hex:
+      - "#FFFFFF"
+      - "#FAEC9A"
+      - "#610000"
+    chip: "#427819"
+Markdown:
+  type: prose
+  ascii: |
+    {0}#######  {1} ,#####. .#####.
+    {0}  ###    {1}########.########
+    {0}  ###    {1}#################
+    {0}  ###    {1}`###############'
+    {0}  ###    {1} `#############'
+    {0}  ###    {1}   `#########'
+    {0}  ###    {1}     `#####'
+    {0}#######  {1}       `#'
+    {0}
+    {0}####     ####     ###
+    {0}#####   #####     ###
+    {0}######.######     ###
+    {0}### ##### ###     ###
+    {0}###  ###  ###   #######
+    {0}###   #   ###    #####
+    {0}###       ###     ###
+    {0}###       ###      #
+  colors:
+    ansi:
+      - white
+      - red
+    chip: "#083FA1"
+  line_types: [code, comments]
+Nim:
+  type: programming
+  ascii: |
+    {0}                   ++
+    {0}       ++        ++++++        ++
+    {0}      ++++++++++++++++++++++++++++
+    {0}     ++++++++++++++++++++++++++++++
+    {0}++  ++++++++++++++++++++++++++++++++  ++
+    {0} ++++++++++++++++++++++++++++++++++++++
+    {0}  +++++++++++              +++++++++++
+    {0}   ++++++++                  ++++++++
+    {0}    +++++                      +++++
+    {1} ?   {0}++                          ++   {1}?
+    {1}  ??             ??????             ??
+    {1}   ???         ??????????         ???
+    {1}    ????     ??????????????     ????
+    {1}     ??????????????????????????????
+    {1}      ????????????????????????????
+    {1}       ??????????????????????????
+    {1}         ??????????????????????
+    {1}           ??????????????????
+  colors:
+    ansi:
+      - yellow
+      - white
+    chip: "#FFC200"
+Nix:
+  type: programming
+  ascii: |
+    {1}         :::.    {0}':::::     ::::'
+    {1}         '::::    {0}':::::.  ::::'
+    {1}           ::::     {0}'::::.:::::
+    {1}     ......:::::..... {0}::::::::
+    {1}    :::::::::::::::::. {0}::::::    {1}::::.
+    {1}   :::::::::::::::::::: {0}:::::.  {1}.::::'
+    {0}         .....           {0}::::' {1}:::::'
+    {0}        :::::            {0}'::' {1}:::::'
+    {0} ......:::::               {0}' {1}::::::::::.
+    {0}:::::::::::                 {1}::::::::::::
+    {0} ::::::::: {1}..              {1}:::::
+    {0}    .:::: {1}.:::            {1}:::::
+    {0}   .::::  {1}:::::          {1}'''''    {0}.....
+    {0}   ::::   {1}':::::.  {0}......:::::::::::::'
+    {0}    ::     {1}::::::. {0}':::::::::::::::::'
+    {1}           {1}.:::::::: {0}'::::::::::
+    {1}          {1}.::::''::::.     {0}'::::.
+    {1}         {1}.::::'   ::::.     {0}'::::.
+    {1}        {1}.::::      ::::      {0}'::::.
+  colors:
+    ansi:
+      - cyan
+      - blue
+    chip: "#7E7EFF"
+ObjectiveC:
+  type: programming
+  ascii: |
+    {0}888                                888
+    {0}8    8888   8       8        8888    8
+    {0}8   8    8  8               8    88  8
+    {0}8  8      8 8       8      8         8
+    {0}8  8      8 8 888   8      8         8
+    {0}8  8      8 88   8  8 ==== 8         8
+    {0}8  8      8 8    8  8      8      8  8
+    {0}8   8    8  88   8  8       8    88  8
+    {0}8    8888   8 888   8        88888   8
+    {0}888                 8              888
+    {0}                    8
+    {0}                  88Y
+  colors:
+    ansi:
+      - cyan
+      - blue
+    chip: "#438EFF"
+  serialization: objective-c
+OCaml:
+  type: programming
+  ascii: |
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///   \////    \///////////////////////
+    {0}//      //      /////////     .////////
+    {0}/                ///////         \/////
+    {0}                  /////      //////////
+    {0}                            ///////////
+    {0}                           ////////////
+    {0}  //                    ///////////////
+    {0} /////////   ///   ////////////////////
+    {0}/////////  //////  ////////////////////
+    {0}////////  ///////  ////////////////////
+    {0}///////  ////////  ////////////////////
+    {0}//////  /////////  ////////////////////
+  colors:
+    ansi:
+      - yellow
+    chip: "#3BE133"
+Odin:
+  type: programming
+  ascii: |
+    {0}          @@@@@@@@@
+    {0}      @@@@     @@@   @@@
+    {0}    @@@@      @@@   @@@@@@
+    {1}  @@@@       @@@   @@@  @@@@
+    {1} @@@        @@@   @@@     @@@
+    {1}@@@        @@@   @@@       @@@
+    {2}@@@       @@@   @@@        @@@
+    {2}@@@      @@@   @@@         @@@
+    {2}@@@     @@@   @@@          @@@
+    {3}@@@    @@@   @@@           @@@
+    {3} @@@  @@@   @@@           @@@
+    {3}  @@@@@@   @@@          @@@@
+    {4}    @@@   @@@         @@@@
+    {4}         @@@        @@@@
+    {4}          @@@@@@@@@@
+  colors:
+    ansi:
+      - blue
+      - blue
+      - blue
+      - blue
+      - blue
+    hex:
+      - "#265A99"
+      - "#3473BE"
+      - "#3F88DD"
+      - "#4797F3"
+      - "#499AF7"
+    chip: "#60AFFE"
+Org:
+  type: prose
+  ascii: |
+    {2}                    j
+    {2}                   eL
+    {0}                Q {2}kD
+    {0}            Nt{1}yew{2}kQ{0}y
+    {1}       :r/2K{0}@Q@@@#N@@Qmir
+    {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
+    {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
+    {1}?#QB#HKXej{0}D@QQRNkPD9|
+    {1}SQNHDXwmXq{0}@@@QDR
+    {1}=D6XwmSm{0}D@Q@@QDH
+    {1} tXaZe{0}H@QQ@@@@QRdz
+    {1}   u{0}QRQ@@@@@@@@@QDDd
+    {0}     B@@@@@@@@@@@QDHDd
+    {0}         Syz*:'--'~;\oM
+  colors:
+    ansi:
+      - green
+      - red
+      - white
+    chip: "#77AA99"
+Oz:
+  type: programming
+  ascii: |
+    {0}                   ooooooooo
+    {0}               oooooo{1}zzz{0}oooooo
+    {0}            oooooo{1}zzzzzz{0}ooooooo
+    {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
+    {0}      ooooooooooooooo{1}zzz{0}ooooooooo
+    {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
+    {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
+    {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
+    {0}ooo    oooooo    ooooooooooo   oooooo
+    {0}oooo    oooooo   oooooooo      ooooooo
+    {0} oooo    oooo   oooooo   ooo   oooooooo
+    {0}  ooooooo    ooooooooooooooo   oooooooo
+    {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
+    {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
+    {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
+    {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
+    {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
+    {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
+    {0}         ooooooo{1}zzzz{0}oooo
+    {0}           ooooooooo
+  colors:
+    ansi:
+      - yellow
+      - white
+    hex:
+      - "#FCAF3E"
+      - "#FFFFFF"
+    chip: "#FAB738"
+Pascal:
+  type: programming
+  ascii: |
+    {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
+    {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
+    {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
+    {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
+    {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
+    {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
+  colors:
+    ansi:
+      - blue
+      - white
+    chip: "#E3F171"
+Perl:
+  type: programming
+  ascii: |
+    {0}                  ######
+    {0}    ###         #########
+    {0} ########      ##########
+    {0}#########     ############
+    {0}   ######   ###############
+    {0}  ####### ##################
+    {0}  ####### ###################
+    {0}  ############################
+    {0}  #############################
+    {0}  ########################### ##
+    {0}    ######################### ##
+    {0}     ###################  ### #
+    {0}          ##### #### ###  ### #
+    {0}          ####  #### ###   ##
+    {0}          ####  ###  ###    #
+    {0}           ##  ###   ###    #
+    {0}           ##   ##   ##     #
+    {0}           ##    #   #      #
+    {0}           #       ##       #
+    {0}           #       # #      #
+    {0}           #     ### ##     ##
+    {0}          ##
+  colors:
+    ansi:
+      - cyan
+    chip: "#0298C3"
+Perl6:
+  type: programming
+  ascii: |
+    {0} +@8DM#8W,
+    {0}#DM"{1},ypy,{0}"8#
+    {0}DDU {1}8M]N8u{0} DM
+    {0}8DD {1}TMD8M,{0}8M  {4}8
+    {0} 8D#=e@8MM^   {4}8
+    {0}  *MDw  {4},.,+#M`
+    {0}    "8#                   {0},e88DDDD8m,
+    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
+    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
+    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
+    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
+    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
+    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
+    {1}   ``      {2}'"F*FFF*  {1},yw,
+    {1}                  ,#]{0}[D8{1}8W
+    {1}                  k8{0}]DDN8{1}8L
+    {1}                  '8E{0}$DE8{1}8M
+    {1}                    R#E#R^
+  colors:
+    ansi:
+      - blue
+      - red
+      - yellow
+      - white
+      - green
+    hex:
+      - "#5B00FD"
+      - "#FF005E"
+      - "#F3FF27"
+      - "#FFFFFF"
+      - "#00FF39"
+    chip: "#0000FB"
+  serialization: raku
+Php:
+  type: programming
+  ascii: |
+    {0}            ################
+    {0}      ##########{1}/  |{0}##############
+    {0}   #############{1}|  |{0}#################
+    {0} #####{1}/   __   \|   __   \/   __   \{0}###
+    {0}######{1}|  |{0}##{1}|  ||  |{0}##{1}|  ||  |{0}##{1}|  |{0}####
+    {0}######{1}|  |{0}##{1}/  ||  |{0}##{1}|  ||  |{0}##{1}/  |{0}####
+    {0} #####{1}|   ____ /|__|{0}##{1}|__||   ____ /{0}###
+    {0}   ###{1}|  |{0}################{1}|  |{0}#######
+    {1}      |_ /{0}################{1}|_ /{0}####
+    {0}            ################
+  colors:
+    ansi:
+      - blue
+      - white
+    hex:
+      - "#777BB3"
+      - "#FFFFFF"
+    chip: "#4F5D95"
+PowerShell:
+  type: programming
+  ascii: |
+    {0}         #########################
+    {0}        ####{1}####{0}#################
+    {0}       ######{1}####{0}###############
+    {0}      ########{1}####{0}#############
+    {0}     ##########{1}####{0}###########
+    {0}    #########{1}####{0}############
+    {0}   ########{1}####{0}#############
+    {0}  #######{1}####{0}##############
+    {0} ######{1}####{0}#####{1}######{0}####
+    {0}#########################
+  colors:
+    ansi:
+      - blue
+      - white
+    hex:
+      - "#316CB9"
+      - "#FFFFFF"
+    chip: "#012456"
+Processing:
+  type: programming
+  ascii: |
+    {0}          PPPPPPPPPPPP
+    {0}      PPPPPPPPPPPPPPPPPPPP
+    {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
+    {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
+    {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
+    {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
+    {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
+    {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
+    {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
+    {0}    PPPPPPPPPPPPPPPPPPPPPPPP
+    {0}      PPPPPPPPPPPPPPPPPPPP
+    {0}          PPPPPPPPPPPP
+  colors:
+    ansi:
+      - blue
+      - white
+    hex:
+      - "#505050"
+      - "#FFFFFF"
+    chip: "#0096D8"
+Prolog:
+  type: programming
+  ascii: |
+    {0}            ############   #
+    {0}       #################   ####
+    {0}     ###################   ######
+    {0}   #####################   #######
+    {0}  ######################   ########
+    {0} #######         #######   #########
+    {0}######  ###        #####   ##########
+    {0}#####  ####      #  ####   ##########
+    {0}#####  #####    ##  ####   ##########
+    {0}#####   #########   ####   ##########
+    {0}#####     #####   #######    ########
+    {0} ####           ###########       ##
+    {0}  ###   ###########################
+    {0}    #   ##########################
+    {0}        ########################
+    {0}        ######################
+    {0}           ################
+  colors:
+    ansi:
+      - white
+    chip: "#74283C"
+Protobuf:
+  type: programming
+  ascii: |
+    {0}      ;;;;;;;;     {2}::::::::
+    {0}     ;;;;;;;;       {2}::::::::
+    {0}    ;;;;;;;;         {2}::::::::
+    {1}   :{0};;;;;;;           {2}::::::::
+    {1}  :::{0};;;;;             {2}::::::::
+    {1} :::::{0};;;               {2}::::::::
+    {1}:::::::{0};                {3};{2}:::::::
+    {1}::::::::               {3};;;{2}:::::
+    {1} ::::::::             {3};;;;;{2}:::
+    {1}  ::::::::           {3};;;;;;;{2}:
+    {1}   ::::::::         {3};;;;;;;;
+    {1}    ::::::::       {3};;;;;;;;
+    {1}     ::::::::     {3};;;;;;;;
+  colors:
+    ansi:
+      - red
+      - blue
+      - green
+      - yellow
+    chip: "#74283C"
+  serialization: protocol-buffers
+PureScript:
+  type: programming
+  ascii: |
+    {0}           \\\\\\\\\\\\\\    \\\\\
+    {0}            \\\\\\\\\\\\\\     \\\\\
+    {0}    /////                        \\\\\
+    {0}  /////      //////////////      /////
+    {0}/////       //////////////     /////
+    {0}\\\\\                        /////
+    {0}  \\\\\     \\\\\\\\\\\\\\
+    {0}    \\\\\    \\\\\\\\\\\\\\
+  colors:
+    ansi:
+      - white
+    chip: "#1D222D"
+Python:
+  type: programming
+  ascii: |
+    {0}               =========
+    {0}            ===============
+    {0}           =================
+    {0}          ===  ==============
+    {0}          ===================
+    {0}                   ==========
+    {0}   ========================== {1}=======
+    {0} ============================ {1}========
+    {0}============================= {1}=========
+    {0}============================ {1}==========
+    {0}========================== {1}============
+    {0}============ {1}==========================
+    {0}========== {1}============================
+    {0}========= {1}=============================
+    {0} ======== {1}============================
+    {0}  ======= {1}==========================
+    {1}          ==========
+    {1}          ===================
+    {1}          ==============  ===
+    {1}           =================
+    {1}            ===============
+    {1}               =========
+  colors:
+    ansi:
+      - blue
+      - yellow
+    hex:
+      - "#2F69A2"
+      - "#FFD940"
+    chip: "#3572A5"
+Qml:
+  type: programming
+  ascii: |
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
+    {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
+    {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
+    {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
+    {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+    {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+    {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
+  colors:
+    ansi:
+      - green
+      - white
+      - green
+    hex:
+      - "#80C342"
+      - "#FFFFFF"
+      - "#4D7528"
+    chip: "#44A51C"
+R:
+  type: programming
+  ascii: |
+    {0}             .,,,,,,,,,,,,,
+    {0}       ,,,,,,,,,,,,,,,,,********
+    {0}    ,,,,,,,,,,,,,,,,,**************
+    {0}  ,,,,,,,,,,,,                  *****
+    {0} ,,,,,,,,,      {1}RRRRRRRRRRRRRRRR   {0}***
+    {0},,,,,,,,,       {1}RRRRRRRRRRRRRRRRRRR {0}***
+    {0},,,,,,,,        {1}RRRRRRRRRRRRRRRRRRRR {0}//
+    {0},,,,,,*         {1}RRRRRRR      RRRRRRR {0}//
+    {0},,,*****        {1}RRRRRRR     RRRRRRR  {0}//
+    {0} ********       {1}RRRRRRRRRRRRRRRRRR  {0}//
+    {0}   *********    {1}RRRRRRRRRRRRRR    {0}//
+    {0}      **********{1}RRRRRRR   RRRRRRR
+    {0}         *******{1}RRRRRRR    RRRRRRR
+    {1}                RRRRRRR     RRRRRRRR
+  colors:
+    ansi:
+      - white
+      - blue
+    chip: "#198CE7"
+Racket:
+  type: programming
+  ascii: |
+    {0}            {2}.:--::////::--.`
+    {0}        {1}`/yNMMNho{2}////////////:.
+    {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
+    {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
+    {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
+    {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
+    {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
+    {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
+    {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
+    {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
+    {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
+    {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
+    {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
+    {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
+    {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
+    {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
+    {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
+    {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
+    {0}        {1}`/s{0}::::::::::::::::::{1}o/`
+    {0}            ``.---::::---..`
+  colors:
+    ansi:
+      - red
+      - white
+      - blue
+    chip: "#3C5CAA"
+Renpy:
+  type: programming
+  ascii: |
+    {0}       ++++++
+    {0}     ++++++++++
+    {0}    ++++++++++++
+    {0}   ++++++++++++++
+    {0}   ++++++++++++++++
+    {0}  +++++++++++++{1}***{0}+++
+    {0}  +++++++{1}***********
+    {0} +++++{1}**************
+    {0}+++{1}*****************
+    {0}++{1}********{2}#{1}**********
+    {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
+    {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
+    {1} *****{2}##########{1}*{2}#{1}***
+    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+    {1} *****{2}############{1}***
+    {1} *****{2}#####{5}--{2}####{1}***
+    {1}  **{4}#####{2}#######{1}**
+    {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
+    {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
+    {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
+    {4}    #####{6}++++++{4}#####
+    {4}     ###{6}++++++++{4}####
+    {6}     +++++++++++{4}####
+    {6}     ++++++++++{4}####
+  colors:
+    ansi:
+      - white
+      - red
+      - white
+      - blue
+      - yellow
+      - white
+      - magenta
+    hex:
+      - "#EADBCC"
+      - "#FF7F7F"
+      - "#FBEEE2"
+      - "#495F8E"
+      - "#FAE45A"
+      - "#FFFFFF"
+      - "#B5A396"
+    chip: "#FF7F7F"
+Ruby:
+  type: programming
+  ascii: |
+    {0}                    ###{2}###{3}###{4}#{1}.{4}#
+    {0}                  ###{2}###{3}###{4}##{1}.{5}##
+    {0}                ##{1}.{2}###{3}###{4}###{1}.{5}###
+    {0}              ###{2}##{1}.{3}###{4}###{5}#{1}.{5}#{6}###
+    {0}            ###{2}###{3}##{1}.{4}###{5}##{1}.{6}###{7}##
+    {0}          ###{2}###{3}###{4}##{1}.{5}###{1}.{6}##{7}####
+    {0}        ###{2}###{3}###{4}###{5}##{1}.{6}#{1}.{6}#{7}######
+    {0}      #{1}.{0}*{2}***{3}***{4}***{5}***{6}**{1}.{7}###{8}#####
+    {0}    ###{1}.{2}##{3}###{4}###{5}###{6}##{1}.{7}##{1}.{8}#######
+    {0}  ####{2}#{1}.{2}#{3}###{4}###{5}###{6}#{1}.{6}#{7}###{8}#{1}.{8}######
+    {0}#####{2}##{1}.{3}###{4}###{5}###{1}.{6}##{7}###{8}###{1}.{8}#####
+    {0} #####{2}#{1}.{2}#{3}###{4}###{1}.{5}###{6}###{7}###{8}##{1}.{8}####
+    {0}  #####{1}.{2}##{3}###{1}.{4}##{5}###{6}###{7}###{8}###{1}.{9}###
+    {0}   ####{1}.{3}###{1}.{4}##{5}###{6}###{7}###{8}###{9}###{1}.{9}##
+    {0}    ###{1}.{2}#{1}.{3}##{4}###{5}###{6}###{7}###{8}###{9}###{1}.{9}#
+  colors:
+    ansi:
+      - red
+      - black
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+    hex:
+      - "#F30301"
+      - "#555555"
+      - "#E80603"
+      - "#DC0904"
+      - "#D10C06"
+      - "#C50F07"
+      - "#BA1109"
+      - "#AE140A"
+      - "#A3170C"
+      - "#971A0D"
+    chip: "#701516"
+Rust:
+  type: programming
+  ascii: |
+    {0}                 R RR RR
+    {0}              R RRRRRRRR R          R
+    {0} R RR       R RRRRRRRRRRRRR R      RR
+    {0}rR RRR    R RRRRRRRRRRRRRRRRR R   RRR R
+    {0}RRR RR   RRRRRRRRRRRRRRRRRRRRRRR  RRRRR
+    {0} RRRRR  RRRRRRRRRRRRRRRRRRRRRRRR  RRRR
+    {0}  RRR RRRRRRRRRRRRRRRRRRRRRRRRRRRR RR
+    {0}    R  RRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRRR
+    {0}     RRRRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRR
+    {0}      RRRRRRRRRRR   RR   RRRRRRRRRR
+    {0}     RR==RRRRRRRRRRRRRRRRRRRRRR===RR
+    {0}     RR =  ==RRRRRRR  RRRRRR==  = RR
+    {0}      RR =     ===========     = RR
+    {0}       RR                        R
+    {0}        R                       R
+    {0}         R
+  colors:
+    ansi:
+      - red
+      - white
+    hex:
+      - "#E43717"
+      - "#FFFFFF"
+    chip: "#DEA584"
+Sass:
+  type: markup
+  ascii: |
+    {0}            ,wppbbbbbp,
+    {0}       ,wpb@KP"``` ``"T@b
+    {0}    ,pb@P"`            @@
+    {0}  ,b@P`               /@P
+    {0} p@b`               ,bK`
+    {0}{@@      'w,  ,,wpbP*`
+    {0} 0@b        ````      ,pp  ;@@
+    {0}  "0bw        ,bPK   ,K@L /PT@
+    {0}     "0b, ,,pbP  @b .b Tb{"  $bP"""*Tb,
+    {0}      ,/b@P &@  0@M.b  ,@K ,P @L      `b
+    {0}   ,pb"  Ib @@ &h@bP ,pCpP bb*`       /`
+    {0}  p@`   ,@` `bb` T"  ""`
+    {0}  @@w,pbK`
+    {0}  `***^
+  colors:
+    ansi:
+      - magenta
+    hex:
+      - "#CD6799"
+    chip: "#A53B70"
+Scala:
+  type: programming
+  ascii: |
+    {0}                        +
+    {0}                      +++
+    {0}          +++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++{1}-------
+    {0}+++{1}-------------------{0}+++
+    {1}        ---{0}++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++{1}-------
+    {0}+++{1}-------------------{0}+++
+    {1}        ---{0}++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++
+    {0}+++
+  colors:
+    ansi:
+      - red
+      - red
+    hex:
+      - "#DF3F3D"
+      - "#7F0C1D"
+    chip: "#C22D40"
+Scheme:
+  type: programming
+  ascii: |
+    {0}  ////
+    {0} //  //
+    {0} /    //
+    {0}       //
+    {0}        //
+    {0}         //
+    {0}        ////
+    {0}       /// //
+    {0}      ///   //
+    {0}     ///     //
+    {0}    ///       //    /
+    {0}   ///         //  //
+    {0}  ///           ////
+  colors:
+    ansi:
+      - white
+    hex:
+      - "#555555"
+    chip: "#1E4AEC"
+Sh:
+  type: programming
+  ascii: |
+    {0}              ___       ___        ___
+    {0}             ####      ####       ####
+    {0}            ####      ####       ####
+    {0}      _____####______####___    ####
+    {0}     #######################   ####
+    {0}    #######################   ####
+    {0}        ####      ####       ####
+    {0}       ####      ####       ####
+    {0}  ____####______####____   ####
+    {0} #######################  ####
+    {0}#######################  ___
+    {0}   ####      ####       ####
+    {0}  ####      ####       ####
+    {0} ####      ####       ####
+  colors:
+    ansi:
+      - green
+    chip: "#89E051"
+  serialization: shell
+Solidity:
+  type: programming
+  ascii: |
+    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+    {0}MMMMMMMMMMMM{2}SS{3}SSSSSSSSSS{4}SS{0}MMMMMMMMMMMM
+    {0}MMMMMMMMMMM{2}SSSS{3}SSSSSSSS{4}SSSS{0}MMMMMMMMMMM
+    {0}MMMMMMMMMM{2}SSSSSS{3}SSSSSS{4}SSSSSS{0}MMMMMMMMMM
+    {0}MMMMMMMMM{2}SSSSSSSS{3}SSSS{4}SSSSSSSS{0}MMMMMMMMM
+    {0}MMMMMMMM{2}SSSSSSSSSS{3}SS{4}SSSSSSSSSS{0}MMMMMMMM
+    {0}MMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMMMMMMMMMMMMMM
+    {0}MMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMMMMMMMMMMMMMM
+    {0}MMMMMMMMMM{1}SSSSSS{0}MMMMMMMM{1}SS{0}MMMMMMMMMMMM
+    {0}MMMMMMMMMMM{1}SSSS{0}MMMMMMMM{1}SSSS{0}MMMMMMMMMMM
+    {0}MMMMMMMMMMMM{1}SS{0}MMMMMMMM{1}SSSSSS{0}MMMMMMMMMM
+    {0}MMMMMMMMMMMMMMMMMMMMM{1}SSSSSSSS{0}MMMMMMMMM
+    {0}MMMMMMMMMMMMMMMMMMMM{1}SSSSSSSSSS{0}MMMMMMMM
+    {0}MMMMMMMM{4}SSSSSSSSSS{3}SS{2}SSSSSSSSSS{0}MMMMMMMM
+    {0}MMMMMMMMM{4}SSSSSSSS{3}SSSS{2}SSSSSSSS{0}MMMMMMMMM
+    {0}MMMMMMMMMM{4}SSSSSS{3}SSSSSS{2}SSSSSS{0}MMMMMMMMMM
+    {0}MMMMMMMMMMM{4}SSSS{3}SSSSSSSS{2}SSSS{0}MMMMMMMMMMM
+    {0}MMMMMMMMMMMM{4}SS{3}SSSSSSSSSS{2}SS{0}MMMMMMMMMMMM
+    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+    {0}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+  colors:
+    ansi:
+      - white
+      - black
+      - black
+      - black
+      - black
+    hex:
+      - "#FFFFFF"
+      - "#2E2E2E"
+      - "#1A1A1A"
+      - "#333333"
+      - "#515151"
+    chip: "#AA6746"
+Sql:
+  type: data
+  ascii: |
+    {0}   _..------.._
+    {0}.-~            ~-.
+    {0}|                |
+    {0}|"-..________..-"|
+    {0}|                | {1} ____   ___  _
+    {0}|                | {1}/ ___| / _ \| |
+    {0}|"-..________..-"| {1}\___ \| | | | |
+    {0}|                | {1} ___) | |_| | |___
+    {0}|                | {1}|____/ \__\_|_____|
+    {0}|"-..________..-"|
+    {0}|                |
+    {0}|                |
+    {0} "-..________..-"
+  colors:
+    ansi:
+      - cyan
+      - yellow
+    chip: "#E38C00"
+Svelte:
+  type: markup
+  ascii: |
+    {0}SSSSSSSSSSSSSSSSSS{1}sssssssssss{0}SSSSSSSS
+    {0}SSSSSSSSSSSSSSS{1}sssssssssssssssss{0}SSSSS
+    {0}SSSSSSSSSSS{1}sssssssssss{0}SSSS{1}ssssssss{0}SSS
+    {0}SSSSSSSS{1}ssssssssss{0}SSSSSSSSSSS{1}sssssss{0}S
+    {0}SSSSS{1}sssssssss{0}SSSSSSSSSSSSSSSSS{1}sssss{0}S
+    {0}SSS{1}ssssssss{0}SSSSSSSSSS{1}sssss{0}SSSSSS{1}ssss{0}S
+    {0}S{1}sssssss{0}SSSSSSSSSS{1}sssssssss{0}SSSSS{1}ssss{0}S
+    {0}S{1}sssss{0}SSSSSSSSS{1}sssssssssssssssssssss{0}S
+    {0}S{1}sssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}ssssssssss{0}S
+    {0}S{1}sssss{0}SSSSS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SS
+    {0}S{1}sssss{0}SSSSSSSSSSSSSSSSSSSSSSSSS{1}sssss{0}S
+    {0}SS{1}ssssss{0}SSSSSSSSSSSS{1}ssssss{0}SSSSS{1}sssss{0}S
+    {0}S{1}ssssssssss{0}SSSSSS{1}ssssssss{0}SSSSSS{1}sssss{0}S
+    {0}S{1}sssssssssssssssssssss{0}SSSSSSSSS{1}sssss{0}S
+    {0}S{1}ssss{0}SSSSS{1}sssssssss{0}SSSSSSSSSS{1}ssssss{0}SS
+    {0}S{1}ssss{0}SSSSSS{1}sssss{0}SSSSSSSSSS{1}ssssssss{0}SSS
+    {0}S{1}sssss{0}SSSSSSSSSSSSSSSSS{1}sssssssss{0}SSSSS
+    {0}S{1}sssssss{0}SSSSSSSSSSS{1}ssssssssss{0}SSSSSSSS
+    {0}SSS{1}ssssssss{0}SSSS{1}sssssssssss{0}SSSSSSSSSSS
+    {0}SSSSS{1}sssssssssssssssss{0}SSSSSSSSSSSSSSS
+    {0}SSSSSSSS{1}sssssssssss{0}SSSSSSSSSSSSSSSSSS
+  colors:
+    ansi:
+      - red
+      - white
+    hex:
+      - "#FF3C00"
+      - "#FFFFFF"
+    chip: "#FF3E00"
+Svg:
+  type: data
+  ascii: |
+    {0}                 ......
+    {0}               ....{1}--{0}....
+    {0}        ....  {0}...{1}------{0}...  {0}....
+    {0}     ............{1}------{0}............
+    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+    {0}  ..........{1}----------------{0}..........
+    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+    {0}...{1}----------------------------------{0}...
+    {0}...{1}----------------------------------{0}...
+    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+    {0}  ..........{1}----------------{0}..........
+    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+    {0}     ............{1}------{0}............
+    {0}        ....  {0}...{1}------{0}...  {0}....
+    {0}               ....{1}--{0}....
+    {0}                 ......
+  colors:
+    ansi:
+      - white
+      - yellow
+    hex:
+      - "#FFFFFF"
+      - "#EBA71F"
+    chip: "#FF9900"
+Swift:
+  type: programming
+  ascii: |
+    {0}                         :
+    {0}                          ::
+    {1}                           :::
+    {1}          :                ::::
+    {2}     :     :                ::::
+    {2}      :     ::              :::::
+    {3}       ::    :::             :::::
+    {3}        :::    :::           ::::::
+    {4}          :::   :::          :::::::
+    {4}           ::::  ::::        :::::::
+    {5}            :::::::::::      ::::::::
+    {5}              :::::::::::   :::::::::
+    {5}               ::::::::::::::::::::::
+    {6}                :::::::::::::::::::::
+    {6}                  :::::::::::::::::::
+    {6}:                   :::::::::::::::::
+    {7} ::                   ::::::::::::::
+    {7}   ::::              ::::::::::::::::
+    {7}    ::::::::::::::::::::::::::::::::::
+    {8}      :::::::::::::::::::::::::::::::::
+    {8}        :::::::::::::::::::::::::::::::
+    {8}          ::::::::::::::::::::::   :::::
+    {9}             .::::::::::::::.         ::
+    {9}
+  colors:
+    ansi:
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+      - red
+    hex:
+      - "#F88134"
+      - "#F97732"
+      - "#F96D30"
+      - "#FA632E"
+      - "#FA592C"
+      - "#FB502A"
+      - "#FB4628"
+      - "#FC3C26"
+      - "#FC3224"
+      - "#FD2822"
+    chip: "#F05138"
+SystemVerilog:
+  type: programming
+  ascii: |
+    {0}     _.._   _.._   _.._   _.._
+    {0}     _.._   _.._   _.._   _.._
+    {0} .................................
+    {0}.               {1}----              {0}.
+    {0}.          {1}--------------         {0}.
+    {0}.        {1}----       ---------     {0}.
+    {0}.      {1}---                -----   {0}.
+    {0}.     {1}-    #####  #     #  -----  {0}.
+    {0}.         {1}#     # #     #         {0}.
+    {0}.         {1}#       #     #         {0}.
+    {0}.          {1}#####  #     #         {0}.
+    {0}.               {1}#  #   #          {0}.
+    {0}.         {1}#     #   # #           {0}.
+    {0}.  {1}-----   #####     #      -     {0}.
+    {0}.   {1}-----                ---      {0}.
+    {0}.     {1}---------       ----        {0}.
+    {0}.         {1}--------------          {0}.
+    {0}.              {1}----               {0}.
+    {0} .................................
+    {0}     _.._   _.._   _.._   _.._
+    {0}     _.._   _.._   _.._   _.._
+  colors:
+    ansi:
+      - blue
+      - white
+    chip: "#DAE1C2"
+Tcl:
+  type: programming
+  ascii: |
+    {0}          //
+    {2}      . /{0}////
+    {2}     /{0}/////// .
+    {2}     //{0}//{1}/{0}/////
+    {2}    //{0}//{1}/{0}/////
+    {2}  . //{0}/{1}//{0}////
+    {2}  //{0}//{1}//{0}////
+    {2}  //{0}/{1}//{0}/////
+    {2}  /{0}//{1}//{0}////
+    {2}  /{0}/{1}//{0}////  .
+    {2}. /{0}/{1}//{0}/////
+    {2} /{0}/{1}//{0}////
+    {2}  /{1}//{0}//
+    {0}   {1}//
+    {0}   {1}//
+    {0}    {1}/
+    {0}     {1}/
+  colors:
+    ansi:
+      - blue
+      - white
+      - cyan
+    chip: "#E4CC98"
+Tex:
+  type: markup
+  ascii: |
+    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+    {0}$$$            $$$$$$$      $$$$$     $$
+    {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
+    {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
+    {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
+    {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
+    {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
+    {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
+    {0}$$$$$        $$  $$$$$     $$$$$$     $$
+    {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+  colors:
+    ansi:
+      - white
+      - black
+    chip: "#3D6117"
+Toml:
+  type: data
+  ascii: |
+    {0}[[[[[[[[                    ]]]]]]]]
+    {0}[[[[[[[[                    ]]]]]]]]
+    {0}[[[[                            ]]]]
+    {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
+    {0}[[[[      {1}TTTTTTTTTTTTTTTT{0}      ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[            {1}TTTT{0}            ]]]]
+    {0}[[[[[[[[                    ]]]]]]]]
+    {0}[[[[[[[[                    ]]]]]]]]
+  colors:
+    ansi:
+      - red
+      - white
+    hex:
+      - "#9C4221"
+      - "#FFFFFF"
+    chip: "#9C4221"
+Tsx:
+  type: programming
+  ascii: |
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSXTSX
+    {0}TS{2}XTSXTSXTS{0}XTSX{2}TSXTSX{0}TSXTS{1}X{2}TSX{1}TSX{2}TSX{1}TSX
+    {0}TSXTS{2}XTS{0}XTSXTS{2}XTS{0}XTSXTSXT{1}SXT{2}SXT{1}S{2}XTS{1}XTSX
+    {0}TSXTS{2}XTS{0}XTSXTSX{2}TSX{0}TSXTSX{1}TSXTSX{2}TSX{1}TSXTSX
+    {0}TSXTS{2}XTS{0}XTSXTSXT{2}SXT{0}SXTS{1}XTSXTS{2}XTSXT{1}TSTSX
+    {0}TSXTS{2}XTS{0}XTSXTSXTS{2}XTS{0}XT{1}SXTSXT{2}SXT{1}S{2}XTS{1}XTSX
+    {0}TSXTS{2}XTS{0}XTSXT{2}SXTSXT{0}SX{1}TSXTSX{2}TSX{1}TSX{2}TSX{1}TSX
+    {0}TSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSXTSXTSXTSX
+    {0}TSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSXTSXTSXTSX
+  colors:
+    ansi:
+      - cyan
+      - magenta
+      - white
+    hex:
+      - "#007ACC"
+      - "#8A53A6"
+      - "#FFFFFF"
+    chip: "#2B7489"
+TypeScript:
+  type: programming
+  ascii: |
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TSTS{1}TSTSTS{0}TSTSTS
+    {0}TSTSTSTS{1}TSTSTSTSTSTSTS{0}TS{1}TSTSTSTSTS{0}TSTS
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTS{1}TSTST{0}TSTSTSTST
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTS{0}TSTSTSTS
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTST{1}STSTS{0}TSTSTS
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTST{1}STSTS{0}TSTS
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSTSTSTS{1}TSTST{0}TST
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTST{1}STSTSTSTST{0}STS
+    {0}TSTSTSTSTSTST{1}STST{0}STSTSTSSTS{1}TSTSTS{0}TSTST
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+    {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
+  colors:
+    ansi:
+      - cyan
+      - white
+    hex:
+      - "#007ACC"
+      - "#FFFFFF"
+    chip: "#2B7489"
+Vala:
+  type: programming
+  ascii: |
+    {0} ###################################
+    {0}#####################################
+    {0}#####################################
+    {0}############{1}######{0}##########{1}##{0}#######
+    {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
+    {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
+    {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
+    {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
+    {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
+    {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
+    {0}##############{1}####{0}###{1}##{0}##############
+    {0}##############{1}####{0}##{1}##{0}###############
+    {0}##############{1}####{0}#{1}##{0}################
+    {0}##############{1}######{0}#################
+    {0}##############{1}#####{0}##################
+    {0}##############{1}####{0}###################
+    {0}#####################################
+    {0}#####################################
+    {0} ###################################
+  colors:
+    ansi:
+      - magenta
+      - white
+    chip: "#A56DE2"
+Verilog:
+  type: programming
+  ascii: |
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}     _......................._
+    {0}    _.{1}-----             -----{0}._
+    {0}_..._.{1} ---               --- {0}._..._
+    {0}_..._.{1}  ---             ---  {0}._..._
+    {0}    _.{1}   ---           ---   {0}._
+    {0}    _.{1}    ---         ---    {0}._
+    {0}_..._.{1}     ---       ---     {0}._..._
+    {0}_..._.{1}      ---     ---      {0}._..._
+    {0}    _.{1}       ---   ---       {0}._
+    {0}    _.{1}        --- ---        {0}._
+    {0}_..._.{1}         -----         {0}._..._
+    {0}_..._.{1}          ---          {0}._..._
+    {0}    _.{1}           -           {0}._
+    {0}     _......................._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+  colors:
+    ansi:
+      - white
+      - magenta
+    chip: "#b2b7f8"
+Vhdl:
+  type: programming
+  ascii: |
+    {0}        |  |  |  |
+    {0}       {1}------------
+    {0}    --{1}|    {2}----    {1}|{0}--
+    {0}    --{1}|   {2}|    |   {1}|{0}--
+    {0}    --{1}|   {2}|    |   {1}|{0}--
+    {0}    --{1}|    {2}----    {1}|{0}--
+    {0}       {1}------------
+    {0}        |  |  |  |
+    {2}__     ___   _ ____  _
+    {2}\ \   / / | | |  _ \| |
+    {2} \ \ / /| |_| | | | | |
+    {2}  \ V / |  _  | |_| | |___
+    {2}   \_/  |_| |_|____/|_____|
+  colors:
+    ansi:
+      - yellow
+      - green
+      - white
+    chip: "#ADB2CB"
+VimScript:
+  type: programming
+  ascii: |
+    {1}     ________{0}  ++    {1}________
+    {1}    /{2}VVVVVVVV{1}\{0}++++  {1}/{2}VVVVVVVV{1}\
+    {1}    \{2}VVVVVVVV{1}/{0}++++++{1}\{2}VVVVVVVV{1}/
+    {1}     |{2}VVVVVV{1}|{0}++++++++{1}/{2}VVVVV{1}/'
+    {1}     |{2}VVVVVV{1}|{0}++++++{1}/{2}VVVVV{1}/'
+    {0}    +{1}|{2}VVVVVV{1}|{0}++++{1}/{2}VVVVV{1}/'{0}+
+    {0}  +++{1}|{2}VVVVVV{1}|{0}++{1}/{2}VVVVV{1}/'{0}+++++
+    {0}+++++{1}|{2}VVVVVV{1}|/{2}VVV{1}___{0}++++++++++
+    {0}  +++{1}|{2}VVVVVVVVVV{1}/{2}##{1}/ {0}+{1}_{0}+{1}_{0}+{1}_{0}+{1}_
+    {0}    +{1}|{2}VVVVVVVVV{1}___ {0}+{1}/{2}#{1}_{2}#{1},{2}#{1}_{2}#{1},\
+    {1}     |{2}VVVVVVV{1}//{2}##{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/'/{2}#{1}/
+    {1}     |{2}VVVVV{1}/'{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/
+    {1}     |{2}VVV{1}/'{0}++{1}/{2}#{1}/{0}+{1}/{2}#{1}/ /{2}#{1}/ /{2}#{1}/
+    {1}     '{2}V{1}/'  /{2}##{1}//{2}##{1}//{2}##{1}//{2}###{1}/
+    {0}              ++
+  colors:
+    ansi:
+      - green
+      - black
+      - white
+    chip: "#199F4B"
+VisualBasic:
+  type: programming
+  ascii: |
+    {1}             ::::::::::
+    {1}         ::::::::::::::::::
+    {1}      ::::::::::::::::::::::::
+    {0}    &&&&{1}::::::::::::::::::::::::
+    {0}  &&&&&&&&{1}::::::::::::::::::::::::
+    {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
+    {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
+    {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
+    {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
+    {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
+    {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
+    {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
+    {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
+    {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
+    {0}      &&&&&&&&&&&&&&&&&&&&&&&&
+    {0}         &&&&&&&&&&&&&&&&&&
+    {0}             &&&&&&&&&&
+  colors:
+    ansi:
+      - blue
+      - blue
+      - white
+    hex:
+      - "#195F97"
+      - "#004E8C"
+      - "#FFFFFF"
+    chip: "#945db7"
+Vue:
+  type: programming
+  ascii: |
+    {0}VUE{1}\\\\\                /////{0}VUE
+    {0} VUE{1}\\\\\              /////{0}VUE
+    {0}  VUE{1}\\\\\            /////{0}VUE
+    {0}   VUE{1}\\\\\          /////{0}VUE
+    {0}    VUE{1}\\\\\        /////{0}VUE
+    {0}     VUE{1}\\\\\      /////{0}VUE
+    {0}      VUE{1}\\\\\    /////{0}VUE
+    {0}       VUE{1}\\\\\  /////{0}VUE
+    {0}        VUE{1}\\\\\/////{0}VUE
+    {0}         VUE{1}\\\\////{0}VUE
+    {0}          VUE{1}\\\///{0}VUE
+    {0}           VUE{1}\\//{0}VUE
+    {0}            VUE{1}||{0}VUE
+    {0}             VUEVUE
+    {0}              VUEV
+  colors:
+    ansi:
+      - green
+      - blue
+    chip: "#199F4B"
+WebAssembly:
+  type: programming
+  ascii: |
+    {0}:::::::::::             ::::::::::::
+    {0}::::::::::::           :::::::::::::
+    {0}:::::::::::::::     ::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
+    {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
+    {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
+    {0}::::::::::::::::::::::::::::::::::::
+  colors:
+    ansi:
+      - magenta
+      - white
+    hex:
+      - "#654FF0"
+      - "#FFFFFF"
+    chip: "#04133B"
+Wolfram:
+  type: programming
+  ascii: |
+    {0}             OOOOOOOOOOOOOO
+    {0}         OOOOOO  OOOOOOOOOOOOOO
+    {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
+    {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
+    {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
+    {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
+    {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
+    {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
+    {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
+    {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+    {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
+    {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
+    {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
+    {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
+    {1}   WWWWW..............  {0}.........OOOOO
+    {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+    {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
+    {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
+    {1}         WWWWWWWWWWWWWWWW{0}     OO
+    {1}             WWWWWWWWWWWWW{0}
+  colors:
+    ansi:
+      - red
+      - white
+      - black
+    hex:
+      - "#FF0A01"
+      - "#FFFFFF"
+      - "#000000"
+    chip: "#DD1100"
+Xaml:
+  type: data
+  ascii: |
+    {0}        :::::::::::::::::::::..
+    {0}       :::{1}------{0}::::::::::::....
+    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+    {0}:::{1}------{0}::::::::::::.........{1}------{0}...
+    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+    {0}       :::{1}------{0}::::::::::::....
+    {0}        :::::::::::::::::::::..
+  colors:
+    ansi:
+      - blue
+      - white
+    hex:
+      - "#3378CE"
+      - "#FFFFFF"
+    chip: "#0060AC"
+Xml:
+  type: data
+  ascii: |
+    {0}  __{1} __  _  __ __  _    {2}   __{0}__
+    {0} / /{1} \ \/  |  \  \| |   {2}  / /{0}\ \
+    {0}< < {1}  \ \  |     || |_  {2} / / {0} > >
+    {0} \_\{1} _/\_\ |_|_|_||___| {2}/_/  {0}/_/
+  colors:
+    ansi:
+      - yellow
+      - white
+      - green
+    chip: "#0060AC"
+XSL:
+  type: programming
+  ascii: |
+    {0}                       :::
+    {0}       :::::          :::  :::::
+    {0}     :::::           :::     :::::
+    {0}   :::::            :::        :::::
+    {0} :::::             :::           :::::
+    {0}:::::             :::             :::::
+    {0} :::::           :::             :::::
+    {0}   :::::        :::            :::::
+    {0}     :::::     :::           :::::
+    {0}       :::::  :::          :::::
+    {0}             :::
+  colors:
+    ansi:
+      - cyan
+    chip: "#EB8CEB"
+Yaml:
+  type: data
+  ascii: |
+    {0}__    __  __   __    __   _
+    {0}\ \  / / /  | |  \  /  | | |
+    {0} \ \/ / / | | | \ \/ / | | |.
+    {0}  \  / / /| | | |\__/| | | | .
+    {0}  / / / / | | | |    | | | |  .
+    {0} / / / /  | | | |    | | | |___.
+    {0}/_/ /_/   |_| |_|    |_| |______\
+  colors:
+    ansi:
+      - white
+    chip: "#CB171E"
+Zig:
+  type: programming
+  ascii: |
+    {0}                                     z
+    {0}                                  zzz
+    {0}                             zzzzzz
+    {0}zzzzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzz
+    {0}zzzzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzz
+    {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
+    {0}zzzzz                zzzzzz      zzzzz
+    {0}zzzzz              zzzzzz        zzzzz
+    {0}zzzzz            zzzzzz          zzzzz
+    {0}zzzzz          zzzzzz            zzzzz
+    {0}zzzzz        zzzzzz              zzzzz
+    {0}zzzzz      zzzzzz                zzzzz
+    {0}zzzzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzz
+    {0}zzzzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzz
+    {0}zzz  zzzzzzzzzzzzzzzzzzzz  zzzzzzzzzzz
+    {0}   zzzzzz
+    {0} zzz
+    {0}z
+  colors:
+    ansi:
+      - yellow
+    chip: "#EC915C"
+Zsh:
+  type: programming
+  ascii: |
+    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+    {0}ZSHZ     ZSHZSHZSHZSHZSHZSHZSHZS
+    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
+    {0}ZSHZSHZS     SHZSHZSHZSHZSHZSHZS
+    {0}ZSHZSHZSHZ     HZSHZSHZSHZSHZSHZ
+    {0}ZSHZSHZSHZSH     ZSHZSHZSHZSHZSH
+    {0}ZSHZSHZSHZ     SHZSHZSHZSHZSHZSH
+    {0}ZSHZSHZS     ZSHZSHZSHZSHZSHZSHZ
+    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
+    {0}ZSHZ     ZSHZSH             SHZS
+    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
+  colors:
+    ansi:
+      - white
+    chip: "#89E051"

From 541fb89f4208d82a4f88de312e55f5093b52b9e6 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 18:24:59 +0000
Subject: [PATCH 05/35] Comment-out/rename languages

Languages that aren't yet supported are commented out.
---
 languages.yaml | 2028 +++++++++++++++++++++++-------------------------
 1 file changed, 966 insertions(+), 1062 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index 281624412..18891c68b 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -16,7 +16,7 @@ Abap:
       - "#1B387D"
       - "#EEEEEE"
     chip: "#E8274B"
-ABNF:
+Abnf:
   type: data
   ascii: |
     {0}          ______
@@ -79,23 +79,24 @@ Ada:
       - "#0018C9"
       - "#0C0A7C"
     chip: "#02F88C"
-Agda:
-  type: programming
-  ascii: |
-    {0}   / / /           /  /
-    {0}  / / /           /  / /
-    {0} / o o           /    / /
-    {0}/____           /      /
-    {0}     |                 |
-    {0}     |                 |
-    {0}     ;                 ;
-    {0}      \               /
-    {0}       '.           .'
-    {0}         '-._____.-'
-  colors:
-    ansi:
-      - white
-    chip: "#315665"
+# TODO
+# Agda:
+#   type: programming
+#   ascii: |
+#     {0}   / / /           /  /
+#     {0}  / / /           /  / /
+#     {0} / o o           /    / /
+#     {0}/____           /      /
+#     {0}     |                 |
+#     {0}     |                 |
+#     {0}     ;                 ;
+#     {0}      \               /
+#     {0}       '.           .'
+#     {0}         '-._____.-'
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#315665"
 Arduino:
   type: programming
   ascii: |
@@ -138,7 +139,7 @@ Assembly:
       - yellow
       - green
     chip: "#6E4C13"
-AutoHotKey:
+Autohotkey:
   type: programming
   ascii: |
     {1} .----------------.
@@ -160,31 +161,6 @@ AutoHotKey:
       - "#FFFFFF"
       - "#119810"
     chip: "#6594B9"
-Bash:
-  type: programming
-  ascii: |
-    {0}             _._
-    {0}         _.-'   '-._
-    {0}     _.-'           '-._
-    {0} _.-'                   '-._
-    {0}|                        _,-|
-    {0}|                    _,-'+++|
-    {0}|                _,-'+++++++|
-    {0}|             ,-'+++++++++++|
-    {0}|             |++++ ++++++++|
-    {0}|             |+++   +++++++|
-    {0}|             |++  +++++++++|
-    {0}|             |++++  +++{1}**{0}++|
-    {0}|             |++   ++{1}**{0}++++|
-    {0}'-,_          |+++ ++++++_,-'
-    {0}    '-,_      |++++++_,-'
-    {0}        '-,_  |++_,-'
-    {0}            '-|-'
-  colors:
-    ansi:
-      - white
-      - green
-    chip: "#89E051"
 C:
   type: programming
   ascii: |
@@ -281,30 +257,31 @@ Clojure:
       - cyan
       - green
     chip: "#DB5855"
-CMake:
-  type: programming
-  ascii: |
-    {0}            ;e{2}`
-    {0}           ;QD{2}?`
-    {0}          ;B#R{2}1r`
-    {0}         ;WRMK{2}S|r`
-    {0}        :O9KOK{2}S\\*`
-    {0}       :keXPk6{2}Zc7v|`
-    {0}      :ajyoaZe{3}m{2}JJ{]\`
-    {0}     :]z1x}f9{3}@@{2}yujSoc`
-    {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
-    {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
-    {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
-    {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
-    {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
-  colors:
-    ansi:
-      - blue
-      - green
-      - red
-      - black
-    chip: "#DA3434"
-CoffeeScript:
+# TODO
+# CMake:
+#   type: programming
+#   ascii: |
+#     {0}            ;e{2}`
+#     {0}           ;QD{2}?`
+#     {0}          ;B#R{2}1r`
+#     {0}         ;WRMK{2}S|r`
+#     {0}        :O9KOK{2}S\\*`
+#     {0}       :keXPk6{2}Zc7v|`
+#     {0}      :ajyoaZe{3}m{2}JJ{]\`
+#     {0}     :]z1x}f9{3}@@{2}yujSoc`
+#     {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
+#     {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
+#     {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
+#     {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
+#     {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
+#   colors:
+#     ansi:
+#       - blue
+#       - green
+#       - red
+#       - black
+#     chip: "#DA3434"
+Coffeescript:
   type: programming
   ascii: |
     {0}           #####    ######
@@ -325,7 +302,7 @@ CoffeeScript:
     ansi:
       - red
     chip: "#244776"
-ColdFusion:
+Coldfusion:
   type: programming
   ascii: |
     {0}CfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCf
@@ -380,7 +357,7 @@ Coq:
       - "#BF8C5E"
       - "#D5BE99"
     chip: "#D0B68C"
-Cpp:
+CPlusPlus:
   type: programming
   ascii: |
     {0}                 ++++++
@@ -568,7 +545,7 @@ Dart:
       - "#42DFCD"
       - "#01597D"
     chip: "#00B4AB"
-Dockerfile:
+Docker:
   type: programming
   ascii: |
     {2}                  ##   {0}      .
@@ -585,7 +562,7 @@ Dockerfile:
       - white
       - cyan
     chip: "#384D54"
-Elisp:
+EmacsLisp:
   type: programming
   ascii: |
     {0}         ':r\iv7i|r:'
@@ -722,56 +699,34 @@ Erlang:
     ansi:
       - red
     chip: "#B83998"
-Fish:
-  type: programming
-  ascii: |
-    {0}                 ___
-    {0}  ___======____=-{1}-{0}-=)
-    {0}/T            \_{1}--={0}==)
-    {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
-    {0} \      / )J~~    \{1}-={0})
-    {0}  \\___/  )JJ~{1}~~{0}   \)
-    {0}   \_____/JJJ~~{1}~~{0}    \
-    {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
-    {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
-    {0}  (\\)  ({1}\{0}\\)_           {1}\==__
-    {0}   \V    \\\) ===_____   {1}\\\\{0}\\
-    {0}          \V)     \_) \\{1}\\JJ\{0}J\)
-    {0}                      /J{1}\J{0}T\JJJJ)
-    {0}                      (JJJ| \UUU)
-    {0}                       (UU)
-  colors:
-    ansi:
-      - red
-      - yellow
-    chip: "#4AAE47"
-Forth:
-  type: programming
-  ascii: |
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::          ::::::
-    {0}::::::          ::::::::         :::::::
-    {0}::::::::::::::::::::::::::     :::::::::
-    {0}::::::::::::::::::::::::     :::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::::::
-  colors:
-    ansi:
-      - red
-    chip: "#341708"
+# TODO
+# Forth:
+#   type: programming
+#   ascii: |
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::          ::::::
+#     {0}::::::          ::::::::         :::::::
+#     {0}::::::::::::::::::::::::::     :::::::::
+#     {0}::::::::::::::::::::::::     :::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::::::
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#341708"
 FortranLegacy:
   type: programming
   ascii: |
@@ -858,7 +813,7 @@ FSharp:
       - cyan
     chip: "#B845FC"
   serialization: f#
-GdScript:
+Gdscript:
   type: programming
   ascii: |
     {0}         _.aMb      dMe._
@@ -887,36 +842,37 @@ GdScript:
       - "#458DC0"
       - "#FFFFFF"
     chip: "#355570"
-Glsl:
-  type: programming
-  ascii: |
-    {0}         ,,@@@@@@@@@@@@@@@@@..
-    {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
-    {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
-    {0}   ,@@@@@@@@'              `@@@@@@@.
-    {0} ,@@@@@@@@'                    `@@@@.
-    {0},@@@@@@@'                         `@@.
-    {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
-    {0}@@@@@@  {1}/:::::||:|      /:::::||:|
-    {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
-    {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
-    {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
-    {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
-    {0}@@@@@@@.                            ,@
-    {0}`@@@@@@@.                         ,@@'
-    {0} `@@@@@@@@.                    ,@@@@'
-    {0}   `@@@@@@@@.              ,@@@@@@@'
-    {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
-    {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
-    {0}         ``@@@@@@@@@@@@@@@@@''
-  colors:
-    ansi:
-      - blue
-      - magenta
-    hex:
-      - "#5487a6"
-      - "#bc258e"
-    chip: "#5686a5"
+# TODO
+# Glsl:
+#   type: programming
+#   ascii: |
+#     {0}         ,,@@@@@@@@@@@@@@@@@..
+#     {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
+#     {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
+#     {0}   ,@@@@@@@@'              `@@@@@@@.
+#     {0} ,@@@@@@@@'                    `@@@@.
+#     {0},@@@@@@@'                         `@@.
+#     {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
+#     {0}@@@@@@  {1}/:::::||:|      /:::::||:|
+#     {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
+#     {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
+#     {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
+#     {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
+#     {0}@@@@@@@.                            ,@
+#     {0}`@@@@@@@.                         ,@@'
+#     {0} `@@@@@@@@.                    ,@@@@'
+#     {0}   `@@@@@@@@.              ,@@@@@@@'
+#     {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
+#     {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
+#     {0}         ``@@@@@@@@@@@@@@@@@''
+#   colors:
+#     ansi:
+#       - blue
+#       - magenta
+#     hex:
+#       - "#5487a6"
+#       - "#bc258e"
+#     chip: "#5686a5"
 Go:
   type: programming
   ascii: |
@@ -1039,103 +995,106 @@ Haskell:
       - "#5E5086"
       - "#8F4E8B"
     chip: "#5E5086"
-Haxe:
-  type: programming
-  ascii: |
-    {0}#############              {2}@@@@@@@@@@@@@
-    {0}#################      {2}@@@@@@@@@@@@@@@@@
-    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-    {0}#################      {2}@@@@@@@@@@@@@@@@@
-    {0}#############              {2}@@@@@@@@@@@@@
-  colors:
-    ansi:
-      - yellow
-      - yellow
-      - yellow
-    hex:
-      - "#FAB20B"
-      - "#F69912"
-      - "#F47216"
-    chip: "#DF7900"
-Hcl:
-  type: programming
-  ascii: |
-    {0}::
-    {0}::::
-    {0}::::::
-    {0}::::::::
-    {0}::::::::::
-    {0}:::::::::: ::        {1}         ..
-    {0}  :::::::: ::::      {1}       ....
-    {0}    :::::: ::::::    {1}     ......
-    {0}      :::: ::::::::  {1}   ........
-    {0}        :: ::::::::::{1} ..........
-    {0}           ::::::::::{1} ..........
-    {0}             ::::::::{1} ........
-    {0}           ::  ::::::{1} ......
-    {0}           ::::  ::::{1} ....
-    {0}           ::::::  ::{1} ..
-    {0}           ::::::::
-    {0}           ::::::::::
-    {0}           ::::::::::
-    {0}             ::::::::
-    {0}               ::::::
-    {0}                 ::::
-    {0}                   ::
-  colors:
-    ansi:
-      - magenta
-      - magenta
-    hex:
-      - "#5F43E9"
-      - "#4040B2"
-    chip: "#AACE60"
-Hlsl:
-  type: programming
-  ascii: |
-    {0}████████████████  {1}████████████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████      █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████  █████████
-    {0}█████  ██  █████  {1}█████      █████
-    {0}████████████████  {1}████████████████
+# TODO
+# Haxe:
+#   type: programming
+#   ascii: |
+#     {0}#############              {2}@@@@@@@@@@@@@
+#     {0}#################      {2}@@@@@@@@@@@@@@@@@
+#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+#     {0}#################      {2}@@@@@@@@@@@@@@@@@
+#     {0}#############              {2}@@@@@@@@@@@@@
+#   colors:
+#     ansi:
+#       - yellow
+#       - yellow
+#       - yellow
+#     hex:
+#       - "#FAB20B"
+#       - "#F69912"
+#       - "#F47216"
+#     chip: "#DF7900"
+# TODO
+# Hcl:
+#   type: programming
+#   ascii: |
+#     {0}::
+#     {0}::::
+#     {0}::::::
+#     {0}::::::::
+#     {0}::::::::::
+#     {0}:::::::::: ::        {1}         ..
+#     {0}  :::::::: ::::      {1}       ....
+#     {0}    :::::: ::::::    {1}     ......
+#     {0}      :::: ::::::::  {1}   ........
+#     {0}        :: ::::::::::{1} ..........
+#     {0}           ::::::::::{1} ..........
+#     {0}             ::::::::{1} ........
+#     {0}           ::  ::::::{1} ......
+#     {0}           ::::  ::::{1} ....
+#     {0}           ::::::  ::{1} ..
+#     {0}           ::::::::
+#     {0}           ::::::::::
+#     {0}           ::::::::::
+#     {0}             ::::::::
+#     {0}               ::::::
+#     {0}                 ::::
+#     {0}                   ::
+#   colors:
+#     ansi:
+#       - magenta
+#       - magenta
+#     hex:
+#       - "#5F43E9"
+#       - "#4040B2"
+#     chip: "#AACE60"
+# TODO
+# Hlsl:
+#   type: programming
+#   ascii: |
+#     {0}████████████████  {1}████████████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████      █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████  █████████
+#     {0}█████  ██  █████  {1}█████      █████
+#     {0}████████████████  {1}████████████████
 
-    {2}████████████████  {3}████████████████
-    {2}█████      █████  {3}█████  █████████
-    {2}█████  █████████  {3}█████  █████████
-    {2}█████      █████  {3}█████  █████████
-    {2}█████████  █████  {3}█████  █████████
-    {2}█████      █████  {3}█████      █████
-    {2}████████████████  {3}████████████████
-  colors:
-    ansi:
-      - red
-      - green
-      - blue
-      - yellow
-    hex:
-      - "#F65314"
-      - "#7CBB00"
-      - "#00A1F1"
-      - "#FFBB00"
-    chip: "#AACE60"
-HolyC:
+#     {2}████████████████  {3}████████████████
+#     {2}█████      █████  {3}█████  █████████
+#     {2}█████  █████████  {3}█████  █████████
+#     {2}█████      █████  {3}█████  █████████
+#     {2}█████████  █████  {3}█████  █████████
+#     {2}█████      █████  {3}█████      █████
+#     {2}████████████████  {3}████████████████
+#   colors:
+#     ansi:
+#       - red
+#       - green
+#       - blue
+#       - yellow
+#     hex:
+#       - "#F65314"
+#       - "#7CBB00"
+#       - "#00A1F1"
+#       - "#FFBB00"
+#     chip: "#AACE60"
+Holyc:
   type: programming
   ascii: |
     {0}             ========
@@ -1201,31 +1160,32 @@ Html:
       - red
       - white
     chip: "#E34C26"
-Idris:
-  type: programming
-  ascii: |
-    {0}       %
-    {0}          %
-    {0}   %&&&     %%
-    {0}        %%    %&
-    {0}&%%%&     %    %%
-    {0}     %%        %%
-    {0}       %       %%
-    {0} %%%          %%&
-    {0}   %%       %%%
-    {0}    %     &%%%
-    {0}         %%%&
-    {0}       &%%%
-    {0}      %%%%
-    {0}      %%%
-    {0}     %%%
-    {0}     %%%
-    {0}     &%%
-    {0}      %%%
-  colors:
-    ansi:
-      - red
-    chip: "#B30000"
+# TODO
+# Idris:
+#   type: programming
+#   ascii: |
+#     {0}       %
+#     {0}          %
+#     {0}   %&&&     %%
+#     {0}        %%    %&
+#     {0}&%%%&     %    %%
+#     {0}     %%        %%
+#     {0}       %       %%
+#     {0} %%%          %%&
+#     {0}   %%       %%%
+#     {0}    %     &%%%
+#     {0}         %%%&
+#     {0}       &%%%
+#     {0}      %%%%
+#     {0}      %%%
+#     {0}     %%%
+#     {0}     %%%
+#     {0}     &%%
+#     {0}      %%%
+#   colors:
+#     ansi:
+#       - red
+#     chip: "#B30000"
 Java:
   type: programming
   ascii: |
@@ -1259,7 +1219,7 @@ Java:
       - "#F44336"
       - "#1665C0"
     chip: "#B07219"
-JavaScript:
+Javascript:
   type: programming
   ascii: |
     {0}JSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJSJS
@@ -1345,37 +1305,6 @@ Jsonnet:
       - white
       - black
     chip: "#0064BD"
-Jsx:
-  type: programming
-  ascii: |
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJSXJSXJSX{1}JSXJSXJSXJSX
-    {0}JSXJSXJ   SXJS      XJSXJS{1}X{2}JSX{1}JSX{2}JSX{1}JSX
-    {0}JSXJSXJ   SXJ   SXJSXJSXJ{1}SXJ{2}SXJ{1}S{2}XJS{1}XJSX
-    {0}JSXJSXJ   SXJS   XJSXJSX{1}JSXJSX{2}JSX{1}JSXJSX
-    {0}JSXJSXJ   SXJSX   JSXJS{1}XJSXJS{2}XJSXJ{1}SXJSX
-    {0}JS   XJ   SXJSXJ   SXJ{1}SXJSXJ{2}SXJ{1}S{2}XJS{1}XJSX
-    {0}JSX       JS      XJS{1}XJSXJS{2}XJS{1}XJS{2}XJS{1}XJS
-    {0}JSXJSXJSXJSXJSXJSXJS{1}XJSXJSXJSXJSXJSXJSX
-    {0}JSXJSXJSXJSXJSXJSXJ{1}SXJSXJSXJSXJSXJSXJSX
-  colors:
-    ansi:
-      - yellow
-      - magenta
-      - white
-    hex:
-      - "#ECE653"
-      - "#B684D3"
-      - "#FFFFFF"
-    chip: "#F1E05A"
 Julia:
   type: programming
   ascii: |
@@ -1395,7 +1324,7 @@ Julia:
       - red
       - magenta
     chip: "#A270BA"
-Jupyter:
+JupyterNotebook:
   type: programming
   ascii: |
     {0}                                 +%%%+
@@ -1461,61 +1390,63 @@ Kotlin:
       - yellow
       - magenta
     chip: "#A97BFF"
-Lisp:
-  type: programming
-  ascii: |
-    {0}              ............
-    {0}         ********..............
-    {0}       *************.............
-    {0}     ****************..............
-    {0}   *******************...***.........
-    {0}  **...********...*****...***.........
-    {0} ***...*******...******....***.........
-    {0}****...******...*******....****.........
-    {0}*****...****...*******.....*****........
-    {0}******...**...******.......******.......
-    {0}*******......******.......***..***......
-    {0}********.....*****.......***....***.....
-    {0}*********....****.......***......***....
-    {0} *********...****......***.......***...
-    {0}  *********...***.....***........***..
-    {0}   *********...***...................
-    {0}     **************................
-    {0}       *************.............
-    {0}         **************........
-    {0}              ************
-  colors:
-    ansi:
-      - white
-    chip: "#3FB68B"
-LLVM:
-  type: programming
-  ascii: |
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-    {0}KKKKKKKKK"              "KKKKKKKK
-    {0}KKKKKKK     KKKKKKKKKK     "KKKKK
-    {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
-    {0}KKKK     KKKKKKKKKKKKKKKKK
-    {0}KKKK      KKKKKKKKKKKKKKKKK
-    {0}KKKK        KKKKKKKKKKKKKKKK
-    {0}KKKK           KKKKKKKKKKKKKK
-    {0}KKKK            KKKKKKKKKKKKK
-    {0}KKKK            ,KKKKKKKKKKKK
-    {0}KKKKKK,    ,     KKKKKKKKKKKK
-    {0}KKKKKKKK   KK,    `KKKKKKKKKK
-    {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
-    {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
-    {0} `KKKKKKKKKKKKKKKKKKKKKKK`
-    {0}   `KKKKKKKKKKKKKKKKKKK`
-    {0}      `KKKKKKKKKKKKKK`
-  colors:
-    ansi:
-      - red
-    hex:
-      - "#98012E"
-    chip: "#185619"
+# TODO
+# Lisp:
+#   type: programming
+#   ascii: |
+#     {0}              ............
+#     {0}         ********..............
+#     {0}       *************.............
+#     {0}     ****************..............
+#     {0}   *******************...***.........
+#     {0}  **...********...*****...***.........
+#     {0} ***...*******...******....***.........
+#     {0}****...******...*******....****.........
+#     {0}*****...****...*******.....*****........
+#     {0}******...**...******.......******.......
+#     {0}*******......******.......***..***......
+#     {0}********.....*****.......***....***.....
+#     {0}*********....****.......***......***....
+#     {0} *********...****......***.......***...
+#     {0}  *********...***.....***........***..
+#     {0}   *********...***...................
+#     {0}     **************................
+#     {0}       *************.............
+#     {0}         **************........
+#     {0}              ************
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#3FB68B"
+# TODO
+# LLVM:
+#   type: programming
+#   ascii: |
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKKK"              "KKKKKKKK
+#     {0}KKKKKKK     KKKKKKKKKK     "KKKKK
+#     {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
+#     {0}KKKK     KKKKKKKKKKKKKKKKK
+#     {0}KKKK      KKKKKKKKKKKKKKKKK
+#     {0}KKKK        KKKKKKKKKKKKKKKK
+#     {0}KKKK           KKKKKKKKKKKKKK
+#     {0}KKKK            KKKKKKKKKKKKK
+#     {0}KKKK            ,KKKKKKKKKKKK
+#     {0}KKKKKK,    ,     KKKKKKKKKKKK
+#     {0}KKKKKKKK   KK,    `KKKKKKKKKK
+#     {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
+#     {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
+#     {0} `KKKKKKKKKKKKKKKKKKKKKKK`
+#     {0}   `KKKKKKKKKKKKKKKKKKK`
+#     {0}      `KKKKKKKKKKKKKK`
+#   colors:
+#     ansi:
+#       - red
+#     hex:
+#       - "#98012E"
+#     chip: "#185619"
 Lua:
   type: programming
   ascii: |
@@ -1658,28 +1589,29 @@ Nix:
       - cyan
       - blue
     chip: "#7E7EFF"
-ObjectiveC:
-  type: programming
-  ascii: |
-    {0}888                                888
-    {0}8    8888   8       8        8888    8
-    {0}8   8    8  8               8    88  8
-    {0}8  8      8 8       8      8         8
-    {0}8  8      8 8 888   8      8         8
-    {0}8  8      8 88   8  8 ==== 8         8
-    {0}8  8      8 8    8  8      8      8  8
-    {0}8   8    8  88   8  8       8    88  8
-    {0}8    8888   8 888   8        88888   8
-    {0}888                 8              888
-    {0}                    8
-    {0}                  88Y
-  colors:
-    ansi:
-      - cyan
-      - blue
-    chip: "#438EFF"
-  serialization: objective-c
-OCaml:
+# TODO
+# ObjectiveC:
+#   type: programming
+#   ascii: |
+#     {0}888                                888
+#     {0}8    8888   8       8        8888    8
+#     {0}8   8    8  8               8    88  8
+#     {0}8  8      8 8       8      8         8
+#     {0}8  8      8 8 888   8      8         8
+#     {0}8  8      8 88   8  8 ==== 8         8
+#     {0}8  8      8 8    8  8      8      8  8
+#     {0}8   8    8  88   8  8       8    88  8
+#     {0}8    8888   8 888   8        88888   8
+#     {0}888                 8              888
+#     {0}                    8
+#     {0}                  88Y
+#   colors:
+#     ansi:
+#       - cyan
+#       - blue
+#     chip: "#438EFF"
+#   serialization: objective-c
+Ocaml:
   type: programming
   ascii: |
     {0}///////////////////////////////////////
@@ -1735,74 +1667,77 @@ Odin:
       - "#4797F3"
       - "#499AF7"
     chip: "#60AFFE"
-Org:
-  type: prose
-  ascii: |
-    {2}                    j
-    {2}                   eL
-    {0}                Q {2}kD
-    {0}            Nt{1}yew{2}kQ{0}y
-    {1}       :r/2K{0}@Q@@@#N@@Qmir
-    {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
-    {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
-    {1}?#QB#HKXej{0}D@QQRNkPD9|
-    {1}SQNHDXwmXq{0}@@@QDR
-    {1}=D6XwmSm{0}D@Q@@QDH
-    {1} tXaZe{0}H@QQ@@@@QRdz
-    {1}   u{0}QRQ@@@@@@@@@QDDd
-    {0}     B@@@@@@@@@@@QDHDd
-    {0}         Syz*:'--'~;\oM
-  colors:
-    ansi:
-      - green
-      - red
-      - white
-    chip: "#77AA99"
-Oz:
-  type: programming
-  ascii: |
-    {0}                   ooooooooo
-    {0}               oooooo{1}zzz{0}oooooo
-    {0}            oooooo{1}zzzzzz{0}ooooooo
-    {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
-    {0}      ooooooooooooooo{1}zzz{0}ooooooooo
-    {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
-    {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
-    {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
-    {0}ooo    oooooo    ooooooooooo   oooooo
-    {0}oooo    oooooo   oooooooo      ooooooo
-    {0} oooo    oooo   oooooo   ooo   oooooooo
-    {0}  ooooooo    ooooooooooooooo   oooooooo
-    {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
-    {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
-    {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
-    {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
-    {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
-    {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
-    {0}         ooooooo{1}zzzz{0}oooo
-    {0}           ooooooooo
-  colors:
-    ansi:
-      - yellow
-      - white
-    hex:
-      - "#FCAF3E"
-      - "#FFFFFF"
-    chip: "#FAB738"
-Pascal:
-  type: programming
-  ascii: |
-    {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
-    {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
-    {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
-    {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
-    {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
-    {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
-  colors:
-    ansi:
-      - blue
-      - white
-    chip: "#E3F171"
+# TODO
+# Org:
+#   type: prose
+#   ascii: |
+#     {2}                    j
+#     {2}                   eL
+#     {0}                Q {2}kD
+#     {0}            Nt{1}yew{2}kQ{0}y
+#     {1}       :r/2K{0}@Q@@@#N@@Qmir
+#     {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
+#     {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
+#     {1}?#QB#HKXej{0}D@QQRNkPD9|
+#     {1}SQNHDXwmXq{0}@@@QDR
+#     {1}=D6XwmSm{0}D@Q@@QDH
+#     {1} tXaZe{0}H@QQ@@@@QRdz
+#     {1}   u{0}QRQ@@@@@@@@@QDDd
+#     {0}     B@@@@@@@@@@@QDHDd
+#     {0}         Syz*:'--'~;\oM
+#   colors:
+#     ansi:
+#       - green
+#       - red
+#       - white
+#     chip: "#77AA99"
+# TODO
+# Oz:
+#   type: programming
+#   ascii: |
+#     {0}                   ooooooooo
+#     {0}               oooooo{1}zzz{0}oooooo
+#     {0}            oooooo{1}zzzzzz{0}ooooooo
+#     {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
+#     {0}      ooooooooooooooo{1}zzz{0}ooooooooo
+#     {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
+#     {0} ooo   oooo    oooooo{1}zzzzzz{0}oooooooo
+#     {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
+#     {0}ooo    oooooo    ooooooooooo   oooooo
+#     {0}oooo    oooooo   oooooooo      ooooooo
+#     {0} oooo    oooo   oooooo   ooo   oooooooo
+#     {0}  ooooooo    ooooooooooooooo   oooooooo
+#     {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
+#     {0}    ooooooo{1}zzz{0}oooo{1}zzzz{0}oooooo      oooo
+#     {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
+#     {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
+#     {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
+#     {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
+#     {0}         ooooooo{1}zzzz{0}oooo
+#     {0}           ooooooooo
+#   colors:
+#     ansi:
+#       - yellow
+#       - white
+#     hex:
+#       - "#FCAF3E"
+#       - "#FFFFFF"
+#     chip: "#FAB738"
+# TODO
+# Pascal:
+#   type: programming
+#   ascii: |
+#     {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
+#     {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
+#     {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
+#     {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
+#     {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
+#     {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     chip: "#E3F171"
 Perl:
   type: programming
   ascii: |
@@ -1832,42 +1767,43 @@ Perl:
     ansi:
       - cyan
     chip: "#0298C3"
-Perl6:
-  type: programming
-  ascii: |
-    {0} +@8DM#8W,
-    {0}#DM"{1},ypy,{0}"8#
-    {0}DDU {1}8M]N8u{0} DM
-    {0}8DD {1}TMD8M,{0}8M  {4}8
-    {0} 8D#=e@8MM^   {4}8
-    {0}  *MDw  {4},.,+#M`
-    {0}    "8#                   {0},e88DDDD8m,
-    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
-    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
-    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
-    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
-    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
-    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
-    {1}   ``      {2}'"F*FFF*  {1},yw,
-    {1}                  ,#]{0}[D8{1}8W
-    {1}                  k8{0}]DDN8{1}8L
-    {1}                  '8E{0}$DE8{1}8M
-    {1}                    R#E#R^
-  colors:
-    ansi:
-      - blue
-      - red
-      - yellow
-      - white
-      - green
-    hex:
-      - "#5B00FD"
-      - "#FF005E"
-      - "#F3FF27"
-      - "#FFFFFF"
-      - "#00FF39"
-    chip: "#0000FB"
-  serialization: raku
+# TODO
+# Perl6:
+#   type: programming
+#   ascii: |
+#     {0} +@8DM#8W,
+#     {0}#DM"{1},ypy,{0}"8#
+#     {0}DDU {1}8M]N8u{0} DM
+#     {0}8DD {1}TMD8M,{0}8M  {4}8
+#     {0} 8D#=e@8MM^   {4}8
+#     {0}  *MDw  {4},.,+#M`
+#     {0}    "8#                   {0},e88DDDD8m,
+#     {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
+#     {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
+#     {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
+#     {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
+#     {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
+#     {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
+#     {1}   ``      {2}'"F*FFF*  {1},yw,
+#     {1}                  ,#]{0}[D8{1}8W
+#     {1}                  k8{0}]DDN8{1}8L
+#     {1}                  '8E{0}$DE8{1}8M
+#     {1}                    R#E#R^
+#   colors:
+#     ansi:
+#       - blue
+#       - red
+#       - yellow
+#       - white
+#       - green
+#     hex:
+#       - "#5B00FD"
+#       - "#FF005E"
+#       - "#F3FF27"
+#       - "#FFFFFF"
+#       - "#00FF39"
+#     chip: "#0000FB"
+#   serialization: raku
 Php:
   type: programming
   ascii: |
@@ -1889,7 +1825,7 @@ Php:
       - "#777BB3"
       - "#FFFFFF"
     chip: "#4F5D95"
-PowerShell:
+Powershell:
   type: programming
   ascii: |
     {0}         #########################
@@ -1910,83 +1846,86 @@ PowerShell:
       - "#316CB9"
       - "#FFFFFF"
     chip: "#012456"
-Processing:
-  type: programming
-  ascii: |
-    {0}          PPPPPPPPPPPP
-    {0}      PPPPPPPPPPPPPPPPPPPP
-    {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
-    {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
-    {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
-    {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
-    {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
-    {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
-    {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
-    {0}    PPPPPPPPPPPPPPPPPPPPPPPP
-    {0}      PPPPPPPPPPPPPPPPPPPP
-    {0}          PPPPPPPPPPPP
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#505050"
-      - "#FFFFFF"
-    chip: "#0096D8"
-Prolog:
-  type: programming
-  ascii: |
-    {0}            ############   #
-    {0}       #################   ####
-    {0}     ###################   ######
-    {0}   #####################   #######
-    {0}  ######################   ########
-    {0} #######         #######   #########
-    {0}######  ###        #####   ##########
-    {0}#####  ####      #  ####   ##########
-    {0}#####  #####    ##  ####   ##########
-    {0}#####   #########   ####   ##########
-    {0}#####     #####   #######    ########
-    {0} ####           ###########       ##
-    {0}  ###   ###########################
-    {0}    #   ##########################
-    {0}        ########################
-    {0}        ######################
-    {0}           ################
-  colors:
-    ansi:
-      - white
-    chip: "#74283C"
-Protobuf:
-  type: programming
-  ascii: |
-    {0}      ;;;;;;;;     {2}::::::::
-    {0}     ;;;;;;;;       {2}::::::::
-    {0}    ;;;;;;;;         {2}::::::::
-    {1}   :{0};;;;;;;           {2}::::::::
-    {1}  :::{0};;;;;             {2}::::::::
-    {1} :::::{0};;;               {2}::::::::
-    {1}:::::::{0};                {3};{2}:::::::
-    {1}::::::::               {3};;;{2}:::::
-    {1} ::::::::             {3};;;;;{2}:::
-    {1}  ::::::::           {3};;;;;;;{2}:
-    {1}   ::::::::         {3};;;;;;;;
-    {1}    ::::::::       {3};;;;;;;;
-    {1}     ::::::::     {3};;;;;;;;
-  colors:
-    ansi:
-      - red
-      - blue
-      - green
-      - yellow
-    chip: "#74283C"
-  serialization: protocol-buffers
-PureScript:
+# TODO
+# Processing:
+#   type: programming
+#   ascii: |
+#     {0}          PPPPPPPPPPPP
+#     {0}      PPPPPPPPPPPPPPPPPPPP
+#     {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
+#     {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
+#     {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
+#     {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
+#     {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
+#     {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
+#     {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
+#     {0}    PPPPPPPPPPPPPPPPPPPPPPPP
+#     {0}      PPPPPPPPPPPPPPPPPPPP
+#     {0}          PPPPPPPPPPPP
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#505050"
+#       - "#FFFFFF"
+#     chip: "#0096D8"
+# TODO
+# Prolog:
+#   type: programming
+#   ascii: |
+#     {0}            ############   #
+#     {0}       #################   ####
+#     {0}     ###################   ######
+#     {0}   #####################   #######
+#     {0}  ######################   ########
+#     {0} #######         #######   #########
+#     {0}######  ###        #####   ##########
+#     {0}#####  ####      #  ####   ##########
+#     {0}#####  #####    ##  ####   ##########
+#     {0}#####   #########   ####   ##########
+#     {0}#####     #####   #######    ########
+#     {0} ####           ###########       ##
+#     {0}  ###   ###########################
+#     {0}    #   ##########################
+#     {0}        ########################
+#     {0}        ######################
+#     {0}           ################
+#   colors:
+#     ansi:
+#       - white
+#     chip: "#74283C"
+# TODO
+# Protobuf:
+#   type: programming
+#   ascii: |
+#     {0}      ;;;;;;;;     {2}::::::::
+#     {0}     ;;;;;;;;       {2}::::::::
+#     {0}    ;;;;;;;;         {2}::::::::
+#     {1}   :{0};;;;;;;           {2}::::::::
+#     {1}  :::{0};;;;;             {2}::::::::
+#     {1} :::::{0};;;               {2}::::::::
+#     {1}:::::::{0};                {3};{2}:::::::
+#     {1}::::::::               {3};;;{2}:::::
+#     {1} ::::::::             {3};;;;;{2}:::
+#     {1}  ::::::::           {3};;;;;;;{2}:
+#     {1}   ::::::::         {3};;;;;;;;
+#     {1}    ::::::::       {3};;;;;;;;
+#     {1}     ::::::::     {3};;;;;;;;
+#   colors:
+#     ansi:
+#       - red
+#       - blue
+#       - green
+#       - yellow
+#     chip: "#74283C"
+#   serialization: protocol-buffers
+Purescript:
   type: programming
   ascii: |
     {0}           \\\\\\\\\\\\\\    \\\\\
@@ -2034,39 +1973,40 @@ Python:
       - "#2F69A2"
       - "#FFD940"
     chip: "#3572A5"
-Qml:
-  type: programming
-  ascii: |
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}****************************************
-    {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
-    {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
-    {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
-    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
-    {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
-    {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-    {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-    {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
-    {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
-  colors:
-    ansi:
-      - green
-      - white
-      - green
-    hex:
-      - "#80C342"
-      - "#FFFFFF"
-      - "#4D7528"
-    chip: "#44A51C"
+# TODO
+# Qml:
+#   type: programming
+#   ascii: |
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}****************************************
+#     {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
+#     {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
+#     {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
+#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
+#     {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
+#     {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+#     {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+#     {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
+#     {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
+#   colors:
+#     ansi:
+#       - green
+#       - white
+#       - green
+#     hex:
+#       - "#80C342"
+#       - "#FFFFFF"
+#       - "#4D7528"
+#     chip: "#44A51C"
 R:
   type: programming
   ascii: |
@@ -2089,36 +2029,37 @@ R:
       - white
       - blue
     chip: "#198CE7"
-Racket:
-  type: programming
-  ascii: |
-    {0}            {2}.:--::////::--.`
-    {0}        {1}`/yNMMNho{2}////////////:.
-    {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
-    {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
-    {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
-    {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
-    {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
-    {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
-    {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
-    {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
-    {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
-    {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
-    {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
-    {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
-    {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
-    {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
-    {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
-    {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
-    {0}        {1}`/s{0}::::::::::::::::::{1}o/`
-    {0}            ``.---::::---..`
-  colors:
-    ansi:
-      - red
-      - white
-      - blue
-    chip: "#3C5CAA"
-Renpy:
+# TODO
+# Racket:
+#   type: programming
+#   ascii: |
+#     {0}            {2}.:--::////::--.`
+#     {0}        {1}`/yNMMNho{2}////////////:.
+#     {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
+#     {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
+#     {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
+#     {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
+#     {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
+#     {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
+#     {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
+#     {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
+#     {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
+#     {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
+#     {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
+#     {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
+#     {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
+#     {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
+#     {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
+#     {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
+#     {0}        {1}`/s{0}::::::::::::::::::{1}o/`
+#     {0}            ``.---::::---..`
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#       - blue
+#     chip: "#3C5CAA"
+RenPy:
   type: programming
   ascii: |
     {0}       ++++++
@@ -2256,60 +2197,62 @@ Sass:
     hex:
       - "#CD6799"
     chip: "#A53B70"
-Scala:
-  type: programming
-  ascii: |
-    {0}                        +
-    {0}                      +++
-    {0}          +++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++{1}-------
-    {0}+++{1}-------------------{0}+++
-    {1}        ---{0}++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++{1}-------
-    {0}+++{1}-------------------{0}+++
-    {1}        ---{0}++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++++++++++++
-    {0}+++++++++++++++
-    {0}+++
-  colors:
-    ansi:
-      - red
-      - red
-    hex:
-      - "#DF3F3D"
-      - "#7F0C1D"
-    chip: "#C22D40"
-Scheme:
-  type: programming
-  ascii: |
-    {0}  ////
-    {0} //  //
-    {0} /    //
-    {0}       //
-    {0}        //
-    {0}         //
-    {0}        ////
-    {0}       /// //
-    {0}      ///   //
-    {0}     ///     //
-    {0}    ///       //    /
-    {0}   ///         //  //
-    {0}  ///           ////
-  colors:
-    ansi:
-      - white
-    hex:
-      - "#555555"
-    chip: "#1E4AEC"
-Sh:
+# TODO
+# Scala:
+#   type: programming
+#   ascii: |
+#     {0}                        +
+#     {0}                      +++
+#     {0}          +++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++{1}-------
+#     {0}+++{1}-------------------{0}+++
+#     {1}        ---{0}++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++{1}-------
+#     {0}+++{1}-------------------{0}+++
+#     {1}        ---{0}++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++++++++++++
+#     {0}+++++++++++++++
+#     {0}+++
+#   colors:
+#     ansi:
+#       - red
+#       - red
+#     hex:
+#       - "#DF3F3D"
+#       - "#7F0C1D"
+#     chip: "#C22D40"
+# TODO
+# Scheme:
+#   type: programming
+#   ascii: |
+#     {0}  ////
+#     {0} //  //
+#     {0} /    //
+#     {0}       //
+#     {0}        //
+#     {0}         //
+#     {0}        ////
+#     {0}       /// //
+#     {0}      ///   //
+#     {0}     ///     //
+#     {0}    ///       //    /
+#     {0}   ///         //  //
+#     {0}  ///           ////
+#   colors:
+#     ansi:
+#       - white
+#     hex:
+#       - "#555555"
+#     chip: "#1E4AEC"
+Shell:
   type: programming
   ascii: |
     {0}              ___       ___        ___
@@ -2422,39 +2365,40 @@ Svelte:
       - "#FF3C00"
       - "#FFFFFF"
     chip: "#FF3E00"
-Svg:
-  type: data
-  ascii: |
-    {0}                 ......
-    {0}               ....{1}--{0}....
-    {0}        ....  {0}...{1}------{0}...  {0}....
-    {0}     ............{1}------{0}............
-    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-    {0}  ..........{1}----------------{0}..........
-    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-    {0}...{1}----------------------------------{0}...
-    {0}...{1}----------------------------------{0}...
-    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-    {0}  ..........{1}----------------{0}..........
-    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-    {0}     ............{1}------{0}............
-    {0}        ....  {0}...{1}------{0}...  {0}....
-    {0}               ....{1}--{0}....
-    {0}                 ......
-  colors:
-    ansi:
-      - white
-      - yellow
-    hex:
-      - "#FFFFFF"
-      - "#EBA71F"
-    chip: "#FF9900"
+# TODO
+# Svg:
+#   type: data
+#   ascii: |
+#     {0}                 ......
+#     {0}               ....{1}--{0}....
+#     {0}        ....  {0}...{1}------{0}...  {0}....
+#     {0}     ............{1}------{0}............
+#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+#     {0}  ..........{1}----------------{0}..........
+#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+#     {0}...{1}----------------------------------{0}...
+#     {0}...{1}----------------------------------{0}...
+#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+#     {0}  ..........{1}----------------{0}..........
+#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+#     {0}     ............{1}------{0}............
+#     {0}        ....  {0}...{1}------{0}...  {0}....
+#     {0}               ....{1}--{0}....
+#     {0}                 ......
+#   colors:
+#     ansi:
+#       - white
+#       - yellow
+#     hex:
+#       - "#FFFFFF"
+#       - "#EBA71F"
+#     chip: "#FF9900"
 Swift:
   type: programming
   ascii: |
@@ -2506,87 +2450,90 @@ Swift:
       - "#FC3224"
       - "#FD2822"
     chip: "#F05138"
-SystemVerilog:
-  type: programming
-  ascii: |
-    {0}     _.._   _.._   _.._   _.._
-    {0}     _.._   _.._   _.._   _.._
-    {0} .................................
-    {0}.               {1}----              {0}.
-    {0}.          {1}--------------         {0}.
-    {0}.        {1}----       ---------     {0}.
-    {0}.      {1}---                -----   {0}.
-    {0}.     {1}-    #####  #     #  -----  {0}.
-    {0}.         {1}#     # #     #         {0}.
-    {0}.         {1}#       #     #         {0}.
-    {0}.          {1}#####  #     #         {0}.
-    {0}.               {1}#  #   #          {0}.
-    {0}.         {1}#     #   # #           {0}.
-    {0}.  {1}-----   #####     #      -     {0}.
-    {0}.   {1}-----                ---      {0}.
-    {0}.     {1}---------       ----        {0}.
-    {0}.         {1}--------------          {0}.
-    {0}.              {1}----               {0}.
-    {0} .................................
-    {0}     _.._   _.._   _.._   _.._
-    {0}     _.._   _.._   _.._   _.._
-  colors:
-    ansi:
-      - blue
-      - white
-    chip: "#DAE1C2"
-Tcl:
-  type: programming
-  ascii: |
-    {0}          //
-    {2}      . /{0}////
-    {2}     /{0}/////// .
-    {2}     //{0}//{1}/{0}/////
-    {2}    //{0}//{1}/{0}/////
-    {2}  . //{0}/{1}//{0}////
-    {2}  //{0}//{1}//{0}////
-    {2}  //{0}/{1}//{0}/////
-    {2}  /{0}//{1}//{0}////
-    {2}  /{0}/{1}//{0}////  .
-    {2}. /{0}/{1}//{0}/////
-    {2} /{0}/{1}//{0}////
-    {2}  /{1}//{0}//
-    {0}   {1}//
-    {0}   {1}//
-    {0}    {1}/
-    {0}     {1}/
-  colors:
-    ansi:
-      - blue
-      - white
-      - cyan
-    chip: "#E4CC98"
-Tex:
-  type: markup
-  ascii: |
-    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-    {0}$$$            $$$$$$$      $$$$$     $$
-    {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
-    {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
-    {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
-    {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
-    {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
-    {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
-    {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
-    {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
-    {0}$$$$$        $$  $$$$$     $$$$$$     $$
-    {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
-    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-  colors:
-    ansi:
-      - white
-      - black
-    chip: "#3D6117"
+# TODO? (Maybe combine with Verilog)
+# SystemVerilog:
+#   type: programming
+#   ascii: |
+#     {0}     _.._   _.._   _.._   _.._
+#     {0}     _.._   _.._   _.._   _.._
+#     {0} .................................
+#     {0}.               {1}----              {0}.
+#     {0}.          {1}--------------         {0}.
+#     {0}.        {1}----       ---------     {0}.
+#     {0}.      {1}---                -----   {0}.
+#     {0}.     {1}-    #####  #     #  -----  {0}.
+#     {0}.         {1}#     # #     #         {0}.
+#     {0}.         {1}#       #     #         {0}.
+#     {0}.          {1}#####  #     #         {0}.
+#     {0}.               {1}#  #   #          {0}.
+#     {0}.         {1}#     #   # #           {0}.
+#     {0}.  {1}-----   #####     #      -     {0}.
+#     {0}.   {1}-----                ---      {0}.
+#     {0}.     {1}---------       ----        {0}.
+#     {0}.         {1}--------------          {0}.
+#     {0}.              {1}----               {0}.
+#     {0} .................................
+#     {0}     _.._   _.._   _.._   _.._
+#     {0}     _.._   _.._   _.._   _.._
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     chip: "#DAE1C2"
+# TODO
+# Tcl:
+#   type: programming
+#   ascii: |
+#     {0}          //
+#     {2}      . /{0}////
+#     {2}     /{0}/////// .
+#     {2}     //{0}//{1}/{0}/////
+#     {2}    //{0}//{1}/{0}/////
+#     {2}  . //{0}/{1}//{0}////
+#     {2}  //{0}//{1}//{0}////
+#     {2}  //{0}/{1}//{0}/////
+#     {2}  /{0}//{1}//{0}////
+#     {2}  /{0}/{1}//{0}////  .
+#     {2}. /{0}/{1}//{0}/////
+#     {2} /{0}/{1}//{0}////
+#     {2}  /{1}//{0}//
+#     {0}   {1}//
+#     {0}   {1}//
+#     {0}    {1}/
+#     {0}     {1}/
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#       - cyan
+#     chip: "#E4CC98"
+# TODO
+# Tex:
+#   type: markup
+#   ascii: |
+#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+#     {0}$$$            $$$$$$$      $$$$$     $$
+#     {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
+#     {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
+#     {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
+#     {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
+#     {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
+#     {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
+#     {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
+#     {0}$$$$$        $$  $$$$$     $$$$$$     $$
+#     {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
+#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+#   colors:
+#     ansi:
+#       - white
+#       - black
+#     chip: "#3D6117"
 Toml:
   type: data
   ascii: |
@@ -2616,38 +2563,7 @@ Toml:
       - "#9C4221"
       - "#FFFFFF"
     chip: "#9C4221"
-Tsx:
-  type: programming
-  ascii: |
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXTSXTSXTSX{1}TSXTSXTSXTSX
-    {0}TS{2}XTSXTSXTS{0}XTSX{2}TSXTSX{0}TSXTS{1}X{2}TSX{1}TSX{2}TSX{1}TSX
-    {0}TSXTS{2}XTS{0}XTSXTS{2}XTS{0}XTSXTSXT{1}SXT{2}SXT{1}S{2}XTS{1}XTSX
-    {0}TSXTS{2}XTS{0}XTSXTSX{2}TSX{0}TSXTSX{1}TSXTSX{2}TSX{1}TSXTSX
-    {0}TSXTS{2}XTS{0}XTSXTSXT{2}SXT{0}SXTS{1}XTSXTS{2}XTSXT{1}TSTSX
-    {0}TSXTS{2}XTS{0}XTSXTSXTS{2}XTS{0}XT{1}SXTSXT{2}SXT{1}S{2}XTS{1}XTSX
-    {0}TSXTS{2}XTS{0}XTSXT{2}SXTSXT{0}SX{1}TSXTSX{2}TSX{1}TSX{2}TSX{1}TSX
-    {0}TSXTSXTSXTSXTSXTSXTS{1}XTSXTSXTSXTSXTSXTSX
-    {0}TSXTSXTSXTSXTSXTSXT{1}SXTSXTSXTSXTSXTSXTSX
-  colors:
-    ansi:
-      - cyan
-      - magenta
-      - white
-    hex:
-      - "#007ACC"
-      - "#8A53A6"
-      - "#FFFFFF"
-    chip: "#2B7489"
-TypeScript:
+Typescript:
   type: programming
   ascii: |
     {0}TSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTSTS
@@ -2676,83 +2592,86 @@ TypeScript:
       - "#007ACC"
       - "#FFFFFF"
     chip: "#2B7489"
-Vala:
-  type: programming
-  ascii: |
-    {0} ###################################
-    {0}#####################################
-    {0}#####################################
-    {0}############{1}######{0}##########{1}##{0}#######
-    {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
-    {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
-    {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
-    {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
-    {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
-    {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
-    {0}##############{1}####{0}###{1}##{0}##############
-    {0}##############{1}####{0}##{1}##{0}###############
-    {0}##############{1}####{0}#{1}##{0}################
-    {0}##############{1}######{0}#################
-    {0}##############{1}#####{0}##################
-    {0}##############{1}####{0}###################
-    {0}#####################################
-    {0}#####################################
-    {0} ###################################
-  colors:
-    ansi:
-      - magenta
-      - white
-    chip: "#A56DE2"
-Verilog:
-  type: programming
-  ascii: |
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}     _......................._
-    {0}    _.{1}-----             -----{0}._
-    {0}_..._.{1} ---               --- {0}._..._
-    {0}_..._.{1}  ---             ---  {0}._..._
-    {0}    _.{1}   ---           ---   {0}._
-    {0}    _.{1}    ---         ---    {0}._
-    {0}_..._.{1}     ---       ---     {0}._..._
-    {0}_..._.{1}      ---     ---      {0}._..._
-    {0}    _.{1}       ---   ---       {0}._
-    {0}    _.{1}        --- ---        {0}._
-    {0}_..._.{1}         -----         {0}._..._
-    {0}_..._.{1}          ---          {0}._..._
-    {0}    _.{1}           -           {0}._
-    {0}     _......................._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-    {0}        _.._    _.._    _.._
-  colors:
-    ansi:
-      - white
-      - magenta
-    chip: "#b2b7f8"
-Vhdl:
-  type: programming
-  ascii: |
-    {0}        |  |  |  |
-    {0}       {1}------------
-    {0}    --{1}|    {2}----    {1}|{0}--
-    {0}    --{1}|   {2}|    |   {1}|{0}--
-    {0}    --{1}|   {2}|    |   {1}|{0}--
-    {0}    --{1}|    {2}----    {1}|{0}--
-    {0}       {1}------------
-    {0}        |  |  |  |
-    {2}__     ___   _ ____  _
-    {2}\ \   / / | | |  _ \| |
-    {2} \ \ / /| |_| | | | | |
-    {2}  \ V / |  _  | |_| | |___
-    {2}   \_/  |_| |_|____/|_____|
-  colors:
-    ansi:
-      - yellow
-      - green
-      - white
-    chip: "#ADB2CB"
+# TODO
+# Vala:
+#   type: programming
+#   ascii: |
+#     {0} ###################################
+#     {0}#####################################
+#     {0}#####################################
+#     {0}############{1}######{0}##########{1}##{0}#######
+#     {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
+#     {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
+#     {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
+#     {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
+#     {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
+#     {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
+#     {0}##############{1}####{0}###{1}##{0}##############
+#     {0}##############{1}####{0}##{1}##{0}###############
+#     {0}##############{1}####{0}#{1}##{0}################
+#     {0}##############{1}######{0}#################
+#     {0}##############{1}#####{0}##################
+#     {0}##############{1}####{0}###################
+#     {0}#####################################
+#     {0}#####################################
+#     {0} ###################################
+#   colors:
+#     ansi:
+#       - magenta
+#       - white
+#     chip: "#A56DE2"
+# TODO
+# Verilog:
+#   type: programming
+#   ascii: |
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}     _......................._
+#     {0}    _.{1}-----             -----{0}._
+#     {0}_..._.{1} ---               --- {0}._..._
+#     {0}_..._.{1}  ---             ---  {0}._..._
+#     {0}    _.{1}   ---           ---   {0}._
+#     {0}    _.{1}    ---         ---    {0}._
+#     {0}_..._.{1}     ---       ---     {0}._..._
+#     {0}_..._.{1}      ---     ---      {0}._..._
+#     {0}    _.{1}       ---   ---       {0}._
+#     {0}    _.{1}        --- ---        {0}._
+#     {0}_..._.{1}         -----         {0}._..._
+#     {0}_..._.{1}          ---          {0}._..._
+#     {0}    _.{1}           -           {0}._
+#     {0}     _......................._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#     {0}        _.._    _.._    _.._
+#   colors:
+#     ansi:
+#       - white
+#       - magenta
+#     chip: "#b2b7f8"
+# TODO
+# Vhdl:
+#   type: programming
+#   ascii: |
+#     {0}        |  |  |  |
+#     {0}       {1}------------
+#     {0}    --{1}|    {2}----    {1}|{0}--
+#     {0}    --{1}|   {2}|    |   {1}|{0}--
+#     {0}    --{1}|   {2}|    |   {1}|{0}--
+#     {0}    --{1}|    {2}----    {1}|{0}--
+#     {0}       {1}------------
+#     {0}        |  |  |  |
+#     {2}__     ___   _ ____  _
+#     {2}\ \   / / | | |  _ \| |
+#     {2} \ \ / /| |_| | | | | |
+#     {2}  \ V / |  _  | |_| | |___
+#     {2}   \_/  |_| |_|____/|_____|
+#   colors:
+#     ansi:
+#       - yellow
+#       - green
+#       - white
+#     chip: "#ADB2CB"
 VimScript:
   type: programming
   ascii: |
@@ -2777,36 +2696,37 @@ VimScript:
       - black
       - white
     chip: "#199F4B"
-VisualBasic:
-  type: programming
-  ascii: |
-    {1}             ::::::::::
-    {1}         ::::::::::::::::::
-    {1}      ::::::::::::::::::::::::
-    {0}    &&&&{1}::::::::::::::::::::::::
-    {0}  &&&&&&&&{1}::::::::::::::::::::::::
-    {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
-    {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
-    {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
-    {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
-    {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
-    {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
-    {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
-    {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
-    {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
-    {0}      &&&&&&&&&&&&&&&&&&&&&&&&
-    {0}         &&&&&&&&&&&&&&&&&&
-    {0}             &&&&&&&&&&
-  colors:
-    ansi:
-      - blue
-      - blue
-      - white
-    hex:
-      - "#195F97"
-      - "#004E8C"
-      - "#FFFFFF"
-    chip: "#945db7"
+# TODO
+# VisualBasic:
+#   type: programming
+#   ascii: |
+#     {1}             ::::::::::
+#     {1}         ::::::::::::::::::
+#     {1}      ::::::::::::::::::::::::
+#     {0}    &&&&{1}::::::::::::::::::::::::
+#     {0}  &&&&&&&&{1}::::::::::::::::::::::::
+#     {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
+#     {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
+#     {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
+#     {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
+#     {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
+#     {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
+#     {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
+#     {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
+#     {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
+#     {0}      &&&&&&&&&&&&&&&&&&&&&&&&
+#     {0}         &&&&&&&&&&&&&&&&&&
+#     {0}             &&&&&&&&&&
+#   colors:
+#     ansi:
+#       - blue
+#       - blue
+#       - white
+#     hex:
+#       - "#195F97"
+#       - "#004E8C"
+#       - "#FFFFFF"
+#     chip: "#945db7"
 Vue:
   type: programming
   ascii: |
@@ -2830,94 +2750,97 @@ Vue:
       - green
       - blue
     chip: "#199F4B"
-WebAssembly:
-  type: programming
-  ascii: |
-    {0}:::::::::::             ::::::::::::
-    {0}::::::::::::           :::::::::::::
-    {0}:::::::::::::::     ::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::::::::::::::::::::::::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
-    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
-    {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
-    {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
-    {0}::::::::::::::::::::::::::::::::::::
-  colors:
-    ansi:
-      - magenta
-      - white
-    hex:
-      - "#654FF0"
-      - "#FFFFFF"
-    chip: "#04133B"
-Wolfram:
-  type: programming
-  ascii: |
-    {0}             OOOOOOOOOOOOOO
-    {0}         OOOOOO  OOOOOOOOOOOOOO
-    {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
-    {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
-    {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
-    {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
-    {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
-    {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
-    {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
-    {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-    {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
-    {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
-    {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
-    {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
-    {1}   WWWWW..............  {0}.........OOOOO
-    {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-    {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
-    {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
-    {1}         WWWWWWWWWWWWWWWW{0}     OO
-    {1}             WWWWWWWWWWWWW{0}
-  colors:
-    ansi:
-      - red
-      - white
-      - black
-    hex:
-      - "#FF0A01"
-      - "#FFFFFF"
-      - "#000000"
-    chip: "#DD1100"
-Xaml:
-  type: data
-  ascii: |
-    {0}        :::::::::::::::::::::..
-    {0}       :::{1}------{0}::::::::::::....
-    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-    {0}:::{1}------{0}::::::::::::.........{1}------{0}...
-    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-    {0}       :::{1}------{0}::::::::::::....
-    {0}        :::::::::::::::::::::..
-  colors:
-    ansi:
-      - blue
-      - white
-    hex:
-      - "#3378CE"
-      - "#FFFFFF"
-    chip: "#0060AC"
+# TODO
+# WebAssembly:
+#   type: programming
+#   ascii: |
+#     {0}:::::::::::             ::::::::::::
+#     {0}::::::::::::           :::::::::::::
+#     {0}:::::::::::::::     ::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::::::::::::::::::::::::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
+#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
+#     {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
+#     {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
+#     {0}::::::::::::::::::::::::::::::::::::
+#   colors:
+#     ansi:
+#       - magenta
+#       - white
+#     hex:
+#       - "#654FF0"
+#       - "#FFFFFF"
+#     chip: "#04133B"
+# TODO
+# Wolfram:
+#   type: programming
+#   ascii: |
+#     {0}             OOOOOOOOOOOOOO
+#     {0}         OOOOOO  OOOOOOOOOOOOOO
+#     {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
+#     {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
+#     {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
+#     {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
+#     {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
+#     {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
+#     {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
+#     {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+#     {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
+#     {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
+#     {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
+#     {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
+#     {1}   WWWWW..............  {0}.........OOOOO
+#     {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+#     {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
+#     {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
+#     {1}         WWWWWWWWWWWWWWWW{0}     OO
+#     {1}             WWWWWWWWWWWWW{0}
+#   colors:
+#     ansi:
+#       - red
+#       - white
+#       - black
+#     hex:
+#       - "#FF0A01"
+#       - "#FFFFFF"
+#       - "#000000"
+#     chip: "#DD1100"
+# TODO
+# Xaml:
+#   type: data
+#   ascii: |
+#     {0}        :::::::::::::::::::::..
+#     {0}       :::{1}------{0}::::::::::::....
+#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+#     {0}:::{1}------{0}::::::::::::.........{1}------{0}...
+#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+#     {0}       :::{1}------{0}::::::::::::....
+#     {0}        :::::::::::::::::::::..
+#   colors:
+#     ansi:
+#       - blue
+#       - white
+#     hex:
+#       - "#3378CE"
+#       - "#FFFFFF"
+#     chip: "#0060AC"
 Xml:
   type: data
   ascii: |
@@ -2931,24 +2854,25 @@ Xml:
       - white
       - green
     chip: "#0060AC"
-XSL:
-  type: programming
-  ascii: |
-    {0}                       :::
-    {0}       :::::          :::  :::::
-    {0}     :::::           :::     :::::
-    {0}   :::::            :::        :::::
-    {0} :::::             :::           :::::
-    {0}:::::             :::             :::::
-    {0} :::::           :::             :::::
-    {0}   :::::        :::            :::::
-    {0}     :::::     :::           :::::
-    {0}       :::::  :::          :::::
-    {0}             :::
-  colors:
-    ansi:
-      - cyan
-    chip: "#EB8CEB"
+# TODO
+# XSL:
+#   type: programming
+#   ascii: |
+#     {0}                       :::
+#     {0}       :::::          :::  :::::
+#     {0}     :::::           :::     :::::
+#     {0}   :::::            :::        :::::
+#     {0} :::::             :::           :::::
+#     {0}:::::             :::             :::::
+#     {0} :::::           :::             :::::
+#     {0}   :::::        :::            :::::
+#     {0}     :::::     :::           :::::
+#     {0}       :::::  :::          :::::
+#     {0}             :::
+#   colors:
+#     ansi:
+#       - cyan
+#     chip: "#EB8CEB"
 Yaml:
   type: data
   ascii: |
@@ -2988,23 +2912,3 @@ Zig:
     ansi:
       - yellow
     chip: "#EC915C"
-Zsh:
-  type: programming
-  ascii: |
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZ     ZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZSHZS     SHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZ     HZSHZSHZSHZSHZSHZ
-    {0}ZSHZSHZSHZSH     ZSHZSHZSHZSHZSH
-    {0}ZSHZSHZSHZ     SHZSHZSHZSHZSHZSH
-    {0}ZSHZSHZS     ZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZSH     SHZSHZSHZSHZSHZSHZSHZ
-    {0}ZSHZ     ZSHZSH             SHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-    {0}ZSHZSHZSHZSHZSHZSHZSHZSHZSHZSHZS
-  colors:
-    ansi:
-      - white
-    chip: "#89E051"

From bb3e92ab958bf660618f920f683a6a30a0f7f2a3 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 19:01:03 +0000
Subject: [PATCH 06/35] Analyze stats

---
 src/info/langs/language.tera | 11 +++++++----
 src/info/langs/mod.rs        | 26 +++++++++++++++++---------
 2 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/src/info/langs/language.tera b/src/info/langs/language.tera
index b9442f3a4..fa797a013 100644
--- a/src/info/langs/language.tera
+++ b/src/info/langs/language.tera
@@ -2,6 +2,7 @@ use owo_colors::{
     AnsiColors,
     DynColors::{self, Ansi, Rgb},
 };
+use std::convert::TryFrom;
 use std::fmt;
 use std::fmt::Write;
 use strum::EnumIter;
@@ -39,13 +40,15 @@ impl fmt::Display for Language {
     }
 }
 
-impl From<gengo::Language> for Language {
-    fn from(language: gengo::Language) -> Self {
+impl TryFrom<gengo::Language> for Language {
+    type Error = ();
+
+    fn try_from(language: gengo::Language) -> Result<Self, Self::Error> {
         match language {
             {% for language, _ in languages -%}
-                gengo::Language::{{ language }} => Self::{{ language }},
+                gengo::Language::{{ language }} => Ok(Self::{{ language }}),
             {% endfor %}
-            _ => unimplemented!("Language {:?}", language),
+            _ => Err(()),
         }
     }
 }
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 4b616215e..482971cd1 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -1,6 +1,9 @@
-use anyhow::{Context, Result};
+use anyhow::{anyhow, Context, Result};
+use gengo::{analysis, FileSource, Git, Builder};
+use gix::filter::plumbing::eol::Stats;
 use language::{Language, LanguageType};
 use std::collections::HashMap;
+use std::error::Error;
 use std::path::Path;
 use strum::IntoEnumIterator;
 
@@ -19,14 +22,17 @@ pub fn get_loc_by_language_sorted(
     language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
-    let stats = get_statistics(dir, globs_to_exclude, language_types, include_hidden);
+    let stats = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
+        Ok(stats) => stats,
+        Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
+    };
 
-    let loc_by_language =
-        get_loc_by_language(&stats).context("Could not find any source code in this repository")?;
+    // NOTE If finer control is ever needed, summary_with can be used.
+    let mut size_by_language: Vec<(Language, _)> = stats.summary().iter().filter_map(|(lang, size)| (*lang).try_into().map(|l| (l, *size)).ok()).collect();
+    // NOTE Sort by size (descending) first, then by language name (ascending) in case the size is equal
+    size_by_language.sort_by_key(|(language, size)| (usize::MAX - *size, language.to_string()));
 
-    let loc_by_language_sorted = sort_by_loc(loc_by_language);
-
-    Ok(loc_by_language_sorted)
+    Ok(size_by_language)
 }
 
 fn sort_by_loc(map: HashMap<Language, usize>) -> Vec<(Language, usize)> {
@@ -67,9 +73,11 @@ fn get_statistics(
     globs_to_exclude: &[String],
     language_types: &[LanguageType],
     include_hidden: bool,
-) -> ! {
+) -> Result<gengo::Analysis, Box<dyn Error>> {
     // TODO Determine best way to ignore files (and if that should continue to be handled by onefetch)
-    todo!("Get statistics")
+    let file_source = Git::new(dir, "HEAD")?;
+    let gengo = Builder::new(file_source).build()?;
+    gengo.analyze()
 }
 
 fn filter_languages_on_type(types: &[LanguageType]) -> ! {

From e84787bcf0bc1bddfa41356662c808bd7ec485fd Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Mon, 8 Apr 2024 19:06:59 +0000
Subject: [PATCH 07/35] Make info labels more accurate

---
 src/info/{loc.rs => blob_size.rs}  | 24 ++++++++++++------------
 src/info/langs/mod.rs              |  2 +-
 src/info/mod.rs                    | 12 ++++++------
 src/info/{size.rs => repo_size.rs} | 16 ++++++++--------
 4 files changed, 27 insertions(+), 27 deletions(-)
 rename src/info/{loc.rs => blob_size.rs} (58%)
 rename src/info/{size.rs => repo_size.rs} (91%)

diff --git a/src/info/loc.rs b/src/info/blob_size.rs
similarity index 58%
rename from src/info/loc.rs
rename to src/info/blob_size.rs
index fc4a71be5..e06b5d683 100644
--- a/src/info/loc.rs
+++ b/src/info/blob_size.rs
@@ -1,35 +1,35 @@
 use super::utils::format_number;
-use crate::info::langs::get_total_loc;
+use crate::info::langs::get_total_size;
 use crate::info::langs::language::Language;
 use crate::{cli::NumberSeparator, info::utils::info_field::InfoField};
 use serde::Serialize;
 
 #[derive(Serialize)]
 #[serde(rename_all = "camelCase")]
-pub struct LocInfo {
-    pub lines_of_code: usize,
+pub struct BlobSizeInfo {
+    pub size: usize,
     #[serde(skip_serializing)]
     number_separator: NumberSeparator,
 }
 
-impl LocInfo {
-    pub fn new(loc_by_language: &[(Language, usize)], number_separator: NumberSeparator) -> Self {
-        let lines_of_code = get_total_loc(loc_by_language);
+impl BlobSizeInfo {
+    pub fn new(size_by_language: &[(Language, usize)], number_separator: NumberSeparator) -> Self {
+        let size = get_total_size(size_by_language);
         Self {
-            lines_of_code,
+            size,
             number_separator,
         }
     }
 }
 
 #[typetag::serialize]
-impl InfoField for LocInfo {
+impl InfoField for BlobSizeInfo {
     fn value(&self) -> String {
-        format_number(&self.lines_of_code, self.number_separator)
+        format_number(&self.size, self.number_separator)
     }
 
     fn title(&self) -> String {
-        "Lines of code".into()
+        "Total blob size".into()
     }
 }
 
@@ -39,8 +39,8 @@ mod test {
 
     #[test]
     fn test_display_loc_info() {
-        let loc_info = LocInfo {
-            lines_of_code: 1235,
+        let loc_info = BlobSizeInfo {
+            size: 1235,
             number_separator: NumberSeparator::Plain,
         };
 
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 482971cd1..0db22fa6a 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -63,7 +63,7 @@ fn get_loc_by_language<Any>(languages: Any) -> Option<HashMap<Language, usize>>
     // }
 }
 
-pub fn get_total_loc(loc_by_language: &[(Language, usize)]) -> usize {
+pub fn get_total_size(loc_by_language: &[(Language, usize)]) -> usize {
     let total_loc: usize = loc_by_language.iter().map(|(_, v)| v).sum();
     total_loc
 }
diff --git a/src/info/mod.rs b/src/info/mod.rs
index 49e5f9160..c91138fa4 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -12,10 +12,10 @@ use self::langs::language::Language;
 use self::langs::language::LanguagesInfo;
 use self::last_change::LastChangeInfo;
 use self::license::LicenseInfo;
-use self::loc::LocInfo;
+use self::blob_size::BlobSizeInfo;
 use self::pending::PendingInfo;
 use self::project::ProjectInfo;
-use self::size::SizeInfo;
+use self::repo_size::RepoSizeInfo;
 use self::title::Title;
 use self::url::get_repo_url;
 use self::url::UrlInfo;
@@ -44,10 +44,10 @@ mod head;
 pub mod langs;
 mod last_change;
 mod license;
-mod loc;
+mod blob_size;
 mod pending;
 mod project;
-mod size;
+mod repo_size;
 mod title;
 mod url;
 pub mod utils;
@@ -291,7 +291,7 @@ impl InfoBuilder {
 
     fn size(mut self, repo: &Repository, number_separator: NumberSeparator) -> Self {
         if !self.disabled_fields.contains(&InfoType::Size) {
-            let size = SizeInfo::new(repo, number_separator);
+            let size = RepoSizeInfo::new(repo, number_separator);
             self.info_fields.push(Box::new(size));
         }
         self
@@ -428,7 +428,7 @@ impl InfoBuilder {
         number_separator: NumberSeparator,
     ) -> Self {
         if !self.disabled_fields.contains(&InfoType::LinesOfCode) {
-            let lines_of_code = LocInfo::new(loc_by_language, number_separator);
+            let lines_of_code = BlobSizeInfo::new(loc_by_language, number_separator);
             self.info_fields.push(Box::new(lines_of_code));
         }
         self
diff --git a/src/info/size.rs b/src/info/repo_size.rs
similarity index 91%
rename from src/info/size.rs
rename to src/info/repo_size.rs
index 7752eb027..b98013eeb 100644
--- a/src/info/size.rs
+++ b/src/info/repo_size.rs
@@ -8,14 +8,14 @@ use serde::Serialize;
 
 #[derive(Serialize)]
 #[serde(rename_all = "camelCase")]
-pub struct SizeInfo {
+pub struct RepoSizeInfo {
     pub repo_size: String,
     pub file_count: u64,
     #[serde(skip_serializing)]
     number_separator: NumberSeparator,
 }
 
-impl SizeInfo {
+impl RepoSizeInfo {
     pub fn new(repo: &Repository, number_separator: NumberSeparator) -> Self {
         let (repo_size, file_count) = get_repo_size(repo);
         Self {
@@ -44,7 +44,7 @@ fn bytes_to_human_readable(bytes: u64) -> String {
     format!("{adjusted_byte_based:#.2}")
 }
 
-impl std::fmt::Display for SizeInfo {
+impl std::fmt::Display for RepoSizeInfo {
     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
         match self.file_count {
             0 => write!(f, "{}", &self.repo_size),
@@ -62,12 +62,12 @@ impl std::fmt::Display for SizeInfo {
 }
 
 #[typetag::serialize]
-impl InfoField for SizeInfo {
+impl InfoField for RepoSizeInfo {
     fn value(&self) -> String {
         self.to_string()
     }
     fn title(&self) -> String {
-        "Size".into()
+        "Repository Size".into()
     }
 }
 
@@ -79,7 +79,7 @@ mod test {
 
     #[test]
     fn test_display_size_info() {
-        let size_info = SizeInfo {
+        let size_info = RepoSizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 123,
             number_separator: NumberSeparator::Plain,
@@ -90,7 +90,7 @@ mod test {
 
     #[test]
     fn test_display_size_info_no_files() {
-        let size_info = SizeInfo {
+        let size_info = RepoSizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 0,
             number_separator: NumberSeparator::Plain,
@@ -101,7 +101,7 @@ mod test {
 
     #[test]
     fn test_display_size_info_one_files() {
-        let size_info = SizeInfo {
+        let size_info = RepoSizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 1,
             number_separator: NumberSeparator::Plain,

From 135004f2f1478ca66a315592239cbf9c57ddce7d Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 11 Apr 2024 13:05:20 +0000
Subject: [PATCH 08/35] Make gengo's gix features explicit

---
 Cargo.toml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Cargo.toml b/Cargo.toml
index a8e093df0..7c90ee6c7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -37,7 +37,8 @@ bytecount = "0.6.7"
 clap.workspace = true
 clap_complete = "4.5.1"
 crossbeam-channel = "0.5.9"
-gengo = "0.11"
+# NOTE Ensures that gengo's gix features don't conflict with the ones we're using
+gengo =  { version = "0.11", default-features = false, features = ["max-performance-safe"] }
 gix = { version = "0.60.0", default-features = false, features = [
     "max-performance-safe",
     "blob-diff",

From ebfe3402c67248210907bc39b2fb96f27b531f93 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 30 Apr 2024 12:56:24 +0000
Subject: [PATCH 09/35] Remove LoC/Size stat

https://github.com/o2sh/onefetch/pull/1305#discussion_r1557311545
---
 src/info/blob_size.rs | 49 -------------------------------------------
 src/info/langs/mod.rs | 28 -------------------------
 src/info/mod.rs       | 15 -------------
 3 files changed, 92 deletions(-)
 delete mode 100644 src/info/blob_size.rs

diff --git a/src/info/blob_size.rs b/src/info/blob_size.rs
deleted file mode 100644
index e06b5d683..000000000
--- a/src/info/blob_size.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-use super::utils::format_number;
-use crate::info::langs::get_total_size;
-use crate::info::langs::language::Language;
-use crate::{cli::NumberSeparator, info::utils::info_field::InfoField};
-use serde::Serialize;
-
-#[derive(Serialize)]
-#[serde(rename_all = "camelCase")]
-pub struct BlobSizeInfo {
-    pub size: usize,
-    #[serde(skip_serializing)]
-    number_separator: NumberSeparator,
-}
-
-impl BlobSizeInfo {
-    pub fn new(size_by_language: &[(Language, usize)], number_separator: NumberSeparator) -> Self {
-        let size = get_total_size(size_by_language);
-        Self {
-            size,
-            number_separator,
-        }
-    }
-}
-
-#[typetag::serialize]
-impl InfoField for BlobSizeInfo {
-    fn value(&self) -> String {
-        format_number(&self.size, self.number_separator)
-    }
-
-    fn title(&self) -> String {
-        "Total blob size".into()
-    }
-}
-
-#[cfg(test)]
-mod test {
-    use super::*;
-
-    #[test]
-    fn test_display_loc_info() {
-        let loc_info = BlobSizeInfo {
-            size: 1235,
-            number_separator: NumberSeparator::Plain,
-        };
-
-        assert_eq!(loc_info.value(), "1235".to_string());
-    }
-}
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 0db22fa6a..975a57eb8 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -35,34 +35,6 @@ pub fn get_loc_by_language_sorted(
     Ok(size_by_language)
 }
 
-fn sort_by_loc(map: HashMap<Language, usize>) -> Vec<(Language, usize)> {
-    let mut vec: Vec<(Language, usize)> = map.into_iter().collect();
-    vec.sort_by(|a, b| b.1.cmp(&a.1));
-    vec
-}
-
-fn get_loc_by_language<Any>(languages: Any) -> Option<HashMap<Language, usize>> {
-    todo!("Determine if this is necessary")
-    // let mut loc_by_language = HashMap::new();
-
-    // for (language_name, language) in languages.iter() {
-    //     let loc = language::loc(language_name, language);
-
-    //     if loc == 0 {
-    //         continue;
-    //     }
-
-    //     loc_by_language.insert(Language::from(*language_name), loc);
-    // }
-
-    // let total_loc: usize = loc_by_language.values().sum();
-    // if total_loc == 0 {
-    //     None
-    // } else {
-    //     Some(loc_by_language)
-    // }
-}
-
 pub fn get_total_size(loc_by_language: &[(Language, usize)]) -> usize {
     let total_loc: usize = loc_by_language.iter().map(|(_, v)| v).sum();
     total_loc
diff --git a/src/info/mod.rs b/src/info/mod.rs
index c91138fa4..6d79b0013 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -12,7 +12,6 @@ use self::langs::language::Language;
 use self::langs::language::LanguagesInfo;
 use self::last_change::LastChangeInfo;
 use self::license::LicenseInfo;
-use self::blob_size::BlobSizeInfo;
 use self::pending::PendingInfo;
 use self::project::ProjectInfo;
 use self::repo_size::RepoSizeInfo;
@@ -44,7 +43,6 @@ mod head;
 pub mod langs;
 mod last_change;
 mod license;
-mod blob_size;
 mod pending;
 mod project;
 mod repo_size;
@@ -205,7 +203,6 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
             globs_to_exclude,
             number_separator,
         )?
-        .loc(&loc_by_language, number_separator)
         .size(&repo, number_separator)
         .license(&repo_path, &manifest)?
         .build(cli_options, text_colors, dominant_language, ascii_colors))
@@ -422,18 +419,6 @@ impl InfoBuilder {
         Ok(self)
     }
 
-    fn loc(
-        mut self,
-        loc_by_language: &[(Language, usize)],
-        number_separator: NumberSeparator,
-    ) -> Self {
-        if !self.disabled_fields.contains(&InfoType::LinesOfCode) {
-            let lines_of_code = BlobSizeInfo::new(loc_by_language, number_separator);
-            self.info_fields.push(Box::new(lines_of_code));
-        }
-        self
-    }
-
     fn build(
         self,
         cli_options: &CliOptions,

From 9a1a8cdf5f78bb7822d08ec78e2157ab4cb898e1 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 30 Apr 2024 12:59:05 +0000
Subject: [PATCH 10/35] Bump gengo

---
 Cargo.lock | 16 ++--------------
 Cargo.toml |  2 +-
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 7adfcb12d..fc96bd5e9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -939,16 +939,15 @@ dependencies = [
 
 [[package]]
 name = "gengo"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe3699980642aa2586d2713766e5f1b36d7fe76be169317018e7791d515eaac"
+checksum = "1a570f3efde2af550c1602f7ee6fda84f426f4a9a9886518a3ce257cd7a29bc5"
 dependencies = [
  "gix",
  "glob",
  "ignore",
  "indexmap",
  "once_cell",
- "prettyplease",
  "proc-macro2",
  "quote",
  "rayon",
@@ -956,7 +955,6 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_yaml",
- "syn 2.0.53",
 ]
 
 [[package]]
@@ -2839,16 +2837,6 @@ dependencies = [
  "yansi",
 ]
 
-[[package]]
-name = "prettyplease"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7"
-dependencies = [
- "proc-macro2",
- "syn 2.0.53",
-]
-
 [[package]]
 name = "proc-macro-crate"
 version = "2.0.0"
diff --git a/Cargo.toml b/Cargo.toml
index 7c90ee6c7..0568daa50 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,7 +38,7 @@ clap.workspace = true
 clap_complete = "4.5.1"
 crossbeam-channel = "0.5.9"
 # NOTE Ensures that gengo's gix features don't conflict with the ones we're using
-gengo =  { version = "0.11", default-features = false, features = ["max-performance-safe"] }
+gengo =  { version = "0.11.2", default-features = false, features = ["max-performance-safe"] }
 gix = { version = "0.60.0", default-features = false, features = [
     "max-performance-safe",
     "blob-diff",

From 7c7c29a2c71b87d8c63758ee14f9e677f3cf65e4 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 30 Apr 2024 13:02:16 +0000
Subject: [PATCH 11/35] Remove filtering by language type

This can be handled by gengo.
---
 src/cli.rs            | 10 ----------
 src/info/langs/mod.rs |  8 +-------
 src/info/mod.rs       |  2 --
 3 files changed, 1 insertion(+), 19 deletions(-)

diff --git a/src/cli.rs b/src/cli.rs
index 67b9dca09..32e41685c 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -87,15 +87,6 @@ pub struct InfoCliOptions {
     /// Count hidden files and directories
     #[arg(long)]
     pub include_hidden: bool,
-    /// Filters output by language type
-    #[arg(
-        long,
-        num_args = 1..,
-        default_values = &["programming", "markup"],
-        short = 'T',
-        value_enum,
-    )]
-    pub r#type: Vec<LanguageType>,
 }
 
 #[derive(Clone, Debug, Args, PartialEq, Eq)]
@@ -244,7 +235,6 @@ impl Default for InfoCliOptions {
             no_merges: Default::default(),
             email: Default::default(),
             include_hidden: Default::default(),
-            r#type: vec![LanguageType::Programming, LanguageType::Markup],
             disabled_fields: Vec::default(),
             no_title: Default::default(),
         }
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 975a57eb8..e6d2143dd 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -19,10 +19,9 @@ pub fn get_main_language(loc_by_language: &[(Language, usize)]) -> Language {
 pub fn get_loc_by_language_sorted(
     dir: &Path,
     globs_to_exclude: &[String],
-    language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
-    let stats = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
+    let stats = match get_statistics(dir, globs_to_exclude, include_hidden) {
         Ok(stats) => stats,
         Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
     };
@@ -43,7 +42,6 @@ pub fn get_total_size(loc_by_language: &[(Language, usize)]) -> usize {
 fn get_statistics(
     dir: &Path,
     globs_to_exclude: &[String],
-    language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<gengo::Analysis, Box<dyn Error>> {
     // TODO Determine best way to ignore files (and if that should continue to be handled by onefetch)
@@ -51,7 +49,3 @@ fn get_statistics(
     let gengo = Builder::new(file_source).build()?;
     gengo.analyze()
 }
-
-fn filter_languages_on_type(types: &[LanguageType]) -> ! {
-    todo!("Determine if this is even necessary")
-}
diff --git a/src/info/mod.rs b/src/info/mod.rs
index 6d79b0013..640a38b89 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -123,14 +123,12 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
 
     let loc_by_language_sorted_handle = std::thread::spawn({
         let globs_to_exclude = cli_options.info.exclude.clone();
-        let language_types = cli_options.info.r#type.clone();
         let include_hidden = cli_options.info.include_hidden;
         let workdir = repo_path.clone();
         move || {
             langs::get_loc_by_language_sorted(
                 &workdir,
                 &globs_to_exclude,
-                &language_types,
                 include_hidden,
             )
         }

From 2c2dc5c491da9c4667586c831245bd9f29b85208 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 30 Apr 2024 13:10:19 +0000
Subject: [PATCH 12/35] Remove unused helper functions

---
 src/info/langs/language.rs   | 23 -----------------------
 src/info/langs/language.tera | 25 -------------------------
 2 files changed, 48 deletions(-)

diff --git a/src/info/langs/language.rs b/src/info/langs/language.rs
index 4fcfd31e5..feba788fe 100644
--- a/src/info/langs/language.rs
+++ b/src/info/langs/language.rs
@@ -176,29 +176,6 @@ impl InfoField for LanguagesInfo {
     }
 }
 
-/// Counts the lines-of-code of a tokei `Language`. Takes into
-/// account that a prose language's comments *are* its code.
-pub fn loc<Any1, Any2>(language_type: Any1, language: Any2) -> usize {
-    todo!("Determining if this is necessary")
-    // __loc(language_type, language)
-    //     + language
-    //         .children
-    //         .iter()
-    //         .fold(0, |sum, (lang_type, reports)| {
-    //             sum + reports
-    //                 .iter()
-    //                 .fold(0, |sum, report| sum + stats_loc(lang_type, &report.stats))
-    //         })
-}
-
-/// Counts the lines-of-code of a tokei `Report`. This is the child of a
-/// `tokei::CodeStats`.
-pub fn stats_loc<Any1, Any2>(language_type: Any1, stats: Any2) -> usize {
-    todo!("Determining if this is necessary")
-    // let stats = stats.summarise();
-    // __stats_loc(language_type, &stats)
-}
-
 #[cfg(test)]
 mod test {
     use super::*;
diff --git a/src/info/langs/language.tera b/src/info/langs/language.tera
index fa797a013..0ffe4f474 100644
--- a/src/info/langs/language.tera
+++ b/src/info/langs/language.tera
@@ -112,31 +112,6 @@ impl Language {
     }
 }
 
-fn __loc<Any1, Any2>(language_type: Any1, language: Any2) -> usize {
-    todo!("Determine if this is necessary")
-    // match language_type {
-    //     {% for language, attrs in languages -%}
-    //         {%- set line_types = attrs.line_types | default(value=['code']) -%}
-    //         tokei::LanguageType::{{ language }} => language.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + language.{{ line_type }}{% endfor %},
-    //     {% endfor %}
-    //     _ => unimplemented!("Language Type {:?}", language_type),
-    // }
-}
-
-
-fn __stats_loc<Any1, Any2>(language_type: Any1, stats: Any2) -> usize {
-    todo!("Determine if this is necessary")
-    // match language_type {
-	// {% for language, attrs in languages -%}
-    //     {%- set line_types = attrs.line_types | default(value=['code']) -%}
-	//     {%- if attrs.line_types -%}
-    //         tokei::LanguageType::{{ language }} => stats.{{ line_types.0 }}{% for line_type in line_types | slice(start=1) %} + stats.{{ line_type }}{% endfor %},
-	//     {% endif -%}
-    // {% endfor %}
-	// _ => stats.code
-    // }
-}
-
 {% for language, attrs in languages -%}
     {% if attrs.colors.rgb %}
         {% set ansi_length = attrs.colors.ansi | length -%}

From 87ad67148b624fde97e128ff6d90a8b74aee4e26 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 2 May 2024 13:31:32 +0000
Subject: [PATCH 13/35] Revert "Remove filtering by language type"

This reverts commit 7c7c29a2c71b87d8c63758ee14f9e677f3cf65e4.
---
 src/cli.rs            | 10 ++++++++++
 src/info/langs/mod.rs |  8 +++++++-
 src/info/mod.rs       |  2 ++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/cli.rs b/src/cli.rs
index 32e41685c..67b9dca09 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -87,6 +87,15 @@ pub struct InfoCliOptions {
     /// Count hidden files and directories
     #[arg(long)]
     pub include_hidden: bool,
+    /// Filters output by language type
+    #[arg(
+        long,
+        num_args = 1..,
+        default_values = &["programming", "markup"],
+        short = 'T',
+        value_enum,
+    )]
+    pub r#type: Vec<LanguageType>,
 }
 
 #[derive(Clone, Debug, Args, PartialEq, Eq)]
@@ -235,6 +244,7 @@ impl Default for InfoCliOptions {
             no_merges: Default::default(),
             email: Default::default(),
             include_hidden: Default::default(),
+            r#type: vec![LanguageType::Programming, LanguageType::Markup],
             disabled_fields: Vec::default(),
             no_title: Default::default(),
         }
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index e6d2143dd..975a57eb8 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -19,9 +19,10 @@ pub fn get_main_language(loc_by_language: &[(Language, usize)]) -> Language {
 pub fn get_loc_by_language_sorted(
     dir: &Path,
     globs_to_exclude: &[String],
+    language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
-    let stats = match get_statistics(dir, globs_to_exclude, include_hidden) {
+    let stats = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
         Ok(stats) => stats,
         Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
     };
@@ -42,6 +43,7 @@ pub fn get_total_size(loc_by_language: &[(Language, usize)]) -> usize {
 fn get_statistics(
     dir: &Path,
     globs_to_exclude: &[String],
+    language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<gengo::Analysis, Box<dyn Error>> {
     // TODO Determine best way to ignore files (and if that should continue to be handled by onefetch)
@@ -49,3 +51,7 @@ fn get_statistics(
     let gengo = Builder::new(file_source).build()?;
     gengo.analyze()
 }
+
+fn filter_languages_on_type(types: &[LanguageType]) -> ! {
+    todo!("Determine if this is even necessary")
+}
diff --git a/src/info/mod.rs b/src/info/mod.rs
index 640a38b89..6d79b0013 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -123,12 +123,14 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
 
     let loc_by_language_sorted_handle = std::thread::spawn({
         let globs_to_exclude = cli_options.info.exclude.clone();
+        let language_types = cli_options.info.r#type.clone();
         let include_hidden = cli_options.info.include_hidden;
         let workdir = repo_path.clone();
         move || {
             langs::get_loc_by_language_sorted(
                 &workdir,
                 &globs_to_exclude,
+                &language_types,
                 include_hidden,
             )
         }

From 63f80561080ed3282481a98cf7dd09b265ac55e7 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 2 May 2024 14:50:50 +0000
Subject: [PATCH 14/35] Re-implement `-T` prompt

Re-implements filtering languages by their type.
---
 .github/wiki/Command-line-options.md |  2 +-
 docs/onefetch.1                      |  2 +-
 src/cli.rs                           |  4 ++--
 src/info/langs/language.rs           | 30 ++++++++++++++++++++++++++++
 src/info/langs/language.tera         | 16 ---------------
 src/info/langs/mod.rs                | 23 +++++++++++++++------
 6 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/.github/wiki/Command-line-options.md b/.github/wiki/Command-line-options.md
index 9d7135f35..d9410ec36 100644
--- a/.github/wiki/Command-line-options.md
+++ b/.github/wiki/Command-line-options.md
@@ -57,7 +57,7 @@ INFO:
   -T, --type <TYPE>...
           Filters output by language type
 
-          [default: programming markup]
+          [default: programming markup query]
           [possible values: programming, markup, prose, data]
 
 TEXT FORMATTING:
diff --git a/docs/onefetch.1 b/docs/onefetch.1
index cddd36a16..5aeed17da 100644
--- a/docs/onefetch.1
+++ b/docs/onefetch.1
@@ -79,7 +79,7 @@ Count hidden files and directories
 .IP
 Filters output by language type
 .IP
-[default: programming markup]
+[default: programming markup query]
 [possible values: programming, markup, prose, data]
 .SS "TEXT FORMATTING:"
 .HP
diff --git a/src/cli.rs b/src/cli.rs
index 67b9dca09..d9239c7ec 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -91,7 +91,7 @@ pub struct InfoCliOptions {
     #[arg(
         long,
         num_args = 1..,
-        default_values = &["programming", "markup"],
+        default_values = &["programming", "markup", "query"],
         short = 'T',
         value_enum,
     )]
@@ -244,7 +244,7 @@ impl Default for InfoCliOptions {
             no_merges: Default::default(),
             email: Default::default(),
             include_hidden: Default::default(),
-            r#type: vec![LanguageType::Programming, LanguageType::Markup],
+            r#type: LanguageType::DEFAULT_ARGS.to_vec(),
             disabled_fields: Vec::default(),
             no_title: Default::default(),
         }
diff --git a/src/info/langs/language.rs b/src/info/langs/language.rs
index feba788fe..18742c41c 100644
--- a/src/info/langs/language.rs
+++ b/src/info/langs/language.rs
@@ -1,9 +1,39 @@
 use crate::info::utils::info_field::InfoField;
+use clap::builder::PossibleValue;
+use gengo::language::Category;
 use owo_colors::OwoColorize;
 use serde::Serialize;
 
 include!(concat!(env!("OUT_DIR"), "/language.rs"));
 
+#[derive(Clone, PartialEq, Eq, Debug)]
+pub struct LanguageType(pub Category);
+
+impl LanguageType {
+    pub(crate) const DEFAULT_ARGS: [Self;3] = [Self(Category::Programming), Self(Category::Markup), Self(Category::Query)];
+    // pub(crate) const VARIANTS: [Self;5]
+}
+
+impl clap::ValueEnum for LanguageType {
+    fn value_variants<'a>() -> &'a [Self] {
+        use Category::*;
+        &[Self(Programming), Self(Markup), Self(Prose), Self(Data), Self(Query)]
+    }
+
+    fn to_possible_value(&self) -> Option<PossibleValue> {
+        use Category::*;
+        let possible_value = match self.0 {
+            Programming => "programming",
+            Markup => "markup",
+            Prose => "prose",
+            Data => "data",
+            Query => "query",
+            _ => return None,
+        };
+        Some(PossibleValue::new(possible_value))
+    }
+}
+
 const LANGUAGES_BAR_LENGTH: usize = 26;
 
 #[derive(Serialize)]
diff --git a/src/info/langs/language.tera b/src/info/langs/language.tera
index 0ffe4f474..2311a2239 100644
--- a/src/info/langs/language.tera
+++ b/src/info/langs/language.tera
@@ -12,14 +12,6 @@ pub struct Colors {
     true_colors: Option<Vec<DynColors>>,
 }
 
-#[derive(Clone, PartialEq, Eq, Debug, clap::ValueEnum)]
-pub enum LanguageType {
-    Programming,
-    Markup,
-    Prose,
-    Data,
-}
-
 #[derive(Clone, Copy, PartialEq, Eq, Hash, EnumIter, clap::ValueEnum, Debug, Serialize)]
 #[allow(clippy::upper_case_acronyms)]
 #[clap(rename_all = "lowercase")]
@@ -94,14 +86,6 @@ impl Language {
         }
     }
 
-    pub fn get_type(&self) -> LanguageType {
-        match self {
-            {% for language, attrs in languages -%}
-                Language::{{ language }} => LanguageType::{{ attrs.type | title }},
-            {% endfor %}
-        }
-    }
-
     pub fn get_circle_color(&self) -> DynColors {
         match self {
             {% for language, attrs in languages -%}
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 975a57eb8..cedfc9264 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -22,13 +22,28 @@ pub fn get_loc_by_language_sorted(
     language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
-    let stats = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
+    let analysis = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
         Ok(stats) => stats,
         Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
     };
 
     // NOTE If finer control is ever needed, summary_with can be used.
-    let mut size_by_language: Vec<(Language, _)> = stats.summary().iter().filter_map(|(lang, size)| (*lang).try_into().map(|l| (l, *size)).ok()).collect();
+    let mut size_by_language: Vec<(Language, _)> = analysis.iter()
+        .filter(|(_, entry)| {
+            let lang_type = LanguageType(entry.language().category());
+            language_types.contains(&lang_type)
+        })
+        .filter_map(|(_, entry)| {
+            let language = *entry.language();
+            let language: Option<Language> = language.try_into().ok();
+            language.map(|language: Language| (language, entry.size()))
+        })
+        .fold(HashMap::new(), |mut acc, (language, size)| {
+            *acc.entry(language).or_insert(0) += size;
+            acc
+        })
+        .into_iter()
+        .collect();
     // NOTE Sort by size (descending) first, then by language name (ascending) in case the size is equal
     size_by_language.sort_by_key(|(language, size)| (usize::MAX - *size, language.to_string()));
 
@@ -51,7 +66,3 @@ fn get_statistics(
     let gengo = Builder::new(file_source).build()?;
     gengo.analyze()
 }
-
-fn filter_languages_on_type(types: &[LanguageType]) -> ! {
-    todo!("Determine if this is even necessary")
-}

From cf9a80f74117dafcce24d484cf3e852b05a493b0 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 2 May 2024 20:04:40 +0000
Subject: [PATCH 15/35] Revert "Make info labels more accurate"

This reverts commit e84787bcf0bc1bddfa41356662c808bd7ec485fd.
---
 src/info/mod.rs                    |  6 +++---
 src/info/{repo_size.rs => size.rs} | 16 ++++++++--------
 2 files changed, 11 insertions(+), 11 deletions(-)
 rename src/info/{repo_size.rs => size.rs} (91%)

diff --git a/src/info/mod.rs b/src/info/mod.rs
index 6d79b0013..f46a44039 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -14,7 +14,7 @@ use self::last_change::LastChangeInfo;
 use self::license::LicenseInfo;
 use self::pending::PendingInfo;
 use self::project::ProjectInfo;
-use self::repo_size::RepoSizeInfo;
+use self::size::SizeInfo;
 use self::title::Title;
 use self::url::get_repo_url;
 use self::url::UrlInfo;
@@ -45,7 +45,7 @@ mod last_change;
 mod license;
 mod pending;
 mod project;
-mod repo_size;
+mod size;
 mod title;
 mod url;
 pub mod utils;
@@ -288,7 +288,7 @@ impl InfoBuilder {
 
     fn size(mut self, repo: &Repository, number_separator: NumberSeparator) -> Self {
         if !self.disabled_fields.contains(&InfoType::Size) {
-            let size = RepoSizeInfo::new(repo, number_separator);
+            let size = SizeInfo::new(repo, number_separator);
             self.info_fields.push(Box::new(size));
         }
         self
diff --git a/src/info/repo_size.rs b/src/info/size.rs
similarity index 91%
rename from src/info/repo_size.rs
rename to src/info/size.rs
index b98013eeb..7752eb027 100644
--- a/src/info/repo_size.rs
+++ b/src/info/size.rs
@@ -8,14 +8,14 @@ use serde::Serialize;
 
 #[derive(Serialize)]
 #[serde(rename_all = "camelCase")]
-pub struct RepoSizeInfo {
+pub struct SizeInfo {
     pub repo_size: String,
     pub file_count: u64,
     #[serde(skip_serializing)]
     number_separator: NumberSeparator,
 }
 
-impl RepoSizeInfo {
+impl SizeInfo {
     pub fn new(repo: &Repository, number_separator: NumberSeparator) -> Self {
         let (repo_size, file_count) = get_repo_size(repo);
         Self {
@@ -44,7 +44,7 @@ fn bytes_to_human_readable(bytes: u64) -> String {
     format!("{adjusted_byte_based:#.2}")
 }
 
-impl std::fmt::Display for RepoSizeInfo {
+impl std::fmt::Display for SizeInfo {
     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
         match self.file_count {
             0 => write!(f, "{}", &self.repo_size),
@@ -62,12 +62,12 @@ impl std::fmt::Display for RepoSizeInfo {
 }
 
 #[typetag::serialize]
-impl InfoField for RepoSizeInfo {
+impl InfoField for SizeInfo {
     fn value(&self) -> String {
         self.to_string()
     }
     fn title(&self) -> String {
-        "Repository Size".into()
+        "Size".into()
     }
 }
 
@@ -79,7 +79,7 @@ mod test {
 
     #[test]
     fn test_display_size_info() {
-        let size_info = RepoSizeInfo {
+        let size_info = SizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 123,
             number_separator: NumberSeparator::Plain,
@@ -90,7 +90,7 @@ mod test {
 
     #[test]
     fn test_display_size_info_no_files() {
-        let size_info = RepoSizeInfo {
+        let size_info = SizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 0,
             number_separator: NumberSeparator::Plain,
@@ -101,7 +101,7 @@ mod test {
 
     #[test]
     fn test_display_size_info_one_files() {
-        let size_info = RepoSizeInfo {
+        let size_info = SizeInfo {
             repo_size: "2.40 MiB".to_string(),
             file_count: 1,
             number_separator: NumberSeparator::Plain,

From 68f43cddc63f839cb1d745161468d06f5f03a32d Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 2 May 2024 20:07:33 +0000
Subject: [PATCH 16/35] Remove unused fn

---
 src/info/langs/mod.rs | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index cedfc9264..ead02dafc 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -50,11 +50,6 @@ pub fn get_loc_by_language_sorted(
     Ok(size_by_language)
 }
 
-pub fn get_total_size(loc_by_language: &[(Language, usize)]) -> usize {
-    let total_loc: usize = loc_by_language.iter().map(|(_, v)| v).sum();
-    total_loc
-}
-
 fn get_statistics(
     dir: &Path,
     globs_to_exclude: &[String],

From 6bee2c2287fd4ccab306b4ab132074b8d5368923 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Thu, 2 May 2024 20:10:24 +0000
Subject: [PATCH 17/35] Replace references to LoC with size

---
 src/info/langs/language.rs |  6 +++---
 src/info/langs/mod.rs      | 10 +++++-----
 src/info/mod.rs            | 14 +++++++-------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/info/langs/language.rs b/src/info/langs/language.rs
index 18742c41c..9fcba0396 100644
--- a/src/info/langs/language.rs
+++ b/src/info/langs/language.rs
@@ -56,14 +56,14 @@ pub struct LanguagesInfo {
 
 impl LanguagesInfo {
     pub fn new(
-        loc_by_language: &[(Language, usize)],
+        size_by_language: &[(Language, usize)],
         true_color: bool,
         number_of_languages_to_display: usize,
         info_color: DynColors,
     ) -> Self {
-        let total: usize = loc_by_language.iter().map(|(_, v)| v).sum();
+        let total: usize = size_by_language.iter().map(|(_, v)| v).sum();
 
-        let weight_by_language: Vec<(Language, f64)> = loc_by_language
+        let weight_by_language: Vec<(Language, f64)> = size_by_language
             .iter()
             .map(|(k, v)| {
                 let mut val = *v as f64;
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index ead02dafc..5d046907d 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -9,14 +9,14 @@ use strum::IntoEnumIterator;
 
 pub mod language;
 
-pub fn get_main_language(loc_by_language: &[(Language, usize)]) -> Language {
-    loc_by_language[0].0
+pub fn get_main_language(size_by_language: &[(Language, usize)]) -> Language {
+    size_by_language[0].0
 }
 
 /// Returns a vector of tuples containing all the languages detected inside the repository.
-/// Each tuple is composed of the language and its corresponding loc (lines of code).
-/// The vector is sorted by loc in descending order.
-pub fn get_loc_by_language_sorted(
+/// Each tuple is composed of the language and its corresponding blob size.
+/// The vector is sorted by size in descending order.
+pub fn get_size_by_language_sorted(
     dir: &Path,
     globs_to_exclude: &[String],
     language_types: &[LanguageType],
diff --git a/src/info/mod.rs b/src/info/mod.rs
index f46a44039..2d488be9e 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -121,13 +121,13 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
     repo.object_cache_size_if_unset(4 * 1024 * 1024);
     let repo_path = get_work_dir(&repo)?;
 
-    let loc_by_language_sorted_handle = std::thread::spawn({
+    let size_by_language_sorted_handle = std::thread::spawn({
         let globs_to_exclude = cli_options.info.exclude.clone();
         let language_types = cli_options.info.r#type.clone();
         let include_hidden = cli_options.info.include_hidden;
         let workdir = repo_path.clone();
         move || {
-            langs::get_loc_by_language_sorted(
+            langs::get_size_by_language_sorted(
                 &workdir,
                 &globs_to_exclude,
                 &language_types,
@@ -136,7 +136,7 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
         }
     });
 
-    let loc_by_language = loc_by_language_sorted_handle
+    let size_by_language = size_by_language_sorted_handle
         .join()
         .ok()
         .context("BUG: panic in language statistics thread")??;
@@ -154,7 +154,7 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
         When::Never => false,
         When::Auto => is_truecolor_terminal(),
     };
-    let dominant_language = langs::get_main_language(&loc_by_language);
+    let dominant_language = langs::get_main_language(&size_by_language);
     let ascii_colors = get_ascii_colors(
         &cli_options.ascii.ascii_language,
         &dominant_language,
@@ -181,7 +181,7 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
         .version(&repo, &manifest)?
         .created(&git_metrics, iso_time)
         .languages(
-            &loc_by_language,
+            &size_by_language,
             true_color,
             number_of_languages_to_display,
             &text_colors,
@@ -312,14 +312,14 @@ impl InfoBuilder {
 
     fn languages(
         mut self,
-        loc_by_language: &[(Language, usize)],
+        size_by_language: &[(Language, usize)],
         true_color: bool,
         number_of_languages: usize,
         text_colors: &TextColors,
     ) -> Self {
         if !self.disabled_fields.contains(&InfoType::Languages) {
             let languages = LanguagesInfo::new(
-                loc_by_language,
+                size_by_language,
                 true_color,
                 number_of_languages,
                 text_colors.info,

From ae5e3e494406ea4c7bee075b6e582c30ab870c2e Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Fri, 3 May 2024 14:32:07 +0000
Subject: [PATCH 18/35] Re-implement `--include-hidden`

---
 src/info/langs/mod.rs | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 5d046907d..349e21eb4 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -29,6 +29,7 @@ pub fn get_size_by_language_sorted(
 
     // NOTE If finer control is ever needed, summary_with can be used.
     let mut size_by_language: Vec<(Language, _)> = analysis.iter()
+        .filter(|(path, _)| include_hidden || !is_hidden(path))
         .filter(|(_, entry)| {
             let lang_type = LanguageType(entry.language().category());
             language_types.contains(&lang_type)
@@ -61,3 +62,25 @@ fn get_statistics(
     let gengo = Builder::new(file_source).build()?;
     gengo.analyze()
 }
+
+/// Returns `true` if the file is or any of its containing directories are hidden.
+fn is_hidden(path: impl AsRef<Path>) -> bool {
+    path.as_ref().components().any(|c| {
+        c.as_os_str().to_string_lossy().starts_with('.')
+    })
+}
+
+#[cfg(test)]
+mod tests {
+    use rstest::rstest;
+
+    #[rstest]
+    #[case("file", false)]
+    #[case("path/to/file", false)]
+    #[case(".file", true)]
+    #[case(".path/to/file", true)]
+    #[case("path/.to/file", true)]
+    fn test_is_hidden(#[case] path: &str, #[case] expected: bool) {
+        assert_eq!(super::is_hidden(path), expected);
+    }
+}

From fcb16c886f5c86c758713b1eb86b8e7620e01c5e Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Fri, 3 May 2024 14:43:44 +0000
Subject: [PATCH 19/35] Re-implement `--exclude`

---
 src/info/langs/mod.rs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index 349e21eb4..b6008a91e 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -6,6 +6,7 @@ use std::collections::HashMap;
 use std::error::Error;
 use std::path::Path;
 use strum::IntoEnumIterator;
+use globset::{Glob, GlobSetBuilder};
 
 pub mod language;
 
@@ -22,6 +23,13 @@ pub fn get_size_by_language_sorted(
     language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
+    let globset = globs_to_exclude.iter()
+        .filter_map(|glob| Glob::new(glob).ok())
+        .fold(GlobSetBuilder::new(), |mut builder, glob| {
+            builder.add(glob);
+            builder
+        })
+        .build()?;
     let analysis = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
         Ok(stats) => stats,
         Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
@@ -30,6 +38,7 @@ pub fn get_size_by_language_sorted(
     // NOTE If finer control is ever needed, summary_with can be used.
     let mut size_by_language: Vec<(Language, _)> = analysis.iter()
         .filter(|(path, _)| include_hidden || !is_hidden(path))
+        .filter(|(path, _)| !globset.is_match(path))
         .filter(|(_, entry)| {
             let lang_type = LanguageType(entry.language().category());
             language_types.contains(&lang_type)

From 9e5a263d12f381fc169f9997d0e52d14caa7a2c1 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Fri, 3 May 2024 14:46:54 +0000
Subject: [PATCH 20/35] `cargo fix`, `cargo fmt`, and manual cleanup

---
 src/info/langs/language.rs | 14 ++++++++++++--
 src/info/langs/mod.rs      | 32 ++++++++++++++------------------
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/src/info/langs/language.rs b/src/info/langs/language.rs
index 9fcba0396..3b27bcfa9 100644
--- a/src/info/langs/language.rs
+++ b/src/info/langs/language.rs
@@ -10,14 +10,24 @@ include!(concat!(env!("OUT_DIR"), "/language.rs"));
 pub struct LanguageType(pub Category);
 
 impl LanguageType {
-    pub(crate) const DEFAULT_ARGS: [Self;3] = [Self(Category::Programming), Self(Category::Markup), Self(Category::Query)];
+    pub(crate) const DEFAULT_ARGS: [Self; 3] = [
+        Self(Category::Programming),
+        Self(Category::Markup),
+        Self(Category::Query),
+    ];
     // pub(crate) const VARIANTS: [Self;5]
 }
 
 impl clap::ValueEnum for LanguageType {
     fn value_variants<'a>() -> &'a [Self] {
         use Category::*;
-        &[Self(Programming), Self(Markup), Self(Prose), Self(Data), Self(Query)]
+        &[
+            Self(Programming),
+            Self(Markup),
+            Self(Prose),
+            Self(Data),
+            Self(Query),
+        ]
     }
 
     fn to_possible_value(&self) -> Option<PossibleValue> {
diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index b6008a91e..c85a90d82 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -1,12 +1,11 @@
-use anyhow::{anyhow, Context, Result};
-use gengo::{analysis, FileSource, Git, Builder};
-use gix::filter::plumbing::eol::Stats;
+use anyhow::{anyhow, Result};
+use gengo::{Builder, Git};
+
+use globset::{Glob, GlobSetBuilder};
 use language::{Language, LanguageType};
 use std::collections::HashMap;
 use std::error::Error;
 use std::path::Path;
-use strum::IntoEnumIterator;
-use globset::{Glob, GlobSetBuilder};
 
 pub mod language;
 
@@ -23,20 +22,22 @@ pub fn get_size_by_language_sorted(
     language_types: &[LanguageType],
     include_hidden: bool,
 ) -> Result<Vec<(Language, usize)>> {
-    let globset = globs_to_exclude.iter()
+    let globset = globs_to_exclude
+        .iter()
         .filter_map(|glob| Glob::new(glob).ok())
         .fold(GlobSetBuilder::new(), |mut builder, glob| {
             builder.add(glob);
             builder
         })
         .build()?;
-    let analysis = match get_statistics(dir, globs_to_exclude, language_types, include_hidden) {
+    let analysis = match get_statistics(dir) {
         Ok(stats) => stats,
-        Err(e) => return Err(anyhow!("Could not analyze repository: {}", e))
+        Err(e) => return Err(anyhow!("Could not analyze repository: {}", e)),
     };
 
     // NOTE If finer control is ever needed, summary_with can be used.
-    let mut size_by_language: Vec<(Language, _)> = analysis.iter()
+    let mut size_by_language: Vec<(Language, _)> = analysis
+        .iter()
         .filter(|(path, _)| include_hidden || !is_hidden(path))
         .filter(|(path, _)| !globset.is_match(path))
         .filter(|(_, entry)| {
@@ -60,12 +61,7 @@ pub fn get_size_by_language_sorted(
     Ok(size_by_language)
 }
 
-fn get_statistics(
-    dir: &Path,
-    globs_to_exclude: &[String],
-    language_types: &[LanguageType],
-    include_hidden: bool,
-) -> Result<gengo::Analysis, Box<dyn Error>> {
+fn get_statistics(dir: &Path) -> Result<gengo::Analysis, Box<dyn Error>> {
     // TODO Determine best way to ignore files (and if that should continue to be handled by onefetch)
     let file_source = Git::new(dir, "HEAD")?;
     let gengo = Builder::new(file_source).build()?;
@@ -74,9 +70,9 @@ fn get_statistics(
 
 /// Returns `true` if the file is or any of its containing directories are hidden.
 fn is_hidden(path: impl AsRef<Path>) -> bool {
-    path.as_ref().components().any(|c| {
-        c.as_os_str().to_string_lossy().starts_with('.')
-    })
+    path.as_ref()
+        .components()
+        .any(|c| c.as_os_str().to_string_lossy().starts_with('.'))
 }
 
 #[cfg(test)]

From 82da923be01d27b7eed51e0835e7e239582ba512 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Fri, 3 May 2024 15:00:33 +0000
Subject: [PATCH 21/35] Fix OOB error

This was introduced by the removal of `get_loc_by_language`, which had
a check to return `None` if the total LoC was `0`. This will now check
if the list of languages is empty.
---
 src/info/langs/mod.rs | 10 +++++++---
 src/info/mod.rs       |  2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/info/langs/mod.rs b/src/info/langs/mod.rs
index c85a90d82..7893bfd87 100644
--- a/src/info/langs/mod.rs
+++ b/src/info/langs/mod.rs
@@ -1,4 +1,4 @@
-use anyhow::{anyhow, Result};
+use anyhow::{anyhow, Context, Result};
 use gengo::{Builder, Git};
 
 use globset::{Glob, GlobSetBuilder};
@@ -9,8 +9,12 @@ use std::path::Path;
 
 pub mod language;
 
-pub fn get_main_language(size_by_language: &[(Language, usize)]) -> Language {
-    size_by_language[0].0
+pub fn get_main_language(size_by_language: &[(Language, usize)]) -> Result<Language> {
+    // TODO This function only works with an already-sorted slice, so it doesn't have much utility
+    let (language, _) = size_by_language
+        .get(0)
+        .context("Could not find any source code in this repository")?;
+    Ok(*language)
 }
 
 /// Returns a vector of tuples containing all the languages detected inside the repository.
diff --git a/src/info/mod.rs b/src/info/mod.rs
index 44500db77..612d7ebaf 100644
--- a/src/info/mod.rs
+++ b/src/info/mod.rs
@@ -158,7 +158,7 @@ pub fn build_info(cli_options: &CliOptions) -> Result<Info> {
         When::Never => false,
         When::Auto => is_truecolor_terminal(),
     };
-    let dominant_language = langs::get_main_language(&size_by_language);
+    let dominant_language = langs::get_main_language(&size_by_language)?;
     let ascii_colors = get_ascii_colors(
         &cli_options.ascii.ascii_language,
         &dominant_language,

From 7727039c1273212d16b6dc77b45d7e1b080dc314 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Fri, 3 May 2024 15:04:34 +0000
Subject: [PATCH 22/35] Handle rename from `Sh` to `Shell`

---
 src/ui/mod.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ui/mod.rs b/src/ui/mod.rs
index a84a6c2d0..fb47589fd 100644
--- a/src/ui/mod.rs
+++ b/src/ui/mod.rs
@@ -88,7 +88,7 @@ mod test {
 
     #[test]
     fn get_ascii_colors_custom_language_no_custom_colors_no_true_color() {
-        let colors = get_ascii_colors(&Some(Language::Sh), &Language::Rust, &[], false);
+        let colors = get_ascii_colors(&Some(Language::Shell), &Language::Rust, &[], false);
         assert_eq!(colors.len(), 1);
         assert_eq!(colors, vec![DynColors::Ansi(AnsiColors::Green)]);
     }

From d280b5f6fed488cec5698f0fd7caf860ba15aafd Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 22 May 2024 18:51:02 +0000
Subject: [PATCH 23/35] Uncomment/rename some languages

---
 languages.yaml | 527 ++++++++++++++++++++++++-------------------------
 1 file changed, 259 insertions(+), 268 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index bf55bf5a5..a64d575db 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -699,34 +699,33 @@ Erlang:
     ansi:
       - red
     chip: "#B83998"
-# TODO
-# Forth:
-#   type: programming
-#   ascii: |
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::          ::::::
-#     {0}::::::          ::::::::         :::::::
-#     {0}::::::::::::::::::::::::::     :::::::::
-#     {0}::::::::::::::::::::::::     :::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::::::
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#341708"
+Forth:
+  type: programming
+  ascii: |
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::          ::::::
+    {0}::::::          ::::::::         :::::::
+    {0}::::::::::::::::::::::::::     :::::::::
+    {0}::::::::::::::::::::::::     :::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::::::
+  colors:
+    ansi:
+      - red
+    chip: "#341708"
 FortranLegacy:
   type: programming
   ascii: |
@@ -842,37 +841,36 @@ Gdscript:
       - "#458DC0"
       - "#FFFFFF"
     chip: "#355570"
-# TODO
-# Glsl:
-#   type: programming
-#   ascii: |
-#     {0}         ,,@@@@@@@@@@@@@@@@@..
-#     {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
-#     {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
-#     {0}   ,@@@@@@@@'              `@@@@@@@.
-#     {0} ,@@@@@@@@'                    `@@@@.
-#     {0},@@@@@@@'                         `@@.
-#     {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
-#     {0}@@@@@@  {1}/:::::||:|      /:::::||:|
-#     {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
-#     {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
-#     {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
-#     {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
-#     {0}@@@@@@@.                            ,@
-#     {0}`@@@@@@@.                         ,@@'
-#     {0} `@@@@@@@@.                    ,@@@@'
-#     {0}   `@@@@@@@@.              ,@@@@@@@'
-#     {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
-#     {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
-#     {0}         ``@@@@@@@@@@@@@@@@@''
-#   colors:
-#     ansi:
-#       - blue
-#       - magenta
-#     hex:
-#       - "#5487a6"
-#       - "#bc258e"
-#     chip: "#5686a5"
+Glsl:
+  type: programming
+  ascii: |
+    {0}         ,,@@@@@@@@@@@@@@@@@..
+    {0}       ,@@@@@@@@@@@@@@@@@@@@@@@.
+    {0}     ,@@@@@@@@@@@@@@@@@@@@@@@@@@@.
+    {0}   ,@@@@@@@@'              `@@@@@@@.
+    {0} ,@@@@@@@@'                    `@@@@.
+    {0},@@@@@@@'                         `@@.
+    {0}@@@@@@@' {1}_____  _        _____  _   {0}`@
+    {0}@@@@@@  {1}/:::::||:|      /:::::||:|
+    {0}@@@@@@ {1}|:|  __ |:|     |:(___  |:|
+    {0}@@@@@@ {1}|:| |::||:|      \::::\ |:|
+    {0}@@@@@@ {1}|:|__|:||:|____  ____):||:|____
+    {0}@@@@@@  {1}\:::::||::::::||:::::/ |::::::|
+    {0}@@@@@@@.                            ,@
+    {0}`@@@@@@@.                         ,@@'
+    {0} `@@@@@@@@.                    ,@@@@'
+    {0}   `@@@@@@@@.              ,@@@@@@@'
+    {0}     `@@@@@@@@@@@@@@@@@@@@@@@@@@@'
+    {0}       `@@@@@@@@@@@@@@@@@@@@@@@'
+    {0}         ``@@@@@@@@@@@@@@@@@''
+  colors:
+    ansi:
+      - blue
+      - magenta
+    hex:
+      - "#5487a6"
+      - "#bc258e"
+    chip: "#5686a5"
 Go:
   type: programming
   ascii: |
@@ -995,105 +993,102 @@ Haskell:
       - "#5E5086"
       - "#8F4E8B"
     chip: "#5E5086"
-# TODO
-# Haxe:
-#   type: programming
-#   ascii: |
-#     {0}#############              {2}@@@@@@@@@@@@@
-#     {0}#################      {2}@@@@@@@@@@@@@@@@@
-#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-#     {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
-#     {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
-#     {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
-#     {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
-#     {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
-#     {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
-#     {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
-#     {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
-#     {0}#################      {2}@@@@@@@@@@@@@@@@@
-#     {0}#############              {2}@@@@@@@@@@@@@
-#   colors:
-#     ansi:
-#       - yellow
-#       - yellow
-#       - yellow
-#     hex:
-#       - "#FAB20B"
-#       - "#F69912"
-#       - "#F47216"
-#     chip: "#DF7900"
-# TODO
-# Hcl:
-#   type: programming
-#   ascii: |
-#     {0}::
-#     {0}::::
-#     {0}::::::
-#     {0}::::::::
-#     {0}::::::::::
-#     {0}:::::::::: ::        {1}         ..
-#     {0}  :::::::: ::::      {1}       ....
-#     {0}    :::::: ::::::    {1}     ......
-#     {0}      :::: ::::::::  {1}   ........
-#     {0}        :: ::::::::::{1} ..........
-#     {0}           ::::::::::{1} ..........
-#     {0}             ::::::::{1} ........
-#     {0}           ::  ::::::{1} ......
-#     {0}           ::::  ::::{1} ....
-#     {0}           ::::::  ::{1} ..
-#     {0}           ::::::::
-#     {0}           ::::::::::
-#     {0}           ::::::::::
-#     {0}             ::::::::
-#     {0}               ::::::
-#     {0}                 ::::
-#     {0}                   ::
-#   colors:
-#     ansi:
-#       - magenta
-#       - magenta
-#     hex:
-#       - "#5F43E9"
-#       - "#4040B2"
-#     chip: "#AACE60"
-# TODO
-# Hlsl:
-#   type: programming
-#   ascii: |
-#     {0}████████████████  {1}████████████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████      █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████  █████████
-#     {0}█████  ██  █████  {1}█████      █████
-#     {0}████████████████  {1}████████████████
+Haxe:
+  type: programming
+  ascii: |
+    {0}#############              {2}@@@@@@@@@@@@@
+    {0}#################      {2}@@@@@@@@@@@@@@@@@
+    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+    {0}    ##{1}XXXXXXXXXXXXXXXXXXXXXXXXXXXX{2}@@
+    {0}   #####{1}XXXXXXXXXXXXXXXXXXXXXXXX{2}@@@@@
+    {0}  ########{1}XXXXXXXXXXXXXXXXXXXX{2}@@@@@@@@
+    {0} ###########{1}XXXXXXXXXXXXXXXX{2}@@@@@@@@@@@
+    {0}##############{1}XXXXXXXXXXXX{2}@@@@@@@@@@@@@@
+    {0}################{1}XXXXXXXX{2}@@@@@@@@@@@@@@@@
+    {0}##################{1}XXXX{2}@@@@@@@@@@@@@@@@@@
+    {0}###################{1}XX{2}@@@@@@@@@@@@@@@@@@@
+    {0}#################      {2}@@@@@@@@@@@@@@@@@
+    {0}#############              {2}@@@@@@@@@@@@@
+  colors:
+    ansi:
+      - yellow
+      - yellow
+      - yellow
+    hex:
+      - "#FAB20B"
+      - "#F69912"
+      - "#F47216"
+    chip: "#DF7900"
+Hcl:
+  type: programming
+  ascii: |
+    {0}::
+    {0}::::
+    {0}::::::
+    {0}::::::::
+    {0}::::::::::
+    {0}:::::::::: ::        {1}         ..
+    {0}  :::::::: ::::      {1}       ....
+    {0}    :::::: ::::::    {1}     ......
+    {0}      :::: ::::::::  {1}   ........
+    {0}        :: ::::::::::{1} ..........
+    {0}           ::::::::::{1} ..........
+    {0}             ::::::::{1} ........
+    {0}           ::  ::::::{1} ......
+    {0}           ::::  ::::{1} ....
+    {0}           ::::::  ::{1} ..
+    {0}           ::::::::
+    {0}           ::::::::::
+    {0}           ::::::::::
+    {0}             ::::::::
+    {0}               ::::::
+    {0}                 ::::
+    {0}                   ::
+  colors:
+    ansi:
+      - magenta
+      - magenta
+    hex:
+      - "#5F43E9"
+      - "#4040B2"
+    chip: "#AACE60"
+Hlsl:
+  type: programming
+  ascii: |
+    {0}████████████████  {1}████████████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████      █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████  █████████
+    {0}█████  ██  █████  {1}█████      █████
+    {0}████████████████  {1}████████████████
 
-#     {2}████████████████  {3}████████████████
-#     {2}█████      █████  {3}█████  █████████
-#     {2}█████  █████████  {3}█████  █████████
-#     {2}█████      █████  {3}█████  █████████
-#     {2}█████████  █████  {3}█████  █████████
-#     {2}█████      █████  {3}█████      █████
-#     {2}████████████████  {3}████████████████
-#   colors:
-#     ansi:
-#       - red
-#       - green
-#       - blue
-#       - yellow
-#     hex:
-#       - "#F65314"
-#       - "#7CBB00"
-#       - "#00A1F1"
-#       - "#FFBB00"
-#     chip: "#AACE60"
+    {2}████████████████  {3}████████████████
+    {2}█████      █████  {3}█████  █████████
+    {2}█████  █████████  {3}█████  █████████
+    {2}█████      █████  {3}█████  █████████
+    {2}█████████  █████  {3}█████  █████████
+    {2}█████      █████  {3}█████      █████
+    {2}████████████████  {3}████████████████
+  colors:
+    ansi:
+      - red
+      - green
+      - blue
+      - yellow
+    hex:
+      - "#F65314"
+      - "#7CBB00"
+      - "#00A1F1"
+      - "#FFBB00"
+    chip: "#AACE60"
 Holyc:
   type: programming
   ascii: |
@@ -1160,32 +1155,31 @@ Html:
       - red
       - white
     chip: "#E34C26"
-# TODO
-# Idris:
-#   type: programming
-#   ascii: |
-#     {0}       %
-#     {0}          %
-#     {0}   %&&&     %%
-#     {0}        %%    %&
-#     {0}&%%%&     %    %%
-#     {0}     %%        %%
-#     {0}       %       %%
-#     {0} %%%          %%&
-#     {0}   %%       %%%
-#     {0}    %     &%%%
-#     {0}         %%%&
-#     {0}       &%%%
-#     {0}      %%%%
-#     {0}      %%%
-#     {0}     %%%
-#     {0}     %%%
-#     {0}     &%%
-#     {0}      %%%
-#   colors:
-#     ansi:
-#       - red
-#     chip: "#B30000"
+Idris:
+  type: programming
+  ascii: |
+    {0}       %
+    {0}          %
+    {0}   %&&&     %%
+    {0}        %%    %&
+    {0}&%%%&     %    %%
+    {0}     %%        %%
+    {0}       %       %%
+    {0} %%%          %%&
+    {0}   %%       %%%
+    {0}    %     &%%%
+    {0}         %%%&
+    {0}       &%%%
+    {0}      %%%%
+    {0}      %%%
+    {0}     %%%
+    {0}     %%%
+    {0}     &%%
+    {0}      %%%
+  colors:
+    ansi:
+      - red
+    chip: "#B30000"
 Java:
   type: programming
   ascii: |
@@ -1418,35 +1412,34 @@ Kotlin:
 #     ansi:
 #       - white
 #     chip: "#3FB68B"
-# TODO
-# LLVM:
-#   type: programming
-#   ascii: |
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKKK"              "KKKKKKKK
-#     {0}KKKKKKK     KKKKKKKKKK     "KKKKK
-#     {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
-#     {0}KKKK     KKKKKKKKKKKKKKKKK
-#     {0}KKKK      KKKKKKKKKKKKKKKKK
-#     {0}KKKK        KKKKKKKKKKKKKKKK
-#     {0}KKKK           KKKKKKKKKKKKKK
-#     {0}KKKK            KKKKKKKKKKKKK
-#     {0}KKKK            ,KKKKKKKKKKKK
-#     {0}KKKKKK,    ,     KKKKKKKKKKKK
-#     {0}KKKKKKKK   KK,    `KKKKKKKKKK
-#     {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
-#     {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
-#     {0} `KKKKKKKKKKKKKKKKKKKKKKK`
-#     {0}   `KKKKKKKKKKKKKKKKKKK`
-#     {0}      `KKKKKKKKKKKKKK`
-#   colors:
-#     ansi:
-#       - red
-#     hex:
-#       - "#98012E"
-#     chip: "#185619"
+Llvm:
+  type: programming
+  ascii: |
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+    {0}KKKKKKKKK"              "KKKKKKKK
+    {0}KKKKKKK     KKKKKKKKKK     "KKKKK
+    {0}KKKKK     KKKKKKKKKKKKKKK    "KKK
+    {0}KKKK     KKKKKKKKKKKKKKKKK
+    {0}KKKK      KKKKKKKKKKKKKKKKK
+    {0}KKKK        KKKKKKKKKKKKKKKK
+    {0}KKKK           KKKKKKKKKKKKKK
+    {0}KKKK            KKKKKKKKKKKKK
+    {0}KKKK            ,KKKKKKKKKKKK
+    {0}KKKKKK,    ,     KKKKKKKKKKKK
+    {0}KKKKKKKK   KK,    `KKKKKKKKKK
+    {0}KKKKKKKKK  KKKKKKKKKKKKKKKKK
+    {0}KKKKKKKK,  ,KKKKKKKKKKKKKKK
+    {0} `KKKKKKKKKKKKKKKKKKKKKKK`
+    {0}   `KKKKKKKKKKKKKKKKKKK`
+    {0}      `KKKKKKKKKKKKKK`
+  colors:
+    ansi:
+      - red
+    hex:
+      - "#98012E"
+    chip: "#185619"
 Lua:
   type: programming
   ascii: |
@@ -1587,28 +1580,27 @@ Nix:
       - cyan
       - blue
     chip: "#7E7EFF"
-# TODO
-# ObjectiveC:
-#   type: programming
-#   ascii: |
-#     {0}888                                888
-#     {0}8    8888   8       8        8888    8
-#     {0}8   8    8  8               8    88  8
-#     {0}8  8      8 8       8      8         8
-#     {0}8  8      8 8 888   8      8         8
-#     {0}8  8      8 88   8  8 ==== 8         8
-#     {0}8  8      8 8    8  8      8      8  8
-#     {0}8   8    8  88   8  8       8    88  8
-#     {0}8    8888   8 888   8        88888   8
-#     {0}888                 8              888
-#     {0}                    8
-#     {0}                  88Y
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#     chip: "#438EFF"
-#   serialization: objective-c
+ObjectiveC:
+  type: programming
+  ascii: |
+    {0}888                                888
+    {0}8    8888   8       8        8888    8
+    {0}8   8    8  8               8    88  8
+    {0}8  8      8 8       8      8         8
+    {0}8  8      8 8 888   8      8         8
+    {0}8  8      8 88   8  8 ==== 8         8
+    {0}8  8      8 8    8  8      8      8  8
+    {0}8   8    8  88   8  8       8    88  8
+    {0}8    8888   8 888   8        88888   8
+    {0}888                 8              888
+    {0}                    8
+    {0}                  88Y
+  colors:
+    ansi:
+      - cyan
+      - blue
+    chip: "#438EFF"
+  serialization: objective-c
 Ocaml:
   type: programming
   ascii: |
@@ -2363,40 +2355,39 @@ Svelte:
       - "#FF3C00"
       - "#FFFFFF"
     chip: "#FF3E00"
-# TODO
-# Svg:
-#   type: data
-#   ascii: |
-#     {0}                 ......
-#     {0}               ....{1}--{0}....
-#     {0}        ....  {0}...{1}------{0}...  {0}....
-#     {0}     ............{1}------{0}............
-#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-#     {0}  ..........{1}----------------{0}..........
-#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-#     {0}...{1}----------------------------------{0}...
-#     {0}...{1}----------------------------------{0}...
-#     {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
-#     {0}  ..........{1}----------------{0}..........
-#     {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
-#     {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
-#     {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
-#     {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
-#     {0}     ............{1}------{0}............
-#     {0}        ....  {0}...{1}------{0}...  {0}....
-#     {0}               ....{1}--{0}....
-#     {0}                 ......
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#     hex:
-#       - "#FFFFFF"
-#       - "#EBA71F"
-#     chip: "#FF9900"
+Svg:
+  type: data
+  ascii: |
+    {0}                 ......
+    {0}               ....{1}--{0}....
+    {0}        ....  {0}...{1}------{0}...  {0}....
+    {0}     ............{1}------{0}............
+    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+    {0}  ..........{1}----------------{0}..........
+    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+    {0}...{1}----------------------------------{0}...
+    {0}...{1}----------------------------------{0}...
+    {0} ...{1}---{0}.......{1}------------{0}.......{1}---{0}...
+    {0}  ..........{1}----------------{0}..........
+    {0}     .....{1}-------{0}.{1}----{0}.{1}-------{0}.....
+    {0}    ...{1}--------{0}...{1}----{0}...{1}--------{0}...
+    {0}    ...{1}------{0}.....{1}----{0}.....{1}------{0}...
+    {0}    ...{1}-----{0}......{1}----{0}......{1}-----{0}...
+    {0}     ............{1}------{0}............
+    {0}        ....  {0}...{1}------{0}...  {0}....
+    {0}               ....{1}--{0}....
+    {0}                 ......
+  colors:
+    ansi:
+      - white
+      - yellow
+    hex:
+      - "#FFFFFF"
+      - "#EBA71F"
+    chip: "#FF9900"
 Swift:
   type: programming
   ascii: |

From 6210358e5c497453a4b0216ce3861deb713ad0c9 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 22 May 2024 18:53:02 +0000
Subject: [PATCH 24/35] Re-implement Lisp as "Common Lisp"

---
 languages.yaml | 55 +++++++++++++++++++++++++-------------------------
 src/cli.rs     |  2 +-
 2 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index a64d575db..16675ede8 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -329,6 +329,33 @@ Coldfusion:
       - "#E5F3FC"
       - "#274550"
     chip: "#ed2cd6"
+CommonLisp:
+  type: programming
+  ascii: |
+    {0}              ............
+    {0}         ********..............
+    {0}       *************.............
+    {0}     ****************..............
+    {0}   *******************...***.........
+    {0}  **...********...*****...***.........
+    {0} ***...*******...******....***.........
+    {0}****...******...*******....****.........
+    {0}*****...****...*******.....*****........
+    {0}******...**...******.......******.......
+    {0}*******......******.......***..***......
+    {0}********.....*****.......***....***.....
+    {0}*********....****.......***......***....
+    {0} *********...****......***.......***...
+    {0}  *********...***.....***........***..
+    {0}   *********...***...................
+    {0}     **************................
+    {0}       *************.............
+    {0}         **************........
+    {0}              ************
+  colors:
+    ansi:
+      - white
+    chip: "#3FB68B"
 Coq:
   type: programming
   ascii: |
@@ -1384,34 +1411,6 @@ Kotlin:
       - yellow
       - magenta
     chip: "#A97BFF"
-# TODO
-# Lisp:
-#   type: programming
-#   ascii: |
-#     {0}              ............
-#     {0}         ********..............
-#     {0}       *************.............
-#     {0}     ****************..............
-#     {0}   *******************...***.........
-#     {0}  **...********...*****...***.........
-#     {0} ***...*******...******....***.........
-#     {0}****...******...*******....****.........
-#     {0}*****...****...*******.....*****........
-#     {0}******...**...******.......******.......
-#     {0}*******......******.......***..***......
-#     {0}********.....*****.......***....***.....
-#     {0}*********....****.......***......***....
-#     {0} *********...****......***.......***...
-#     {0}  *********...***.....***........***..
-#     {0}   *********...***...................
-#     {0}     **************................
-#     {0}       *************.............
-#     {0}         **************........
-#     {0}              ************
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#3FB68B"
 Llvm:
   type: programming
   ascii: |
diff --git a/src/cli.rs b/src/cli.rs
index 832d11af3..285f354ed 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -388,7 +388,7 @@ mod test {
             },
             ascii: AsciiCliOptions {
                 ascii_colors: vec![5, 0],
-                ascii_language: Some(Language::Lisp),
+                ascii_language: Some(Language::CommonLisp),
                 ..Default::default()
             },
             visuals: VisualsCliOptions {

From 4488ed02996edfe6e82d70e0caa149c13cfbe3a8 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 22 May 2024 18:57:12 +0000
Subject: [PATCH 25/35] Uncomment CMake

---
 languages.yaml | 47 +++++++++++++++++++++++------------------------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index 16675ede8..81d3b1c4f 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -257,30 +257,29 @@ Clojure:
       - cyan
       - green
     chip: "#DB5855"
-# TODO
-# CMake:
-#   type: programming
-#   ascii: |
-#     {0}            ;e{2}`
-#     {0}           ;QD{2}?`
-#     {0}          ;B#R{2}1r`
-#     {0}         ;WRMK{2}S|r`
-#     {0}        :O9KOK{2}S\\*`
-#     {0}       :keXPk6{2}Zc7v|`
-#     {0}      :ajyoaZe{3}m{2}JJ{]\`
-#     {0}     :]z1x}f9{3}@@{2}yujSoc`
-#     {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
-#     {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
-#     {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
-#     {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
-#     {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
-#   colors:
-#     ansi:
-#       - blue
-#       - green
-#       - red
-#       - black
-#     chip: "#DA3434"
+Cmake:
+  type: programming
+  ascii: |
+    {0}            ;e{2}`
+    {0}           ;QD{2}?`
+    {0}          ;B#R{2}1r`
+    {0}         ;WRMK{2}S|r`
+    {0}        :O9KOK{2}S\\*`
+    {0}       :keXPk6{2}Zc7v|`
+    {0}      :ajyoaZe{3}m{2}JJ{]\`
+    {0}     :]z1x}f9{3}@@{2}yujSoc`
+    {0}    "7\/LvU{3}Q@@@{2}XoZemXv`
+    {0}   ,\**v{1}oo{3}qMBBB{2}kmXEkU9z`
+    {0}  ,\*}{1}Sx\||?|cFf{2}okqOdHDx`
+    {0} ,L]{1}jc\\\||?*>rr^^|zo{2}$MN]`
+    {0}-v{1}7????*>>rrr^^^;;;;;;^\{2}F^`
+  colors:
+    ansi:
+      - blue
+      - green
+      - red
+      - black
+    chip: "#DA3434"
 Coffeescript:
   type: programming
   ascii: |

From d1dc4fa2ac7cd2656e6dcdf1332dbf08d6bd26fb Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 22 May 2024 19:06:27 +0000
Subject: [PATCH 26/35] Serialize common lisp as `lisp`

---
 languages.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/languages.yaml b/languages.yaml
index 81d3b1c4f..5cffede8e 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -355,6 +355,7 @@ CommonLisp:
     ansi:
       - white
     chip: "#3FB68B"
+  serialization: lisp
 Coq:
   type: programming
   ascii: |

From 1cd9f942d6353cf4b883c7e7a13c225413fd3e48 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 22 May 2024 19:28:23 +0000
Subject: [PATCH 27/35] Update snapshot test

---
 tests/snapshots/repo__repo.snap | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/tests/snapshots/repo__repo.snap b/tests/snapshots/repo__repo.snap
index 57e03dd6d..095348b70 100644
--- a/tests/snapshots/repo__repo.snap
+++ b/tests/snapshots/repo__repo.snap
@@ -118,11 +118,6 @@ expression: info
         "churn_pool_size": 4
       }
     },
-    {
-      "LocInfo": {
-        "linesOfCode": 4
-      }
-    },
     {
       "SizeInfo": {
         "repoSize": "22 B",

From 3941074be86ab11ee4c59fe9bde3cfcf7249c6d0 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 5 Jun 2024 14:12:32 +0000
Subject: [PATCH 28/35] Add back Fish (commented out)

Fish is an incoming change, as it's different enough from other shells
to not be merged.
---
 languages.yaml | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/languages.yaml b/languages.yaml
index 5cffede8e..07a405561 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -726,6 +726,30 @@ Erlang:
     ansi:
       - red
     chip: "#B83998"
+# TODO
+# Fish:
+#   type: programming
+#   ascii: |
+#     {0}                 ___
+#     {0}  ___======____=-{1}-{0}-=)
+#     {0}/T            \_{1}--={0}==)
+#     {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
+#     {0} \      / )J~~    \{1}-={0})
+#     {0}  \\___/  )JJ~{1}~~{0}   \)
+#     {0}   \_____/JJJ~~{1}~~{0}    \
+#     {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
+#     {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
+#     {0}  (\\)  ({1}\{0}\\)_           {1}\==__
+#     {0}   \V    \\\) ===_____   {1}\\\\{0}\\
+#     {0}          \V)     \_) \\{1}\\JJ\{0}J\)
+#     {0}                      /J{1}\J{0}T\JJJJ)
+#     {0}                      (JJJ| \UUU)
+#     {0}                       (UU)
+#   colors:
+#     ansi:
+#       - red
+#       - yellow
+#     chip: "#4AAE47"
 Forth:
   type: programming
   ascii: |

From df3d730dff650cea2f4086c5fbdb1a489e5a6b13 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 17:07:30 -0400
Subject: [PATCH 29/35] Bump devcontainer OS version

---
 .devcontainer/Dockerfile        | 2 +-
 .devcontainer/devcontainer.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index eeb2ff729..823c32140 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,3 +1,3 @@
-ARG VARIANT="buster"
+ARG VARIANT="bookworm"
 FROM mcr.microsoft.com/devcontainers/rust:1-${VARIANT}
 RUN sudo apt update && sudo apt install -y cmake
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 41211582b..3987b13c3 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -2,7 +2,7 @@
   "name": "Rust",
   "build": {
     "dockerfile": "Dockerfile",
-    "args": { "VARIANT": "buster" }
+    "args": { "VARIANT": "bookworm" }
   },
   "postCreateCommand": "git config --global --add safe.directory $PWD && cargo install cargo-insta",
   "extensions": ["EditorConfig.EditorConfig"],

From 72f0c5d5088dc18f7565ae20cc47ef170f7508d5 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 21:25:14 +0000
Subject: [PATCH 30/35] Update dependencies

---
 Cargo.lock | 509 +++--------------------------------------------------
 Cargo.toml |   3 +-
 2 files changed, 26 insertions(+), 486 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index a9a1692c9..73e30a03d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -47,15 +47,6 @@ dependencies = [
  "zerocopy",
 ]
 
-[[package]]
-name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
 [[package]]
 name = "aho-corasick"
 version = "1.1.3"
@@ -71,36 +62,12 @@ version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
 
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
 [[package]]
 name = "anes"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
 [[package]]
 name = "anstream"
 version = "0.6.15"
@@ -187,17 +154,6 @@ dependencies = [
  "zstd",
 ]
 
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
 [[package]]
 name = "autocfg"
 version = "1.3.0"
@@ -395,40 +351,6 @@ version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
 
-[[package]]
-name = "chrono"
-version = "0.4.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "num-traits",
- "windows-targets",
-]
-
-[[package]]
-name = "chrono-tz"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb"
-dependencies = [
- "chrono",
- "chrono-tz-build",
- "phf",
-]
-
-[[package]]
-name = "chrono-tz-build"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1"
-dependencies = [
- "parse-zoneinfo",
- "phf",
- "phf_codegen",
-]
-
 [[package]]
 name = "ciborium"
 version = "0.2.2"
@@ -456,21 +378,6 @@ dependencies = [
  "half",
 ]
 
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags 1.3.2",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
 [[package]]
 name = "clap"
 version = "4.5.17"
@@ -490,7 +397,7 @@ dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim 0.11.1",
+ "strsim",
 ]
 
 [[package]]
@@ -499,7 +406,7 @@ version = "4.5.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9b378c786d3bde9442d2c6dd7e6080b2a818db2b96e30d6e7f1b6d224eb617d3"
 dependencies = [
- "clap 4.5.17",
+ "clap",
 ]
 
 [[package]]
@@ -559,12 +466,6 @@ dependencies = [
  "windows-sys 0.52.0",
 ]
 
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-
 [[package]]
 name = "cpufeatures"
 version = "0.2.14"
@@ -607,7 +508,7 @@ dependencies = [
  "anes",
  "cast",
  "ciborium",
- "clap 4.5.17",
+ "clap",
  "criterion-plot",
  "is-terminal",
  "itertools",
@@ -706,17 +607,6 @@ dependencies = [
  "typenum",
 ]
 
-[[package]]
-name = "dashmap"
-version = "4.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
-dependencies = [
- "cfg-if",
- "num_cpus",
- "serde",
-]
-
 [[package]]
 name = "dashmap"
 version = "6.1.0"
@@ -728,7 +618,7 @@ dependencies = [
  "hashbrown 0.14.5",
  "lock_api",
  "once_cell",
- "parking_lot_core 0.9.10",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -740,12 +630,6 @@ dependencies = [
  "powerfmt",
 ]
 
-[[package]]
-name = "deunicode"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00"
-
 [[package]]
 name = "digest"
 version = "0.10.7"
@@ -756,26 +640,6 @@ dependencies = [
  "crypto-common",
 ]
 
-[[package]]
-name = "dirs"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
 [[package]]
 name = "dunce"
 version = "1.0.5"
@@ -812,28 +676,6 @@ dependencies = [
  "cfg-if",
 ]
 
-[[package]]
-name = "encoding_rs_io"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83"
-dependencies = [
- "encoding_rs",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
-]
-
 [[package]]
 name = "equivalent"
 version = "1.0.1"
@@ -1063,15 +905,14 @@ dependencies = [
 
 [[package]]
 name = "gengo"
-version = "0.11.3"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d412f8c49b1975577107fa73cebac3619bb3ed2920789f74cc4c0b0cbacc76"
+checksum = "2000d1f3c3c130d8a2efb9d02ff0d1102f530039e967c841d951bbd6a1d998cf"
 dependencies = [
  "gix 0.63.0",
  "glob",
  "ignore",
  "indexmap",
- "once_cell",
  "proc-macro2",
  "quote",
  "rayon",
@@ -1151,7 +992,7 @@ dependencies = [
  "gix-validate 0.8.5",
  "gix-worktree 0.34.1",
  "once_cell",
- "parking_lot 0.12.3",
+ "parking_lot",
  "smallvec",
  "thiserror",
 ]
@@ -1472,7 +1313,7 @@ dependencies = [
  "jwalk",
  "libc",
  "once_cell",
- "parking_lot 0.12.3",
+ "parking_lot",
  "prodash",
  "sha1_smol",
  "thiserror",
@@ -1562,7 +1403,7 @@ checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242"
 dependencies = [
  "gix-hash",
  "hashbrown 0.14.5",
- "parking_lot 0.12.3",
+ "parking_lot",
 ]
 
 [[package]]
@@ -1721,7 +1562,7 @@ dependencies = [
  "gix-pack 0.51.1",
  "gix-path",
  "gix-quote",
- "parking_lot 0.12.3",
+ "parking_lot",
  "tempfile",
  "thiserror",
 ]
@@ -1741,7 +1582,7 @@ dependencies = [
  "gix-pack 0.53.0",
  "gix-path",
  "gix-quote",
- "parking_lot 0.12.3",
+ "parking_lot",
  "tempfile",
  "thiserror",
 ]
@@ -2039,11 +1880,11 @@ version = "14.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa"
 dependencies = [
- "dashmap 6.1.0",
+ "dashmap",
  "gix-fs",
  "libc",
  "once_cell",
- "parking_lot 0.12.3",
+ "parking_lot",
  "signal-hook",
  "signal-hook-registry",
  "tempfile",
@@ -2069,7 +1910,7 @@ dependencies = [
  "io-close",
  "is_ci",
  "once_cell",
- "parking_lot 0.12.3",
+ "parking_lot",
  "tar",
  "tempfile",
  "winnow",
@@ -2210,7 +2051,7 @@ version = "0.4.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
 dependencies = [
- "aho-corasick 1.1.3",
+ "aho-corasick",
  "bstr",
  "log",
  "regex-automata",
@@ -2228,30 +2069,6 @@ dependencies = [
  "walkdir",
 ]
 
-[[package]]
-name = "grep-matcher"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47a3141a10a43acfedc7c98a60a834d7ba00dfe7bec9071cbfc19b55b292ac02"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "grep-searcher"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9b6c14b3fc2e0a107d6604d3231dec0509e691e62447104bc385a46a7892cda"
-dependencies = [
- "bstr",
- "encoding_rs",
- "encoding_rs_io",
- "grep-matcher",
- "log",
- "memchr",
- "memmap2",
-]
-
 [[package]]
 name = "half"
 version = "2.4.1"
@@ -2287,21 +2104,6 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
 [[package]]
 name = "hermit-abi"
 version = "0.4.0"
@@ -2333,44 +2135,6 @@ dependencies = [
  "uuid",
 ]
 
-[[package]]
-name = "humansize"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
-dependencies = [
- "libm",
-]
-
-[[package]]
-name = "humantime"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
 [[package]]
 name = "idna"
 version = "0.5.0"
@@ -2452,15 +2216,6 @@ dependencies = [
  "similar",
 ]
 
-[[package]]
-name = "instant"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
-dependencies = [
- "cfg-if",
-]
-
 [[package]]
 name = "inventory"
 version = "0.3.15"
@@ -2483,7 +2238,7 @@ version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
 dependencies = [
- "hermit-abi 0.4.0",
+ "hermit-abi",
  "libc",
  "windows-sys 0.52.0",
 ]
@@ -2522,7 +2277,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a45489186a6123c128fdf6016183fcfab7113e1820eb813127e036e287233fb"
 dependencies = [
  "jiff-tzdb-platform",
- "windows-sys 0.59.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2604,12 +2359,6 @@ version = "0.2.158"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
 
-[[package]]
-name = "libm"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
-
 [[package]]
 name = "libredox"
 version = "0.1.3"
@@ -2618,7 +2367,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
  "bitflags 2.6.0",
  "libc",
- "redox_syscall 0.5.4",
+ "redox_syscall",
 ]
 
 [[package]]
@@ -2729,16 +2478,6 @@ dependencies = [
  "autocfg",
 ]
 
-[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi 0.3.9",
- "libc",
-]
-
 [[package]]
 name = "num_threads"
 version = "0.1.7"
@@ -2770,7 +2509,7 @@ dependencies = [
  "anyhow",
  "askalono",
  "byte-unit",
- "clap 4.5.17",
+ "clap",
  "clap_complete",
  "criterion",
  "crossbeam-channel",
@@ -2798,7 +2537,6 @@ dependencies = [
  "tera",
  "time",
  "time-humanize",
- "tokei",
  "typetag",
  "winres",
 ]
@@ -2816,7 +2554,7 @@ version = "2.22.0"
 dependencies = [
  "anyhow",
  "base64",
- "clap 4.5.17",
+ "clap",
  "color_quant",
  "image",
  "libc",
@@ -2855,17 +2593,6 @@ version = "3.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
 
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
-
 [[package]]
 name = "parking_lot"
 version = "0.12.3"
@@ -2873,21 +2600,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.10",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall 0.2.16",
- "smallvec",
- "winapi",
+ "parking_lot_core",
 ]
 
 [[package]]
@@ -2898,20 +2611,11 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.5.4",
+ "redox_syscall",
  "smallvec",
  "windows-targets",
 ]
 
-[[package]]
-name = "parse-zoneinfo"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24"
-dependencies = [
- "regex",
-]
-
 [[package]]
 name = "paste"
 version = "1.0.15"
@@ -2969,44 +2673,6 @@ dependencies = [
  "sha2",
 ]
 
-[[package]]
-name = "phf"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
-dependencies = [
- "phf_shared",
- "rand",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
-dependencies = [
- "siphasher",
-]
-
 [[package]]
 name = "pin-project-lite"
 version = "0.2.14"
@@ -3228,15 +2894,6 @@ dependencies = [
  "crossbeam-utils",
 ]
 
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
-]
-
 [[package]]
 name = "redox_syscall"
 version = "0.5.4"
@@ -3246,24 +2903,13 @@ dependencies = [
  "bitflags 2.6.0",
 ]
 
-[[package]]
-name = "redox_users"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
-dependencies = [
- "getrandom",
- "libredox",
- "thiserror",
-]
-
 [[package]]
 name = "regex"
 version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
 dependencies = [
- "aho-corasick 1.1.3",
+ "aho-corasick",
  "memchr",
  "regex-automata",
  "regex-syntax",
@@ -3275,7 +2921,7 @@ version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
 dependencies = [
- "aho-corasick 1.1.3",
+ "aho-corasick",
  "memchr",
  "regex-syntax",
 ]
@@ -3585,12 +3231,6 @@ version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
 
-[[package]]
-name = "siphasher"
-version = "0.3.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
-
 [[package]]
 name = "slab"
 version = "0.4.9"
@@ -3600,16 +3240,6 @@ dependencies = [
  "autocfg",
 ]
 
-[[package]]
-name = "slug"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724"
-dependencies = [
- "deunicode",
- "wasm-bindgen",
-]
-
 [[package]]
 name = "smallvec"
 version = "1.13.2"
@@ -3631,12 +3261,6 @@ version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
 [[package]]
 name = "strsim"
 version = "0.11.1"
@@ -3734,50 +3358,16 @@ version = "1.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ab9d851b45e865f178319da0abdbfe6acbc4328759ff18dafc3a41c16b4cd2ee"
 dependencies = [
- "chrono",
- "chrono-tz",
  "globwalk",
- "humansize",
  "lazy_static",
- "percent-encoding",
  "pest",
  "pest_derive",
- "rand",
  "regex",
  "serde",
  "serde_json",
- "slug",
  "unic-segment",
 ]
 
-[[package]]
-name = "term_size"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
-]
-
 [[package]]
 name = "thiserror"
 version = "1.0.63"
@@ -3876,34 +3466,6 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
-[[package]]
-name = "tokei"
-version = "12.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41f915e075a8a98ad64a5f7be6b7cc1710fc835c5f07e4a3efcaeb013291c00"
-dependencies = [
- "aho-corasick 0.7.20",
- "clap 2.34.0",
- "crossbeam-channel",
- "dashmap 4.0.2",
- "dirs",
- "encoding_rs_io",
- "env_logger",
- "grep-searcher",
- "ignore",
- "log",
- "num-format",
- "once_cell",
- "parking_lot 0.11.2",
- "rayon",
- "regex",
- "serde",
- "serde_json",
- "tera",
- "term_size",
- "toml 0.5.11",
-]
-
 [[package]]
 name = "toml"
 version = "0.5.11"
@@ -4075,12 +3637,6 @@ dependencies = [
  "tinyvec",
 ]
 
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
 [[package]]
 name = "unsafe-libyaml"
 version = "0.2.11"
@@ -4119,12 +3675,6 @@ dependencies = [
  "getrandom",
 ]
 
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
 [[package]]
 name = "version_check"
 version = "0.9.5"
@@ -4240,7 +3790,7 @@ version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
 dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4249,15 +3799,6 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
-[[package]]
-name = "windows-core"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
-dependencies = [
- "windows-targets",
-]
-
 [[package]]
 name = "windows-sys"
 version = "0.42.0"
diff --git a/Cargo.toml b/Cargo.toml
index c2de5ea47..11e396583 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -36,7 +36,7 @@ byte-unit = "5.1.4"
 clap.workspace = true
 clap_complete = "4.5.26"
 crossbeam-channel = "0.5.13"
-gengo =  { version = "0.11.3", default-features = false, features = ["max-performance-safe"] }
+gengo =  { version = "0.11.4", default-features = false, features = ["max-performance-safe"] }
 gix = { version = "0.66.0", default-features = false, features = [
     "max-performance-safe",
     "blob-diff",
@@ -62,7 +62,6 @@ serde_yaml = "0.9.34"
 strum.workspace = true
 time = { version = "0.3.36", features = ["formatting"] }
 time-humanize = { version = "0.1.3", features = ["time"] }
-tokei = "12.1.2"
 typetag = "0.2"
 
 [dev-dependencies]

From 3afec590cd5e19e44edb5a1606b431b41d26121d Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 21:37:22 +0000
Subject: [PATCH 31/35] TEMP

---
 languages.yaml | 1689 ++++++++++++++++++++++++------------------------
 1 file changed, 829 insertions(+), 860 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index 15edee6ad..1a544cf7d 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -80,24 +80,23 @@ Ada:
       - "#0C0A7C"
     chip: "#02F88C"
   icon: '\u{E6B5}'
-# TODO
-# Agda:
-#   type: programming
-#   ascii: |
-#     {0}   / / /           /  /
-#     {0}  / / /           /  / /
-#     {0} / o o           /    / /
-#     {0}/____           /      /
-#     {0}     |                 |
-#     {0}     |                 |
-#     {0}     ;                 ;
-#     {0}      \               /
-#     {0}       '.           .'
-#     {0}         '-._____.-'
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#315665"
+Agda:
+  type: programming
+  ascii: |
+    {0}   / / /           /  /
+    {0}  / / /           /  / /
+    {0} / o o           /    / /
+    {0}/____           /      /
+    {0}     |                 |
+    {0}     |                 |
+    {0}     ;                 ;
+    {0}      \               /
+    {0}       '.           .'
+    {0}         '-._____.-'
+  colors:
+    ansi:
+      - white
+    chip: "#315665"
 Arduino:
   type: programming
   ascii: |
@@ -362,48 +361,46 @@ Coq:
     hex:
       - "#BF8C5E"
       - "#D5BE99"
-    chip: "#D0B68C"
-# TODO
-# Cpp:
-#   type: programming
-#   ascii: |
-#     {0}                 ++++++
-#     {0}              ++++++++++++
-#     {0}          ++++++++++++++++++++
-#     {0}       ++++++++++++++++++++++++++
-#     {0}    ++++++++++++++++++++++++++++++++
-#     {0} +++++++++++++{3}************{0}+++++++++++++
-#     {0}+++++++++++{3}******************{0}++++++++{2};;;
-#     {0}+++++++++{3}**********************{0}++{2};;;;;;;
-#     {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
-#     {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
-#     {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
-#     {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
-#     {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
-#     {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
-#     {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
-#     {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
-#     {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
-#     {1} :::::::::::::{3}************{1}:::::::::::::
-#     {1}    ::::::::::::::::::::::::::::::::
-#     {1}       ::::::::::::::::::::::::::
-#     {1}          ::::::::::::::::::::
-#     {1}              ::::::::::::
-#     {1}                 ::::::
-#   colors:
-#     ansi:
-#       - cyan
-#       - blue
-#       - blue
-#       - white
-#     hex:
-#       - "#649AD2"
-#       - "#004283"
-#       - "#00599D"
-#       - "#FFFFFF"
-#     chip: "#F34B7D"
-#   icon: '\u{E61D}'
-#   serialization: c++
+CPlusPlus:
+  type: programming
+  ascii: |
+    {0}                 ++++++
+    {0}              ++++++++++++
+    {0}          ++++++++++++++++++++
+    {0}       ++++++++++++++++++++++++++
+    {0}    ++++++++++++++++++++++++++++++++
+    {0} +++++++++++++{3}************{0}+++++++++++++
+    {0}+++++++++++{3}******************{0}++++++++{2};;;
+    {0}+++++++++{3}**********************{0}++{2};;;;;;;
+    {0}++++++++{3}*********{0}++++++{3}******{2};;;;;;;;;;;
+    {0}+++++++{3}********{0}++++++++++{3}**{2};;;;;;;;;;;;;
+    {0}+++++++{3}*******{0}+++++++++{2};;;;;;{3}**{2};;;;{3}**{2};;;
+    {0}+++++++{3}******{0}+++++++{2};;;;;;;;{3}****{2};;{3}****{2};;
+    {0}+++++++{3}*******{0}+++{1}:::::{2};;;;;;;{3}**{2};;;;{3}**{2};;;
+    {0}+++++++{3}********{1}::::::::::{3}**{2};;;;;;;;;;;;;
+    {0}++++++++{3}*********{1}::::::{3}******{2};;;;;;;;;;;
+    {0}++++++{1}:::{3}**********************{1}::{2};;;;;;;
+    {0}+++{1}::::::::{3}******************{1}::::::::{2};;;
+    {1} :::::::::::::{3}************{1}:::::::::::::
+    {1}    ::::::::::::::::::::::::::::::::
+    {1}       ::::::::::::::::::::::::::
+    {1}          ::::::::::::::::::::
+    {1}              ::::::::::::
+    {1}                 ::::::
+  colors:
+    ansi:
+      - cyan
+      - blue
+      - blue
+      - white
+    hex:
+      - "#649AD2"
+      - "#004283"
+      - "#00599D"
+      - "#FFFFFF"
+    chip: "#F34B7D"
+  icon: '\u{E61D}'
+  serialization: c++
 Crystal:
   type: programming
   ascii: |
@@ -558,51 +555,49 @@ Dart:
       - "#01597D"
     chip: "#00B4AB"
   icon: '\u{E64C}'
-# TODO
-# Dockerfile:
-#   type: programming
-#   ascii: |
-#     {2}                  ##   {0}      .
-#     {2}            ## ## ##   {0}     ==
-#     {2}         ## ## ## ## ##{0}    ===
-#     {0}     /"""""""""""""""""\___/ ===
-#     {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
-#     {0}     \{1}______ o{0}           __/
-#     {1}       \    \ {0}        __/
-#     {1}        \____\{0}_______/
-#   colors:
-#     ansi:
-#       - cyan
-#       - white
-#       - cyan
-#     chip: "#384D54"
-#   icon: '\u{F308}'
-# TODO
-# Elisp:
-#   type: programming
-#   ascii: |
-#     {0}         ':r\iv7i|r:'
-#     {0}      :LFaZZZaaaoooo2t\:
-#     {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
-#     {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
-#     {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
-#     {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
-#     {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
-#     {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
-#     {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
-#     {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
-#     {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
-#     {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
-#     {0}   `;c]]][uaXUKO$wo]]]]L:`
-#     {0}     `,>i1tt[[]]]]ti>,`
-#     {0}        `.~;^>??>^;,-`
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     chip: "#C065DB"
-#   icon: '\u{E632}'
-#   serialization: emacs-lisp
+Dockerfile:
+  type: programming
+  ascii: |
+    {2}                  ##   {0}      .
+    {2}            ## ## ##   {0}     ==
+    {2}         ## ## ## ## ##{0}    ===
+    {0}     /"""""""""""""""""\___/ ===
+    {1}~~~ {0}{{1}~~ ~~~~ ~~~ ~~~~ ~~~ ~ {0}/  ===-{1} ~~~
+    {0}     \{1}______ o{0}           __/
+    {1}       \    \ {0}        __/
+    {1}        \____\{0}_______/
+  colors:
+    ansi:
+      - cyan
+      - white
+      - cyan
+    chip: "#384D54"
+  icon: '\u{F308}'
+EmacsLisp:
+  type: programming
+  ascii: |
+    {0}         ':r\iv7i|r:'
+    {0}      :LFaZZZaaaoooo2t\:
+    {0}    ^]aZZZZaaw9DN{1}Q@Q{0}gojjv;
+    {0}  ,vaZZZaX69KOHRW#{1}@@@{0}Ouuuu/,
+    {0} _[ZZaaa{1}Q@@@@QBNMRD{0}dEuuufFFl,
+    {0}.7aaaooo{1}wB@@#{0}h2jjuuuufFF]]]]|-
+    {0}:yooooSSS2S${1}gQ@Q{0}8hjfFF]]]][tz"
+    {0};oooSS2ed#{1}Q@@@@@Q{0}N{0}Do]]][[ttt[:
+    {0}:uSS2mQ{1}@@@@Q{0}deuF]]]][[ttt[[[z~
+    {0}-/yjjO{1}@@@@Q{0}uFF]]][[tttt[[]]]?`
+    {0} ,vuuue&{1}Q@@@QQ#NNggg{0}&D9u[]i'
+    {0}  '/ffFF]]jek99OR{1}#Q@@Q{0}Hj]]|'
+    {0}   `;c]]][uaXUKO$wo]]]]L:`
+    {0}     `,>i1tt[[]]]]ti>,`
+    {0}        `.~;^>??>^;,-`
+  colors:
+    ansi:
+      - magenta
+      - white
+    chip: "#C065DB"
+  icon: '\u{E632}'
+  serialization: emacs-lisp
 Elixir:
   type: programming
   ascii: |
@@ -720,31 +715,30 @@ Erlang:
       - red
     chip: "#B83998"
   icon: '\u{E7B1}'
-# TODO
-# Fish:
-#   type: programming
-#   ascii: |
-#     {0}                 ___
-#     {0}  ___======____=-{1}-{0}-=)
-#     {0}/T            \_{1}--={0}==)
-#     {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
-#     {0} \      / )J~~    \{1}-={0})
-#     {0}  \\___/  )JJ~{1}~~{0}   \)
-#     {0}   \_____/JJJ~~{1}~~{0}    \
-#     {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
-#     {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
-#     {0}  (\\)  ({1}\{0}\\)_           {1}\==__
-#     {0}   \V    \\\) ===_____   {1}\\\\{0}\\
-#     {0}          \V)     \_) \\{1}\\JJ\{0}J\)
-#     {0}                      /J{1}\J{0}T\JJJJ)
-#     {0}                      (JJJ| \UUU)
-#     {0}                       (UU)
-#   colors:
-#     ansi:
-#       - red
-#       - yellow
-#     chip: "#4AAE47"
-#   icon: '\u{EE41}'
+Fish:
+  type: programming
+  ascii: |
+    {0}                 ___
+    {0}  ___======____=-{1}-{0}-=)
+    {0}/T            \_{1}--={0}==)
+    {0}[ \ ({1}0{0})   \~    \_{1}-={0}=)
+    {0} \      / )J~~    \{1}-={0})
+    {0}  \\___/  )JJ~{1}~~{0}   \)
+    {0}   \_____/JJJ~~{1}~~{0}    \
+    {0}   / \  {1}, \{0}J~~~{1}~~{0}     \
+    {0}  (-{1}\){0}\=|{1}\\\{0}~~{1}~~{0}       L_{1}_
+    {0}  (\\)  ({1}\{0}\\)_           {1}\==__
+    {0}   \V    \\\) ===_____   {1}\\\\{0}\\
+    {0}          \V)     \_) \\{1}\\JJ\{0}J\)
+    {0}                      /J{1}\J{0}T\JJJJ)
+    {0}                      (JJJ| \UUU)
+    {0}                       (UU)
+  colors:
+    ansi:
+      - red
+      - yellow
+    chip: "#4AAE47"
+  icon: '\u{EE41}'
 Forth:
   type: programming
   ascii: |
@@ -1381,44 +1375,43 @@ Julia:
       - magenta
     chip: "#A270BA"
   icon: '\u{E624}'
-# TODO
-# Jupyter:
-#   type: programming
-#   ascii: |
-#     {0}                                 +%%%+
-#     {0}                                $$$$$$$
-#     {0}  +%+                           $$$$$$$
-#     {0} $$$$$           {1}******          {0}*%%%*
-#     {0}  *%*       {1}****************
-#     {1}        ************************
-#     {1}     ********              ********
-#     {1}   ***                            ***
-#     {1}  *                       {0}_          {1}*
-#     {0}  _  _   _  _ __   _   _ | |_  ___  _ _
-#     {0} | || | | || '_ \ | | | || __|/ _ \| '_|
-#     {0} | || |_| || |_) || |_| || |_ | __/| |
-#     {0} | | \__,_|| .__/  \__, | \__|\___||_|
-#     {0}/_/        |_|     |___/
-#     {1}  *                                  *
-#     {1}   ***                            ***
-#     {1}     ********              ********
-#     {1}        ************************
-#     {1}            ****************
-#     {0}    +%%%+        {1}******
-#     {0}   $$$$$$$
-#     {0}   $$$$$$$
-#     {0}    *%%%*
-#   colors:
-#     ansi:
-#       - white
-#       - yellow
-#       - white
-#     hex:
-#       - "#FFFFFF"
-#       - "#FF700F"
-#       - "#9E9E9E"
-#     chip: "#DA5B0B"
-#   serialization: jupyter-notebooks
+Jupyter:
+  type: programming
+  ascii: |
+    {0}                                 +%%%+
+    {0}                                $$$$$$$
+    {0}  +%+                           $$$$$$$
+    {0} $$$$$           {1}******          {0}*%%%*
+    {0}  *%*       {1}****************
+    {1}        ************************
+    {1}     ********              ********
+    {1}   ***                            ***
+    {1}  *                       {0}_          {1}*
+    {0}  _  _   _  _ __   _   _ | |_  ___  _ _
+    {0} | || | | || '_ \ | | | || __|/ _ \| '_|
+    {0} | || |_| || |_) || |_| || |_ | __/| |
+    {0} | | \__,_|| .__/  \__, | \__|\___||_|
+    {0}/_/        |_|     |___/
+    {1}  *                                  *
+    {1}   ***                            ***
+    {1}     ********              ********
+    {1}        ************************
+    {1}            ****************
+    {0}    +%%%+        {1}******
+    {0}   $$$$$$$
+    {0}   $$$$$$$
+    {0}    *%%%*
+  colors:
+    ansi:
+      - white
+      - yellow
+      - white
+    hex:
+      - "#FFFFFF"
+      - "#FF700F"
+      - "#9E9E9E"
+    chip: "#DA5B0B"
+  serialization: jupyter-notebooks
 Kotlin:
   type: programming
   ascii: |
@@ -1449,35 +1442,34 @@ Kotlin:
       - magenta
     chip: "#A97BFF"
   icon: '\u{E634}'
-# TODO
-# Lisp:
-#   type: programming
-#   ascii: |
-#     {0}              ............
-#     {0}         ********..............
-#     {0}       *************.............
-#     {0}     ****************..............
-#     {0}   *******************...***.........
-#     {0}  **...********...*****...***.........
-#     {0} ***...*******...******....***.........
-#     {0}****...******...*******....****.........
-#     {0}*****...****...*******.....*****........
-#     {0}******...**...******.......******.......
-#     {0}*******......******.......***..***......
-#     {0}********.....*****.......***....***.....
-#     {0}*********....****.......***......***....
-#     {0} *********...****......***.......***...
-#     {0}  *********...***.....***........***..
-#     {0}   *********...***...................
-#     {0}     **************................
-#     {0}       *************.............
-#     {0}         **************........
-#     {0}              ************
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#3FB68B"
-#   icon: '\u{E6B0}'
+Lisp:
+  type: programming
+  ascii: |
+    {0}              ............
+    {0}         ********..............
+    {0}       *************.............
+    {0}     ****************..............
+    {0}   *******************...***.........
+    {0}  **...********...*****...***.........
+    {0} ***...*******...******....***.........
+    {0}****...******...*******....****.........
+    {0}*****...****...*******.....*****........
+    {0}******...**...******.......******.......
+    {0}*******......******.......***..***......
+    {0}********.....*****.......***....***.....
+    {0}*********....****.......***......***....
+    {0} *********...****......***.......***...
+    {0}  *********...***.....***........***..
+    {0}   *********...***...................
+    {0}     **************................
+    {0}       *************.............
+    {0}         **************........
+    {0}              ************
+  colors:
+    ansi:
+      - white
+    chip: "#3FB68B"
+  icon: '\u{E6B0}'
 Llvm:
   type: programming
   ascii: |
@@ -1672,32 +1664,31 @@ ObjectiveC:
       - blue
     chip: "#438EFF"
   serialization: objective-c
-# TODO
-# OCaml:
-#   type: programming
-#   ascii: |
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///////////////////////////////////////
-#     {0}///   \////    \///////////////////////
-#     {0}//      //      /////////     .////////
-#     {0}/                ///////         \/////
-#     {0}                  /////      //////////
-#     {0}                            ///////////
-#     {0}                           ////////////
-#     {0}  //                    ///////////////
-#     {0} /////////   ///   ////////////////////
-#     {0}/////////  //////  ////////////////////
-#     {0}////////  ///////  ////////////////////
-#     {0}///////  ////////  ////////////////////
-#     {0}//////  /////////  ////////////////////
-#   colors:
-#     ansi:
-#       - yellow
-#     chip: "#3BE133"
-#   icon: '\u{E67A}'
+OCaml:
+  type: programming
+  ascii: |
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///////////////////////////////////////
+    {0}///   \////    \///////////////////////
+    {0}//      //      /////////     .////////
+    {0}/                ///////         \/////
+    {0}                  /////      //////////
+    {0}                            ///////////
+    {0}                           ////////////
+    {0}  //                    ///////////////
+    {0} /////////   ///   ////////////////////
+    {0}/////////  //////  ////////////////////
+    {0}////////  ///////  ////////////////////
+    {0}///////  ////////  ////////////////////
+    {0}//////  /////////  ////////////////////
+  colors:
+    ansi:
+      - yellow
+    chip: "#3BE133"
+  icon: '\u{E67A}'
 Odin:
   type: programming
   ascii: |
@@ -1730,78 +1721,75 @@ Odin:
       - "#4797F3"
       - "#499AF7"
     chip: "#60AFFE"
-# TODO
-# Org:
-#   type: prose
-#   ascii: |
-#     {2}                    j
-#     {2}                   eL
-#     {0}                Q {2}kD
-#     {0}            Nt{1}yew{2}kQ{0}y
-#     {1}       :r/2K{0}@Q@@@#N@@Qmir
-#     {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
-#     {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
-#     {1}?#QB#HKXej{0}D@QQRNkPD9|
-#     {1}SQNHDXwmXq{0}@@@QDR
-#     {1}=D6XwmSm{0}D@Q@@QDH
-#     {1} tXaZe{0}H@QQ@@@@QRdz
-#     {1}   u{0}QRQ@@@@@@@@@QDDd
-#     {0}     B@@@@@@@@@@@QDHDd
-#     {0}         Syz*:'--'~;\oM
-#   colors:
-#     ansi:
-#       - green
-#       - red
-#       - white
-#     chip: "#77AA99"
-#   icon: '\u{E633}'
-# TODO
-# Oz:
-#   type: programming
-#   ascii: |
-#     {0}                   ooooooooo
-#     {0}               oooooo{1}zzz{0}oooooo
-#     {0}            oooooo{1}zzzzzz{0}ooooooo
-#     {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
-#     {0}      ooooooooooooooo{1}zzz{0}ooooooooo
-#     {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
-#     {0} ooo   oooo   ooooooo{1}zzzzzz{0}oooooooo
-#     {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
-#     {0}ooo    oooooo    ooooooooooo   oooooo
-#     {0}oooo    oooooo   oooooooo      ooooooo
-#     {0} ooooo   oooo   oooooo   ooo   oooooooo
-#     {0}  ooooooo    ooooooooooooooo   oooooooo
-#     {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
-#     {0}    ooooooo{1}zzz{0}oooo{1}zzz{0}ooooooo      oooo
-#     {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
-#     {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
-#     {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
-#     {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
-#     {0}         ooooooo{1}zzzz{0}oooo
-#     {0}           ooooooooo
-#   colors:
-#     ansi:
-#       - yellow
-#       - white
-#     hex:
-#       - "#FCAF3E"
-#       - "#FFFFFF"
-#     chip: "#FAB738"
-# TODO
-# Pascal:
-#   type: programming
-#   ascii: |
-#     {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
-#     {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
-#     {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
-#     {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
-#     {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
-#     {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     chip: "#E3F171"
+Org:
+  type: prose
+  ascii: |
+    {2}                    j
+    {2}                   eL
+    {0}                Q {2}kD
+    {0}            Nt{1}yew{2}kQ{0}y
+    {1}       :r/2K{0}@Q@@@#N@@Qmir
+    {1}  -cDBQB6XXe{0}Q@@@@@@@@@@@@@Q@@g
+    {1} =NQQQR6XwPee{0}6@@@@@@@@@@@QdRm
+    {1}?#QB#HKXej{0}D@QQRNkPD9|
+    {1}SQNHDXwmXq{0}@@@QDR
+    {1}=D6XwmSm{0}D@Q@@QDH
+    {1} tXaZe{0}H@QQ@@@@QRdz
+    {1}   u{0}QRQ@@@@@@@@@QDDd
+    {0}     B@@@@@@@@@@@QDHDd
+    {0}         Syz*:'--'~;\oM
+  colors:
+    ansi:
+      - green
+      - red
+      - white
+    chip: "#77AA99"
+  icon: '\u{E633}'
+Oz:
+  type: programming
+  ascii: |
+    {0}                   ooooooooo
+    {0}               oooooo{1}zzz{0}oooooo
+    {0}            oooooo{1}zzzzzz{0}ooooooo
+    {0}         oooooo{1}zzz{0}ooo{1}zzz{0}oooooooo
+    {0}      ooooooooooooooo{1}zzz{0}ooooooooo
+    {0}   oooo    oooooooooo{1}zzz{0}ooo{1}zzz{0}oooo
+    {0} ooo   oooo   ooooooo{1}zzzzzz{0}oooooooo
+    {0}ooo   oooooo    ooooo{1}zzz{0}oooooooooooo
+    {0}ooo    oooooo    ooooooooooo   oooooo
+    {0}oooo    oooooo   oooooooo      ooooooo
+    {0} ooooo   oooo   oooooo   ooo   oooooooo
+    {0}  ooooooo    ooooooooooooooo   oooooooo
+    {0}   ooooooooooo{1}zzzz{0}oooooooooo   ooo   oo
+    {0}    ooooooo{1}zzz{0}oooo{1}zzz{0}ooooooo      oooo
+    {0}     ooooo{1}zzz{0}oooooo{1}zzzz{0}ooooo   ooooo
+    {0}      oooo{1}zzzz{0}oooooo{1}zzzz{0}ooooooooo
+    {0}       oooo{1}zzzz{0}oooooo{1}zzz{0}oooooo
+    {0}        ooooo{1}zzz{0}oooo{1}zzz{0}ooo
+    {0}         ooooooo{1}zzzz{0}oooo
+    {0}           ooooooooo
+  colors:
+    ansi:
+      - yellow
+      - white
+    hex:
+      - "#FCAF3E"
+      - "#FFFFFF"
+    chip: "#FAB738"
+Pascal:
+  type: programming
+  ascii: |
+    {0}█████{1}╗  {0}████{1}╗ {0}█████{1}╗ {0}████{1}╗ {0}████{1}╗ {0}██{1}╗
+    {0}██{1}╔═{0}██{1}╗{0}██{1}╔═{0}██{1}╗{0}██{1}╔══╝{0}██{1}╔══╝{0}██{1}╔═{0}██{1}╗{0}██{1}║
+    {0}█████{1}╔╝{0}██████{1}║{0}█████{1}╗{0}██{1}║   {0}██████{1}║{0}██{1}║
+    {0}██{1}╔══╝ {0}██{1}╔═{0}██{1}║╚══{0}██{1}║{0}██{1}║   {0}██{1}╔═{0}██{1}║{0}██{1}║
+    {0}██{1}║    {0}██{1}║ {0}██{1}║{0}█████{1}║╚{0}████{1}╗{0}██{1}║ {0}██{1}║{0}█████{1}╗
+    {1}╚═╝    ╚═╝ ╚═╝╚════╝ ╚═══╝╚═╝ ╚═╝╚════╝
+  colors:
+    ansi:
+      - blue
+      - white
+    chip: "#E3F171"
 Perl:
   type: programming
   ascii: |
@@ -1832,43 +1820,42 @@ Perl:
       - cyan
     chip: "#0298C3"
   icon: '\u{E67E}'
-# TODO: Rename to Raku
-# Perl6:
-#   type: programming
-#   ascii: |
-#     {0} +@8DM#8W,
-#     {0}#DM"{1},ypy,{0}"8#
-#     {0}DDU {1}8M]N8u{0} DM
-#     {0}8DD {1}TMD8M,{0}8M  {4}8
-#     {0} 8D#=e@8MM^   {4}8
-#     {0}  *MDw  {4},.,+#M`
-#     {0}    "8#                   {0},e88DDDD8m,
-#     {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
-#     {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
-#     {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
-#     {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
-#     {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
-#     {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
-#     {1}   ``      {2}'"F*FFF*  {1},yw,
-#     {1}                  ,#]{0}[D8{1}8W
-#     {1}                  k8{0}]DDN8{1}8L
-#     {1}                  '8E{0}$DE8{1}8M
-#     {1}                    R#E#R^
-#   colors:
-#     ansi:
-#       - blue
-#       - red
-#       - yellow
-#       - white
-#       - green
-#     hex:
-#       - "#5B00FD"
-#       - "#FF005E"
-#       - "#F3FF27"
-#       - "#FFFFFF"
-#       - "#00FF39"
-#     chip: "#0000FB"
-#   serialization: raku
+Perl6:
+  type: programming
+  ascii: |
+    {0} +@8DM#8W,
+    {0}#DM"{1},ypy,{0}"8#
+    {0}DDU {1}8M]N8u{0} DM
+    {0}8DD {1}TMD8M,{0}8M  {4}8
+    {0} 8D#=e@8MM^   {4}8
+    {0}  *MDw  {4},.,+#M`
+    {0}    "8#                   {0},e88DDDD8m,
+    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
+    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
+    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
+    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
+    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
+    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
+    {1}   ``      {2}'"F*FFF*  {1},yw,
+    {1}                  ,#]{0}[D8{1}8W
+    {1}                  k8{0}]DDN8{1}8L
+    {1}                  '8E{0}$DE8{1}8M
+    {1}                    R#E#R^
+  colors:
+    ansi:
+      - blue
+      - red
+      - yellow
+      - white
+      - green
+    hex:
+      - "#5B00FD"
+      - "#FF005E"
+      - "#F3FF27"
+      - "#FFFFFF"
+      - "#00FF39"
+    chip: "#0000FB"
+  serialization: raku
 Php:
   type: programming
   ascii: |
@@ -1913,86 +1900,83 @@ Powershell:
       - "#FFFFFF"
     chip: "#012456"
   icon: '\u{f0a0a}'
-# TODO
-# Processing:
-#   type: programming
-#   ascii: |
-#     {0}          PPPPPPPPPPPP
-#     {0}      PPPPPPPPPPPPPPPPPPPP
-#     {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
-#     {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
-#     {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
-#     {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
-#     {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
-#     {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
-#     {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
-#     {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
-#     {0}    PPPPPPPPPPPPPPPPPPPPPPPP
-#     {0}      PPPPPPPPPPPPPPPPPPPP
-#     {0}          PPPPPPPPPPPP
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     hex:
-#       - "#505050"
-#       - "#FFFFFF"
-#     chip: "#0096D8"
-# TODO
-# Prolog:
-#   type: programming
-#   ascii: |
-#     {0}            ############   #
-#     {0}       #################   ####
-#     {0}     ###################   ######
-#     {0}   #####################   #######
-#     {0}  ######################   ########
-#     {0} #######         #######   #########
-#     {0}######  ###        #####   ##########
-#     {0}#####  ####      #  ####   ##########
-#     {0}#####  #####    ##  ####   ##########
-#     {0}#####   #########   ####   ##########
-#     {0}#####     #####   #######    ########
-#     {0} ####           ###########       ##
-#     {0}  ###   ###########################
-#     {0}    #   ##########################
-#     {0}        ########################
-#     {0}        ######################
-#     {0}           ################
-#   colors:
-#     ansi:
-#       - white
-#     chip: "#74283C"
-#   icon: '\u{E7A1}'
-# TODO
-# Protobuf:
-#   type: programming
-#   ascii: |
-#     {0}      ;;;;;;;;     {2}::::::::
-#     {0}     ;;;;;;;;       {2}::::::::
-#     {0}    ;;;;;;;;         {2}::::::::
-#     {1}   :{0};;;;;;;           {2}::::::::
-#     {1}  :::{0};;;;;             {2}::::::::
-#     {1} :::::{0};;;               {2}::::::::
-#     {1}:::::::{0};                {3};{2}:::::::
-#     {1}::::::::               {3};;;{2}:::::
-#     {1} ::::::::             {3};;;;;{2}:::
-#     {1}  ::::::::           {3};;;;;;;{2}:
-#     {1}   ::::::::         {3};;;;;;;;
-#     {1}    ::::::::       {3};;;;;;;;
-#     {1}     ::::::::     {3};;;;;;;;
-#   colors:
-#     ansi:
-#       - red
-#       - blue
-#       - green
-#       - yellow
-#     chip: "#74283C"
-#   serialization: protocol-buffers
+Processing:
+  type: programming
+  ascii: |
+    {0}          PPPPPPPPPPPP
+    {0}      PPPPPPPPPPPPPPPPPPPP
+    {0}    PPPPPPPPPPPP{1}PPPPPP{0}PPPPPP
+    {0}   PPPPPPPPPPPPP{1}P{0}PPPP{1}PP{0}PPPPPP
+    {0}  PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPP
+    {0} PPPPPPPPPPPPPPPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPP{1}PPPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPP{1}PP{0}PPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PP{1}PPPPP{0}PPPPPPPPPP
+    {0}PPPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPPP
+    {0} PPPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPPP
+    {0}  PPPPPPPPPP{1}PPP{0}PPPPPPPPPPPPPPP
+    {0}   PPPPPPP{1}PPPPPPP{0}PPPPPPPPPPPP
+    {0}    PPPPPPPPPPPPPPPPPPPPPPPP
+    {0}      PPPPPPPPPPPPPPPPPPPP
+    {0}          PPPPPPPPPPPP
+  colors:
+    ansi:
+      - blue
+      - white
+    hex:
+      - "#505050"
+      - "#FFFFFF"
+    chip: "#0096D8"
+Prolog:
+  type: programming
+  ascii: |
+    {0}            ############   #
+    {0}       #################   ####
+    {0}     ###################   ######
+    {0}   #####################   #######
+    {0}  ######################   ########
+    {0} #######         #######   #########
+    {0}######  ###        #####   ##########
+    {0}#####  ####      #  ####   ##########
+    {0}#####  #####    ##  ####   ##########
+    {0}#####   #########   ####   ##########
+    {0}#####     #####   #######    ########
+    {0} ####           ###########       ##
+    {0}  ###   ###########################
+    {0}    #   ##########################
+    {0}        ########################
+    {0}        ######################
+    {0}           ################
+  colors:
+    ansi:
+      - white
+    chip: "#74283C"
+  icon: '\u{E7A1}'
+Protobuf:
+  type: programming
+  ascii: |
+    {0}      ;;;;;;;;     {2}::::::::
+    {0}     ;;;;;;;;       {2}::::::::
+    {0}    ;;;;;;;;         {2}::::::::
+    {1}   :{0};;;;;;;           {2}::::::::
+    {1}  :::{0};;;;;             {2}::::::::
+    {1} :::::{0};;;               {2}::::::::
+    {1}:::::::{0};                {3};{2}:::::::
+    {1}::::::::               {3};;;{2}:::::
+    {1} ::::::::             {3};;;;;{2}:::
+    {1}  ::::::::           {3};;;;;;;{2}:
+    {1}   ::::::::         {3};;;;;;;;
+    {1}    ::::::::       {3};;;;;;;;
+    {1}     ::::::::     {3};;;;;;;;
+  colors:
+    ansi:
+      - red
+      - blue
+      - green
+      - yellow
+    chip: "#74283C"
+  serialization: protocol-buffers
 Purescript:
   type: programming
   ascii: |
@@ -2043,40 +2027,39 @@ Python:
       - "#FFD940"
     chip: "#3572A5"
   icon: '\u{E73C}'
-# TODO
-# Qml:
-#   type: programming
-#   ascii: |
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}****************************************
-#     {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
-#     {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
-#     {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
-#     {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
-#     {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
-#     {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-#     {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
-#     {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
-#     {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
-#   colors:
-#     ansi:
-#       - green
-#       - white
-#       - green
-#     hex:
-#       - "#80C342"
-#       - "#FFFFFF"
-#       - "#4D7528"
-#     chip: "#44A51C"
+Qml:
+  type: programming
+  ascii: |
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}****************************************
+    {0}*******{1}####{0}*****{1}###{0}*****{1}###{0}**{1}###{0}********
+    {0}*****{1}########{0}***{1}####{2},{0}**{1}####{2},{0}*{1}###{2},,{0}******
+    {0}****{1}###{2},,,,{1}###{2},{0}*{1}#####{2},{1}#####{2},,{1}###{2},,,,{0}****
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###########{2},,{1}###{2},,,,,,{0}**
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},{1}###{2},{1}###{2},,{1}###{2},,,,,,,{0}*
+    {0}***{1}###{2},,,,,,{1}###{2},{1}###{2},,{1}#{2},,{1}###{2},,{1}###{2},,,,,,,,
+    {0}****{1}###{2},,,,{1}###{2},,{1}###{2},,,,,{1}###{2},,{1}###{2},,,,,,,,
+    {0}*****{1}########{2},,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+    {0}*******{1}####{2},,,,,{1}###{2},,,,,{1}###{2},,{1}########{2},,,
+    {0}********{2},{1}#####{2},,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}***********{2},,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*************{2},,,,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}***************{2},,,,,,,,,,,,,,,,,,,,,,,,,
+    {0}*****************{2},,,,,,,,,,,,,,,,,,,,,,,
+  colors:
+    ansi:
+      - green
+      - white
+      - green
+    hex:
+      - "#80C342"
+      - "#FFFFFF"
+      - "#4D7528"
+    chip: "#44A51C"
 R:
   type: programming
   ascii: |
@@ -2100,83 +2083,81 @@ R:
       - blue
     chip: "#198CE7"
   icon: '\u{E68A}'
-# TODO
-  # Racket:
-#   type: programming
-#   ascii: |
-#     {0}            {2}.:--::////::--.`
-#     {0}        {1}`/yNMMNho{2}////////////:.
-#     {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
-#     {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
-#     {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
-#     {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
-#     {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
-#     {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
-#     {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
-#     {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
-#     {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
-#     {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
-#     {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
-#     {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
-#     {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
-#     {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
-#     {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
-#     {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
-#     {0}        {1}`/s{0}::::::::::::::::::{1}o/`
-#     {0}            ``.---::::---..`
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#       - blue
-#     chip: "#3C5CAA"
-# TODO
-    # Renpy:
-#   type: programming
-#   ascii: |
-#     {0}       ++++++
-#     {0}     ++++++++++
-#     {0}    ++++++++++++
-#     {0}   ++++++++++++++
-#     {0}   ++++++++++++++++
-#     {0}  +++++++++++++{1}***{0}+++
-#     {0}  +++++++{1}***********
-#     {0} +++++{1}**************
-#     {0}+++{1}*****************
-#     {0}++{1}********{2}#{1}**********
-#     {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
-#     {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
-#     {1} *****{2}##########{1}*{2}#{1}***
-#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-#     {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
-#     {1} *****{2}############{1}***
-#     {1} *****{2}#####{5}--{2}####{1}***
-#     {1}  **{4}#####{2}#######{1}**
-#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
-#     {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
-#     {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
-#     {4}    #####{6}++++++{4}#####
-#     {4}     ###{6}++++++++{4}####
-#     {6}     +++++++++++{4}####
-#     {6}     ++++++++++{4}####
-#   colors:
-#     ansi:
-#       - white
-#       - red
-#       - white
-#       - blue
-#       - yellow
-#       - white
-#       - magenta
-#     hex:
-#       - "#EADBCC"
-#       - "#FF7F7F"
-#       - "#FBEEE2"
-#       - "#495F8E"
-#       - "#FAE45A"
-#       - "#FFFFFF"
-#       - "#B5A396"
-#     chip: "#FF7F7F"
+Racket:
+  type: programming
+  ascii: |
+    {0}            {2}.:--::////::--.`
+    {0}        {1}`/yNMMNho{2}////////////:.
+    {0}      {1}`+NMMMMMMMMmy{2}/////////////:`
+    {0}    `-:::{1}ohNMMMMMMMNy{2}/////////////:`
+    {0}   .::::::::{1}odMMMMMMMNy{2}/////////////-
+    {0}  -:::::::::::{1}/hMMMMMMMmo{2}////////////-
+    {0} .::::::::::::::{1}oMMMMMMMMh{2}////////////-
+    {0}`:::::::::::::{1}/dMMMMMMMMMMNo{2}///////////`
+    {0}-::::::::::::{1}sMMMMMMmMMMMMMMy{2}//////////-
+    {0}-::::::::::{1}/dMMMMMMs{0}:{1}+NMMMMMMd{2}/////////:
+    {0}-:::::::::{1}+NMMMMMm/{0}:::{1}/dMMMMMMm+{2}///////:
+    {0}-::::::::{1}sMMMMMMh{0}:::::::{1}dMMMMMMm+{2}//////-
+    {0}`:::::::{1}sMMMMMMy{0}:::::::::{1}dMMMMMMm+{2}/////`
+    {0} .:::::{1}sMMMMMMs{0}:::::::::::{1}mMMMMMMd{2}////-
+    {0}  -:::{1}sMMMMMMy{0}::::::::::::{1}/NMMMMMMh{2}//-
+    {0}   .:{1}+MMMMMMd{0}::::::::::::::{1}oMMMMMMMo{2}-
+    {0}    {1}`yMMMMMN/{0}:::::::::::::::{1}hMMMMMh.
+    {0}      {1}-yMMMo{0}::::::::::::::::{1}/MMMy-
+    {0}        {1}`/s{0}::::::::::::::::::{1}o/`
+    {0}            ``.---::::---..`
+  colors:
+    ansi:
+      - red
+      - white
+      - blue
+    chip: "#3C5CAA"
+Renpy:
+  type: programming
+  ascii: |
+    {0}       ++++++
+    {0}     ++++++++++
+    {0}    ++++++++++++
+    {0}   ++++++++++++++
+    {0}   ++++++++++++++++
+    {0}  +++++++++++++{1}***{0}+++
+    {0}  +++++++{1}***********
+    {0} +++++{1}**************
+    {0}+++{1}*****************
+    {0}++{1}********{2}#{1}**********
+    {1} *****{2}#{1}*{2}#{1}*{2}#{1}****{2}#{1}*{2}#{1}***
+    {1} *****{2}#{1}*{2}###{1}*{2}#{1}**{2}#{1}*{2}#{1}***
+    {1} *****{2}##########{1}*{2}#{1}***
+    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+    {1} *****{2}##{3}**{2}####{3}**{2}##{1}***
+    {1} *****{2}############{1}***
+    {1} *****{2}#####{5}--{2}####{1}***
+    {1}  **{4}#####{2}#######{1}**
+    {4}   #{5}**{4}#{5}**{4}#{2}###{4}####
+    {4}   #{5}**{4}#{5}**{4}#{2}###{4}######
+    {4}   ##{5}*{4}#{5}*{4}##{6}++++{4}######
+    {4}    #####{6}++++++{4}#####
+    {4}     ###{6}++++++++{4}####
+    {6}     +++++++++++{4}####
+    {6}     ++++++++++{4}####
+  colors:
+    ansi:
+      - white
+      - red
+      - white
+      - blue
+      - yellow
+      - white
+      - magenta
+    hex:
+      - "#EADBCC"
+      - "#FF7F7F"
+      - "#FBEEE2"
+      - "#495F8E"
+      - "#FAE45A"
+      - "#FFFFFF"
+      - "#B5A396"
+    chip: "#FF7F7F"
 Ruby:
   type: programming
   ascii: |
@@ -2272,39 +2253,38 @@ Sass:
       - "#CD6799"
     chip: "#A53B70"
   icon: '\u{E74B}'
-# TODO
-  # Scala:
-#   type: programming
-#   ascii: |
-#     {0}                        +
-#     {0}                      +++
-#     {0}          +++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++{1}-------
-#     {0}+++{1}-------------------{0}+++
-#     {1}        ---{0}++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++{1}-------
-#     {0}+++{1}-------------------{0}+++
-#     {1}        ---{0}++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++++++++++++
-#     {0}+++++++++++++++
-#     {0}+++
-#   colors:
-#     ansi:
-#       - red
-#       - red
-#     hex:
-#       - "#DF3F3D"
-#       - "#7F0C1D"
-#     chip: "#C22D40"
-#   icon: '\u{E737}'
+Scala:
+  type: programming
+  ascii: |
+    {0}                        +
+    {0}                      +++
+    {0}          +++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++{1}-------
+    {0}+++{1}-------------------{0}+++
+    {1}        ---{0}++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++{1}-------
+    {0}+++{1}-------------------{0}+++
+    {1}        ---{0}++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++++++++++++
+    {0}+++++++++++++++
+    {0}+++
+  colors:
+    ansi:
+      - red
+      - red
+    hex:
+      - "#DF3F3D"
+      - "#7F0C1D"
+    chip: "#C22D40"
+  icon: '\u{E737}'
 Scheme:
   type: programming
   ascii: |
@@ -2530,93 +2510,90 @@ Swift:
       - "#FD2822"
     chip: "#F05138"
   icon: '\u{E755}'
-# TODO
-# SystemVerilog:
-#   type: programming
-#   ascii: |
-#     {0}     _.._   _.._   _.._   _.._
-#     {0}     _.._   _.._   _.._   _.._
-#     {0} .................................
-#     {0}.               {1}----              {0}.
-#     {0}.          {1}--------------         {0}.
-#     {0}.        {1}----       ---------     {0}.
-#     {0}.      {1}---                -----   {0}.
-#     {0}.     {1}-    #####  #     #  -----  {0}.
-#     {0}.         {1}#     # #     #         {0}.
-#     {0}.         {1}#       #     #         {0}.
-#     {0}.          {1}#####  #     #         {0}.
-#     {0}.               {1}#  #   #          {0}.
-#     {0}.         {1}#     #   # #           {0}.
-#     {0}.  {1}-----   #####     #      -     {0}.
-#     {0}.   {1}-----                ---      {0}.
-#     {0}.     {1}---------       ----        {0}.
-#     {0}.         {1}--------------          {0}.
-#     {0}.              {1}----               {0}.
-#     {0} .................................
-#     {0}     _.._   _.._   _.._   _.._
-#     {0}     _.._   _.._   _.._   _.._
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#     chip: "#DAE1C2"
-#   icon: '\u{F4BC}'
-# TODO
-  # Tcl:
-#   type: programming
-#   ascii: |
-#     {0}          //
-#     {2}      . /{0}////
-#     {2}     /{0}/////// .
-#     {2}     //{0}//{1}/{0}/////
-#     {2}    //{0}//{1}/{0}/////
-#     {2}  . //{0}/{1}//{0}////
-#     {2}  //{0}//{1}//{0}////
-#     {2}  //{0}/{1}//{0}/////
-#     {2}  /{0}//{1}//{0}////
-#     {2}  /{0}/{1}//{0}////  .
-#     {2}. /{0}/{1}//{0}/////
-#     {2} /{0}/{1}//{0}////
-#     {2}  /{1}//{0}//
-#     {0}   {1}//
-#     {0}   {1}//
-#     {0}    {1}/
-#     {0}     {1}/
-#   colors:
-#     ansi:
-#       - blue
-#       - white
-#       - cyan
-#     chip: "#E4CC98"
-#   icon: '\u{e7c4}'
-# TODO
-# Tex:
-#   type: markup
-#   ascii: |
-#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#     {0}$$$            $$$$$$$      $$$$$     $$
-#     {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
-#     {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
-#     {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
-#     {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
-#     {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
-#     {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
-#     {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
-#     {0}$$$$$        $$  $$$$$     $$$$$$     $$
-#     {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
-#     {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#   colors:
-#     ansi:
-#       - white
-#       - black
-#     chip: "#3D6117"
-#   icon: '\u{E69B}'
+SystemVerilog:
+  type: programming
+  ascii: |
+    {0}     _.._   _.._   _.._   _.._
+    {0}     _.._   _.._   _.._   _.._
+    {0} .................................
+    {0}.               {1}----              {0}.
+    {0}.          {1}--------------         {0}.
+    {0}.        {1}----       ---------     {0}.
+    {0}.      {1}---                -----   {0}.
+    {0}.     {1}-    #####  #     #  -----  {0}.
+    {0}.         {1}#     # #     #         {0}.
+    {0}.         {1}#       #     #         {0}.
+    {0}.          {1}#####  #     #         {0}.
+    {0}.               {1}#  #   #          {0}.
+    {0}.         {1}#     #   # #           {0}.
+    {0}.  {1}-----   #####     #      -     {0}.
+    {0}.   {1}-----                ---      {0}.
+    {0}.     {1}---------       ----        {0}.
+    {0}.         {1}--------------          {0}.
+    {0}.              {1}----               {0}.
+    {0} .................................
+    {0}     _.._   _.._   _.._   _.._
+    {0}     _.._   _.._   _.._   _.._
+  colors:
+    ansi:
+      - blue
+      - white
+    chip: "#DAE1C2"
+  icon: '\u{F4BC}'
+Tcl:
+  type: programming
+  ascii: |
+    {0}          //
+    {2}      . /{0}////
+    {2}     /{0}/////// .
+    {2}     //{0}//{1}/{0}/////
+    {2}    //{0}//{1}/{0}/////
+    {2}  . //{0}/{1}//{0}////
+    {2}  //{0}//{1}//{0}////
+    {2}  //{0}/{1}//{0}/////
+    {2}  /{0}//{1}//{0}////
+    {2}  /{0}/{1}//{0}////  .
+    {2}. /{0}/{1}//{0}/////
+    {2} /{0}/{1}//{0}////
+    {2}  /{1}//{0}//
+    {0}   {1}//
+    {0}   {1}//
+    {0}    {1}/
+    {0}     {1}/
+  colors:
+    ansi:
+      - blue
+      - white
+      - cyan
+    chip: "#E4CC98"
+  icon: '\u{e7c4}'
+Tex:
+  type: markup
+  ascii: |
+    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+    {0}$$$            $$$$$$$      $$$$$     $$
+    {0}$$  $$$$  $$$$  $$$$$$$$$  $$$$$$$ $$$$$
+    {0}$$ $$$$$  $$$$$ $$$$$$$$$$  $$$$$ $$$$$$
+    {0}$$ $$$$$  $$$          $$$$  $$$ $$$$$$$
+    {0}$$ $$$$$  $$$$$  $$$$$  $$$$  $ $$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$ $$$$$  $$$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$$$$$$$   $$$$$$$$
+    {0}$$$$$$$$  $$$$$  $$$ $$$$$$$ $$  $$$$$$$
+    {0}$$$$$$$$  $$$$$      $$$$$$ $$$$  $$$$$$
+    {0}$$$$$$$$  $$$$$  $$$ $$$$$ $$$$$$  $$$$$
+    {0}$$$$$$$$  $$$$$  $$$$$$$$ $$$$$$$$  $$$$
+    {0}$$$$$        $$  $$$$$     $$$$$$     $$
+    {0}$$$$$$$$$$$$$$$  $$$$$$$ $$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$$$  $$$$$$ $$$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$           $$$$$$$$$$$$$$$$
+    {0}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+  colors:
+    ansi:
+      - white
+      - black
+    chip: "#3D6117"
+  icon: '\u{E69B}'
 Toml:
   type: data
   ascii: |
@@ -2677,88 +2654,85 @@ Typescript:
       - "#FFFFFF"
     chip: "#2B7489"
   icon: '\u{E69D}'
-# TODO
-  # Vala:
-#   type: programming
-#   ascii: |
-#     {0} ###################################
-#     {0}#####################################
-#     {0}#####################################
-#     {0}############{1}######{0}##########{1}##{0}#######
-#     {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
-#     {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
-#     {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
-#     {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
-#     {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
-#     {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
-#     {0}##############{1}####{0}###{1}##{0}##############
-#     {0}##############{1}####{0}##{1}##{0}###############
-#     {0}##############{1}####{0}#{1}##{0}################
-#     {0}##############{1}######{0}#################
-#     {0}##############{1}#####{0}##################
-#     {0}##############{1}####{0}###################
-#     {0}#####################################
-#     {0}#####################################
-#     {0} ###################################
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     chip: "#A56DE2"
-# TODO
-    # Verilog:
-#   type: programming
-#   ascii: |
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}     _......................._
-#     {0}    _.{1}-----             -----{0}._
-#     {0}_..._.{1} ---               --- {0}._..._
-#     {0}_..._.{1}  ---             ---  {0}._..._
-#     {0}    _.{1}   ---           ---   {0}._
-#     {0}    _.{1}    ---         ---    {0}._
-#     {0}_..._.{1}     ---       ---     {0}._..._
-#     {0}_..._.{1}      ---     ---      {0}._..._
-#     {0}    _.{1}       ---   ---       {0}._
-#     {0}    _.{1}        --- ---        {0}._
-#     {0}_..._.{1}         -----         {0}._..._
-#     {0}_..._.{1}          ---          {0}._..._
-#     {0}    _.{1}           -           {0}._
-#     {0}     _......................._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#     {0}        _.._    _.._    _.._
-#   colors:
-#     ansi:
-#       - white
-#       - magenta
-#     chip: "#b2b7f8"
-#   icon: '\u{F4BC}'
-# TODO
-# Vhdl:
-#   type: programming
-#   ascii: |
-#     {0}        |  |  |  |
-#     {0}       {1}------------
-#     {0}    --{1}|    {2}----    {1}|{0}--
-#     {0}    --{1}|   {2}|    |   {1}|{0}--
-#     {0}    --{1}|   {2}|    |   {1}|{0}--
-#     {0}    --{1}|    {2}----    {1}|{0}--
-#     {0}       {1}------------
-#     {0}        |  |  |  |
-#     {2}__     ___   _ ____  _
-#     {2}\ \   / / | | |  _ \| |
-#     {2} \ \ / /| |_| | | | | |
-#     {2}  \ V / |  _  | |_| | |___
-#     {2}   \_/  |_| |_|____/|_____|
-#   colors:
-#     ansi:
-#       - yellow
-#       - green
-#       - white
-#     chip: "#ADB2CB"
-#   icon: '\u{F4BC}'
+Vala:
+  type: programming
+  ascii: |
+    {0} ###################################
+    {0}#####################################
+    {0}#####################################
+    {0}############{1}######{0}##########{1}##{0}#######
+    {0}##########{1}###{0}#{1}####{0}#########{1}##{0}########
+    {0}########{1}###{0}###{1}####{0}########{1}##{0}#########
+    {0}#######{1}###{0}####{1}####{0}#######{1}##{0}##########
+    {0}######{1}###{0}#####{1}####{0}######{1}##{0}###########
+    {0}######{1}###{0}#####{1}####{0}#####{1}##{0}############
+    {0}########{1}#{0}#####{1}####{0}####{1}##{0}#############
+    {0}##############{1}####{0}###{1}##{0}##############
+    {0}##############{1}####{0}##{1}##{0}###############
+    {0}##############{1}####{0}#{1}##{0}################
+    {0}##############{1}######{0}#################
+    {0}##############{1}#####{0}##################
+    {0}##############{1}####{0}###################
+    {0}#####################################
+    {0}#####################################
+    {0} ###################################
+  colors:
+    ansi:
+      - magenta
+      - white
+    chip: "#A56DE2"
+Verilog:
+  type: programming
+  ascii: |
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}     _......................._
+    {0}    _.{1}-----             -----{0}._
+    {0}_..._.{1} ---               --- {0}._..._
+    {0}_..._.{1}  ---             ---  {0}._..._
+    {0}    _.{1}   ---           ---   {0}._
+    {0}    _.{1}    ---         ---    {0}._
+    {0}_..._.{1}     ---       ---     {0}._..._
+    {0}_..._.{1}      ---     ---      {0}._..._
+    {0}    _.{1}       ---   ---       {0}._
+    {0}    _.{1}        --- ---        {0}._
+    {0}_..._.{1}         -----         {0}._..._
+    {0}_..._.{1}          ---          {0}._..._
+    {0}    _.{1}           -           {0}._
+    {0}     _......................._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+    {0}        _.._    _.._    _.._
+  colors:
+    ansi:
+      - white
+      - magenta
+    chip: "#b2b7f8"
+  icon: '\u{F4BC}'
+Vhdl:
+  type: programming
+  ascii: |
+    {0}        |  |  |  |
+    {0}       {1}------------
+    {0}    --{1}|    {2}----    {1}|{0}--
+    {0}    --{1}|   {2}|    |   {1}|{0}--
+    {0}    --{1}|   {2}|    |   {1}|{0}--
+    {0}    --{1}|    {2}----    {1}|{0}--
+    {0}       {1}------------
+    {0}        |  |  |  |
+    {2}__     ___   _ ____  _
+    {2}\ \   / / | | |  _ \| |
+    {2} \ \ / /| |_| | | | | |
+    {2}  \ V / |  _  | |_| | |___
+    {2}   \_/  |_| |_|____/|_____|
+  colors:
+    ansi:
+      - yellow
+      - green
+      - white
+    chip: "#ADB2CB"
+  icon: '\u{F4BC}'
 VimScript:
   type: programming
   ascii: |
@@ -2784,37 +2758,36 @@ VimScript:
       - white
     chip: "#199F4B"
   icon: '\u{E7C5}'
-# TODO
-# VisualBasic:
-#   type: programming
-#   ascii: |
-#     {1}             ::::::::::
-#     {1}         ::::::::::::::::::
-#     {1}      ::::::::::::::::::::::::
-#     {0}    &&&&{1}::::::::::::::::::::::::
-#     {0}  &&&&&&&&{1}::::::::::::::::::::::::
-#     {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
-#     {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
-#     {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
-#     {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
-#     {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
-#     {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
-#     {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
-#     {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
-#     {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
-#     {0}      &&&&&&&&&&&&&&&&&&&&&&&&
-#     {0}         &&&&&&&&&&&&&&&&&&
-#     {0}             &&&&&&&&&&
-#   colors:
-#     ansi:
-#       - blue
-#       - blue
-#       - white
-#     hex:
-#       - "#195F97"
-#       - "#004E8C"
-#       - "#FFFFFF"
-#     chip: "#945db7"
+VisualBasic:
+  type: programming
+  ascii: |
+    {1}             ::::::::::
+    {1}         ::::::::::::::::::
+    {1}      ::::::::::::::::::::::::
+    {0}    &&&&{1}::::::::::::::::::::::::
+    {0}  &&&&&&&&{1}::::::::::::::::::::::::
+    {0} &&&&{2}##{0}&&&&&{1}::::::{2}##{1}:::{2}######{1}::::::
+    {0}&&&&&&{2}##{0}&&&&&&{1}:::{2}##{1}::::{2}#{1}:::::{2}##{1}:::::
+    {0}&&&&&&&{2}##{0}&&&&&&&{2}##{1}:::::{2}#{1}:::::{2}##{1}:::::
+    {0}&&&&&&&&{2}##{0}&&&&&{2}##{0}&{1}:::::{2}#######{1}::::::
+    {0}&&&&&&&&&{2}##{0}&&&{2}##{0}&&&&{1}:::{2}#{1}::::::{2}##{1}::::
+    {0}&&&&&&&&&&{2}##{0}&{2}##{0}&&&&&&&{1}:{2}#{1}::::::{2}##{1}::::
+    {0} &&&&&&&&&&{2}###{0}&&&&&&&&&{2}######{1}::::::
+    {0}  &&&&&&&&&&&&&&&&&&&&&&&&{1}::::::::
+    {0}    &&&&&&&&&&&&&&&&&&&&&&&&{1}::::
+    {0}      &&&&&&&&&&&&&&&&&&&&&&&&
+    {0}         &&&&&&&&&&&&&&&&&&
+    {0}             &&&&&&&&&&
+  colors:
+    ansi:
+      - blue
+      - blue
+      - white
+    hex:
+      - "#195F97"
+      - "#004E8C"
+      - "#FFFFFF"
+    chip: "#945db7"
 Vue:
   type: programming
   ascii: |
@@ -2839,90 +2812,87 @@ Vue:
       - blue
     chip: "#199F4B"
   icon: '\u{E6A0}'
-# TODO
-# WebAssembly:
-#   type: programming
-#   ascii: |
-#     {0}:::::::::::             ::::::::::::
-#     {0}::::::::::::           :::::::::::::
-#     {0}:::::::::::::::     ::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::::::::::::::::::::::::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
-#     {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
-#     {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
-#     {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
-#     {0}::::::::::::::::::::::::::::::::::::
-#   colors:
-#     ansi:
-#       - magenta
-#       - white
-#     hex:
-#       - "#654FF0"
-#       - "#FFFFFF"
-#     chip: "#04133B"
-#   icon: '\u{E6A1}'
-# TODO
-# Wolfram:
-#   type: programming
-#   ascii: |
-#     {0}             OOOOOOOOOOOOOO
-#     {0}         OOOOOO  OOOOOOOOOOOOOO
-#     {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
-#     {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
-#     {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
-#     {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
-#     {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
-#     {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
-#     {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
-#     {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-#     {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
-#     {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
-#     {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
-#     {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
-#     {1}   WWWWW..............  {0}.........OOOOO
-#     {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
-#     {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
-#     {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
-#     {1}         WWWWWWWWWWWWWWWW{0}     OO
-#     {1}             WWWWWWWWWWWWW{0}
-#   colors:
-#     ansi:
-#       - red
-#       - white
-#       - black
-#     hex:
-#       - "#FF0A01"
-#       - "#FFFFFF"
-#       - "#000000"
-#     chip: "#DD1100"
-# TODO
-# Xaml:
-#   type: data
-#   ascii: |
-#     {0}        :::::::::::::::::::::..
-#     {0}       :::{1}------{0}::::::::::::....
-#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-#     {0}:::{1}------{0}::::::::::::.........{1}------{0}...
-#     {0} :::{1}------{0}::::::::::::.......{1}------{0}...
-#     {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
-#     {0}   :::{1}------{0}::::::::::::...{1}------{0}...
-#     {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
-#     {0}     :::{1}------{0}::::::::::::..{1}---{0}...
-#     {0}      :::{1}------{0}::::::::::::..{1}-{0}...
-#     {0}       :::{1}------{0}::::::::::::....
-#     {0}        :::::::::::::::::::::..
+WebAssembly:
+  type: programming
+  ascii: |
+    {0}:::::::::::             ::::::::::::
+    {0}::::::::::::           :::::::::::::
+    {0}:::::::::::::::     ::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::::::::::::::::::::::::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::::{1}AA{0}::::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}:::{1}AAAA{0}:::::
+    {0}::::::::::::{1}WW{0}:::{1}WW{0}:::{1}WW{0}::{1}AA{0}::{1}AA{0}::::
+    {0}:::::::::::::{1}WW{0}:{1}WWWW{0}:{1}WW{0}::{1}AAAAAAAA{0}:::
+    {0}::::::::::::::{1}WWW{0}::{1}WWW{0}::{1}AA{0}::::::{1}AA{0}::
+    {0}::::::::::::::::::::::::::::::::::::
+  colors:
+    ansi:
+      - magenta
+      - white
+    hex:
+      - "#654FF0"
+      - "#FFFFFF"
+    chip: "#04133B"
+  icon: '\u{E6A1}'
+Wolfram:
+  type: programming
+  ascii: |
+    {0}             OOOOOOOOOOOOOO
+    {0}         OOOOOO  OOOOOOOOOOOOOO
+    {0}       OOOOOO  {1}WW{0} OOOO OOOOOOOOOOO
+    {0}     OOOOOOO  {1}WWW {0}OOO {1}W{0} OOOOOOOOOOOO
+    {0}   OOOOOOOO  {1}WWWWW {0}O {1}WW{0} OOOOOOOOOOOOO
+    {0}  OOOOOOOO  {1}WWWWWW  WWW{0} OOOOOOOOOOOOOO
+    {0} OOOOOOOOO  {1}WWWWWWW WWW{0} OOOOOOOOOOOOOOO
+    {0} OOOOOOO  {1}WWWWWWWWWW WW{0} OOOOOOOOOOOOOOO
+    {0}OOOOOOO  {1}WWWWWWWWWWWWWW{0}  OOOOOOOOOOOOOOO
+    {0}OOOOOO  {1}WWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+    {0}OOOOO  {1}WWW WWWWWWWWW   WWWWW{0}   OOOOOOOOO
+    {0}OOO   {1}WW  WWWWWWWWWWWWWWWWWWWWW{0}  OOOOOOO
+    {0} O   {1}WWWW  WWWWWWWWWWWWWWWWWWWWW{2}D{0}  OOOO
+    {0}    {1}WWWW  WWWWWWWWWWWWWWWWWWWWWW{0}  OOOOO
+    {1}   WWWWW..............  {0}.........OOOOO
+    {1}    WWWWWWWWWWWWWWWWWW{0}   OOOOOOOOOOOO
+    {1}     WWWWWWWWWWWWWWWWWW{0}    OOOOOOOO
+    {1}       WWWWWWWWWWWWWWWWW{0}    OOOOOO
+    {1}         WWWWWWWWWWWWWWWW{0}     OO
+    {1}             WWWWWWWWWWWWW{0}
+  colors:
+    ansi:
+      - red
+      - white
+      - black
+    hex:
+      - "#FF0A01"
+      - "#FFFFFF"
+      - "#000000"
+    chip: "#DD1100"
+Xaml:
+  type: data
+  ascii: |
+    {0}        :::::::::::::::::::::..
+    {0}       :::{1}------{0}::::::::::::....
+    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+    {0}:::{1}------{0}::::::::::::.........{1}------{0}...
+    {0} :::{1}------{0}::::::::::::.......{1}------{0}...
+    {0}  :::{1}------{0}::::::::::::.....{1}------{0}...
+    {0}   :::{1}------{0}::::::::::::...{1}------{0}...
+    {0}    :::{1}------{0}::::::::::::..{1}-----{0}...
+    {0}     :::{1}------{0}::::::::::::..{1}---{0}...
+    {0}      :::{1}------{0}::::::::::::..{1}-{0}...
+    {0}       :::{1}------{0}::::::::::::....
+    {0}        :::::::::::::::::::::..
   colors:
     ansi:
       - blue
@@ -2946,26 +2916,25 @@ Xml:
       - green
     chip: "#0060AC"
   icon: '\u{f05c0}'
-# TODO
-# XSL:
-#   type: programming
-#   ascii: |
-#     {0}                       :::
-#     {0}       :::::          :::  :::::
-#     {0}     :::::           :::     :::::
-#     {0}   :::::            :::        :::::
-#     {0} :::::             :::           :::::
-#     {0}:::::             :::             :::::
-#     {0} :::::           :::             :::::
-#     {0}   :::::        :::            :::::
-#     {0}     :::::     :::           :::::
-#     {0}       :::::  :::          :::::
-#     {0}             :::
-#   colors:
-#     ansi:
-#       - cyan
-#     chip: "#EB8CEB"
-#   icon: '\u{f05c0}'
+Xsl:
+  type: programming
+  ascii: |
+    {0}                       :::
+    {0}       :::::          :::  :::::
+    {0}     :::::           :::     :::::
+    {0}   :::::            :::        :::::
+    {0} :::::             :::           :::::
+    {0}:::::             :::             :::::
+    {0} :::::           :::             :::::
+    {0}   :::::        :::            :::::
+    {0}     :::::     :::           :::::
+    {0}       :::::  :::          :::::
+    {0}             :::
+  colors:
+    ansi:
+      - cyan
+    chip: "#EB8CEB"
+  icon: '\u{f05c0}'
 Yaml:
   type: data
   ascii: |

From e65882f1cfd5a77ca0593aff1d52a054e8a856e2 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 21:41:46 +0000
Subject: [PATCH 32/35] Add back missing chip

---
 languages.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/languages.yaml b/languages.yaml
index 1a544cf7d..29dff10c4 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -361,6 +361,7 @@ Coq:
     hex:
       - "#BF8C5E"
       - "#D5BE99"
+    chip: "#D0B68C"
 CPlusPlus:
   type: programming
   ascii: |

From 6c31e9f087ee3e6cb601bf406c9c417e68cd8a99 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 21:46:16 +0000
Subject: [PATCH 33/35] squash! TEMP

Remap languages
---
 languages.yaml | 142 ++++++++++++++++++++++++-------------------------
 1 file changed, 71 insertions(+), 71 deletions(-)

diff --git a/languages.yaml b/languages.yaml
index 29dff10c4..feeedf182 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -334,6 +334,34 @@ Coldfusion:
       - "#274550"
     chip: "#ed2cd6"
   icon: '\u{E645}'
+CommonLisp:
+  type: programming
+  ascii: |
+    {0}              ............
+    {0}         ********..............
+    {0}       *************.............
+    {0}     ****************..............
+    {0}   *******************...***.........
+    {0}  **...********...*****...***.........
+    {0} ***...*******...******....***.........
+    {0}****...******...*******....****.........
+    {0}*****...****...*******.....*****........
+    {0}******...**...******.......******.......
+    {0}*******......******.......***..***......
+    {0}********.....*****.......***....***.....
+    {0}*********....****.......***......***....
+    {0} *********...****......***.......***...
+    {0}  *********...***.....***........***..
+    {0}   *********...***...................
+    {0}     **************................
+    {0}       *************.............
+    {0}         **************........
+    {0}              ************
+  colors:
+    ansi:
+      - white
+    chip: "#3FB68B"
+  icon: '\u{E6B0}'
 Coq:
   type: programming
   ascii: |
@@ -556,7 +584,7 @@ Dart:
       - "#01597D"
     chip: "#00B4AB"
   icon: '\u{E64C}'
-Dockerfile:
+Docker:
   type: programming
   ascii: |
     {2}                  ##   {0}      .
@@ -1376,7 +1404,7 @@ Julia:
       - magenta
     chip: "#A270BA"
   icon: '\u{E624}'
-Jupyter:
+JupyterNotebook:
   type: programming
   ascii: |
     {0}                                 +%%%+
@@ -1443,34 +1471,6 @@ Kotlin:
       - magenta
     chip: "#A97BFF"
   icon: '\u{E634}'
-Lisp:
-  type: programming
-  ascii: |
-    {0}              ............
-    {0}         ********..............
-    {0}       *************.............
-    {0}     ****************..............
-    {0}   *******************...***.........
-    {0}  **...********...*****...***.........
-    {0} ***...*******...******....***.........
-    {0}****...******...*******....****.........
-    {0}*****...****...*******.....*****........
-    {0}******...**...******.......******.......
-    {0}*******......******.......***..***......
-    {0}********.....*****.......***....***.....
-    {0}*********....****.......***......***....
-    {0} *********...****......***.......***...
-    {0}  *********...***.....***........***..
-    {0}   *********...***...................
-    {0}     **************................
-    {0}       *************.............
-    {0}         **************........
-    {0}              ************
-  colors:
-    ansi:
-      - white
-    chip: "#3FB68B"
-  icon: '\u{E6B0}'
 Llvm:
   type: programming
   ascii: |
@@ -1665,7 +1665,7 @@ ObjectiveC:
       - blue
     chip: "#438EFF"
   serialization: objective-c
-OCaml:
+Ocaml:
   type: programming
   ascii: |
     {0}///////////////////////////////////////
@@ -1821,42 +1821,6 @@ Perl:
       - cyan
     chip: "#0298C3"
   icon: '\u{E67E}'
-Perl6:
-  type: programming
-  ascii: |
-    {0} +@8DM#8W,
-    {0}#DM"{1},ypy,{0}"8#
-    {0}DDU {1}8M]N8u{0} DM
-    {0}8DD {1}TMD8M,{0}8M  {4}8
-    {0} 8D#=e@8MM^   {4}8
-    {0}  *MDw  {4},.,+#M`
-    {0}    "8#                   {0},e88DDDD8m,
-    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
-    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
-    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
-    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
-    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
-    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
-    {1}   ``      {2}'"F*FFF*  {1},yw,
-    {1}                  ,#]{0}[D8{1}8W
-    {1}                  k8{0}]DDN8{1}8L
-    {1}                  '8E{0}$DE8{1}8M
-    {1}                    R#E#R^
-  colors:
-    ansi:
-      - blue
-      - red
-      - yellow
-      - white
-      - green
-    hex:
-      - "#5B00FD"
-      - "#FF005E"
-      - "#F3FF27"
-      - "#FFFFFF"
-      - "#00FF39"
-    chip: "#0000FB"
-  serialization: raku
 Php:
   type: programming
   ascii: |
@@ -1954,7 +1918,7 @@ Prolog:
       - white
     chip: "#74283C"
   icon: '\u{E7A1}'
-Protobuf:
+ProtocolBuffer:
   type: programming
   ascii: |
     {0}      ;;;;;;;;     {2}::::::::
@@ -2113,7 +2077,43 @@ Racket:
       - white
       - blue
     chip: "#3C5CAA"
-Renpy:
+Raku:
+  type: programming
+  ascii: |
+    {0} +@8DM#8W,
+    {0}#DM"{1},ypy,{0}"8#
+    {0}DDU {1}8M]N8u{0} DM
+    {0}8DD {1}TMD8M,{0}8M  {4}8
+    {0} 8D#=e@8MM^   {4}8
+    {0}  *MDw  {4},.,+#M`
+    {0}    "8#                   {0},e88DDDD8m,
+    {0}      "8 {3}x33#,           {0}z8D#M`9Dw "9DW
+    {3}        JE   E {2}BBW.     {0}DM {1}p#Kw {0}D8   {0}JDM
+    {1} #pp#pr {3} JRFMy{2}#EEF{3}y#Rr, {0}DM{1} MD]8 {0}9DM {4}`N
+    {1}Z#{0}8#D]{1}D# {2}EE#EEEEE{3}`EW  E {0}8M,{1}"RM`{0} 8DM  {4}D
+    {1}88{0}8]D]{1}D8 {2}EEM{1}#{2}EEE{1}E{2}Bp{3}TFF^  {0}*M888#`  {4}#M
+    {1}*#88EE8  {2} RRk{1}8BMM{2}#EEE,        {4}'^'
+    {1}   ``      {2}'"F*FFF*  {1},yw,
+    {1}                  ,#]{0}[D8{1}8W
+    {1}                  k8{0}]DDN8{1}8L
+    {1}                  '8E{0}$DE8{1}8M
+    {1}                    R#E#R^
+  colors:
+    ansi:
+      - blue
+      - red
+      - yellow
+      - white
+      - green
+    hex:
+      - "#5B00FD"
+      - "#FF005E"
+      - "#F3FF27"
+      - "#FFFFFF"
+      - "#00FF39"
+    chip: "#0000FB"
+  serialization: raku
+RenPy:
   type: programming
   ascii: |
     {0}       ++++++
@@ -2511,7 +2511,7 @@ Swift:
       - "#FD2822"
     chip: "#F05138"
   icon: '\u{E755}'
-SystemVerilog:
+Systemverilog:
   type: programming
   ascii: |
     {0}     _.._   _.._   _.._   _.._
@@ -2813,7 +2813,7 @@ Vue:
       - blue
     chip: "#199F4B"
   icon: '\u{E6A0}'
-WebAssembly:
+Webassembly:
   type: programming
   ascii: |
     {0}:::::::::::             ::::::::::::

From 4ec196d85b6af91bc0b8f2f8e6cdfa5930d5b113 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Tue, 22 Oct 2024 23:01:46 +0000
Subject: [PATCH 34/35] Rename test arg

---
 src/cli.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/cli.rs b/src/cli.rs
index c86107e6a..15c66f905 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -419,7 +419,7 @@ mod test {
                 "url",
                 "--no-art",
                 "--ascii-language",
-                "lisp"
+                "commonlisp"
             ])
         );
     }

From 47136f7b7c75ba2491238f968fa9f0f05c162f90 Mon Sep 17 00:00:00 2001
From: Spenser Black <spenserblack01@gmail.com>
Date: Wed, 23 Oct 2024 17:31:14 -0400
Subject: [PATCH 35/35] Bump gix and gengo

---
 Cargo.lock          | 818 ++++++++++++++++++++------------------------
 Cargo.toml          |   6 +-
 src/info/git/mod.rs |  23 +-
 3 files changed, 381 insertions(+), 466 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 73e30a03d..7127e664d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -535,19 +535,6 @@ dependencies = [
  "itertools",
 ]
 
-[[package]]
-name = "crossbeam"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-epoch",
- "crossbeam-queue",
- "crossbeam-utils",
-]
-
 [[package]]
 name = "crossbeam-channel"
 version = "0.5.13"
@@ -576,15 +563,6 @@ dependencies = [
  "crossbeam-utils",
 ]
 
-[[package]]
-name = "crossbeam-queue"
-version = "0.3.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
-dependencies = [
- "crossbeam-utils",
-]
-
 [[package]]
 name = "crossbeam-utils"
 version = "0.8.20"
@@ -723,6 +701,9 @@ name = "faster-hex"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "fastrand"
@@ -905,11 +886,11 @@ dependencies = [
 
 [[package]]
 name = "gengo"
-version = "0.11.4"
+version = "0.11.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2000d1f3c3c130d8a2efb9d02ff0d1102f530039e967c841d951bbd6a1d998cf"
+checksum = "124a47a1ad9ec2a4f48cf20bcfd07a95228380c150c4dccbac725af436507fa1"
 dependencies = [
- "gix 0.63.0",
+ "gix",
  "glob",
  "ignore",
  "indexmap",
@@ -951,96 +932,48 @@ checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64"
 
 [[package]]
 name = "gix"
-version = "0.63.0"
+version = "0.67.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06"
+checksum = "c7d3e78ddac368d3e3bfbc2862bc2aafa3d89f1b15fed898d9761e1ec6f3f17f"
 dependencies = [
- "gix-actor 0.31.5",
- "gix-attributes",
+ "gix-actor 0.33.0",
+ "gix-attributes 0.23.0",
  "gix-command",
- "gix-commitgraph",
- "gix-config 0.37.0",
- "gix-date 0.8.7",
- "gix-diff 0.44.1",
- "gix-discover 0.32.0",
- "gix-features",
- "gix-filter 0.11.3",
- "gix-fs",
- "gix-glob",
- "gix-hash",
- "gix-hashtable",
- "gix-ignore",
- "gix-index 0.33.1",
- "gix-lock",
- "gix-macros",
- "gix-object 0.42.3",
- "gix-odb 0.61.1",
- "gix-pack 0.51.1",
- "gix-path",
- "gix-pathspec",
- "gix-ref 0.44.1",
- "gix-refspec 0.23.1",
- "gix-revision 0.27.2",
- "gix-revwalk 0.13.2",
- "gix-sec",
- "gix-submodule 0.11.0",
- "gix-tempfile",
- "gix-trace",
- "gix-traverse 0.39.2",
- "gix-url",
- "gix-utils",
- "gix-validate 0.8.5",
- "gix-worktree 0.34.1",
- "once_cell",
- "parking_lot",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gix"
-version = "0.66.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9048b8d1ae2104f045cb37e5c450fc49d5d8af22609386bfc739c11ba88995eb"
-dependencies = [
- "gix-actor 0.32.0",
- "gix-attributes",
- "gix-command",
- "gix-commitgraph",
- "gix-config 0.40.0",
- "gix-date 0.9.0",
- "gix-diff 0.46.0",
+ "gix-commitgraph 0.25.0",
+ "gix-config",
+ "gix-date 0.9.1",
+ "gix-diff",
  "gix-dir",
- "gix-discover 0.35.0",
- "gix-features",
- "gix-filter 0.13.0",
- "gix-fs",
- "gix-glob",
- "gix-hash",
- "gix-hashtable",
- "gix-ignore",
- "gix-index 0.35.0",
- "gix-lock",
+ "gix-discover 0.36.0",
+ "gix-features 0.39.0",
+ "gix-filter",
+ "gix-fs 0.12.0",
+ "gix-glob 0.17.0",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-ignore 0.12.0",
+ "gix-index 0.36.0",
+ "gix-lock 15.0.0",
  "gix-mailmap",
- "gix-object 0.44.0",
- "gix-odb 0.63.0",
- "gix-pack 0.53.0",
+ "gix-object 0.45.0",
+ "gix-odb",
+ "gix-pack",
  "gix-path",
  "gix-pathspec",
- "gix-ref 0.47.0",
- "gix-refspec 0.25.0",
- "gix-revision 0.29.0",
- "gix-revwalk 0.15.0",
+ "gix-ref 0.48.0",
+ "gix-refspec",
+ "gix-revision",
+ "gix-revwalk 0.16.0",
  "gix-sec",
  "gix-status",
- "gix-submodule 0.14.0",
- "gix-tempfile",
+ "gix-submodule",
+ "gix-tempfile 15.0.0",
  "gix-trace",
- "gix-traverse 0.41.0",
+ "gix-traverse 0.42.0",
  "gix-url",
  "gix-utils",
- "gix-validate 0.9.0",
- "gix-worktree 0.36.0",
+ "gix-validate 0.9.1",
+ "gix-worktree 0.37.0",
  "once_cell",
  "smallvec",
  "thiserror",
@@ -1062,12 +995,12 @@ dependencies = [
 
 [[package]]
 name = "gix-actor"
-version = "0.32.0"
+version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc19e312cd45c4a66cd003f909163dc2f8e1623e30a0c0c6df3776e89b308665"
+checksum = "59226ef06661c756e664b46b1d3b2c198f6adc5407a484c086d0171108a70027"
 dependencies = [
  "bstr",
- "gix-date 0.9.0",
+ "gix-date 0.9.1",
  "gix-utils",
  "itoa",
  "thiserror",
@@ -1081,7 +1014,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311"
 dependencies = [
  "bstr",
- "gix-glob",
+ "gix-glob 0.16.5",
+ "gix-path",
+ "gix-quote",
+ "gix-trace",
+ "kstring",
+ "smallvec",
+ "thiserror",
+ "unicode-bom",
+]
+
+[[package]]
+name = "gix-attributes"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31a102d201ef0e5a848458a82292581e7641e52f0f52e693b6cbdd05a652c029"
+dependencies = [
+ "bstr",
+ "gix-glob 0.17.0",
  "gix-path",
  "gix-quote",
  "gix-trace",
@@ -1093,27 +1043,27 @@ dependencies = [
 
 [[package]]
 name = "gix-bitmap"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae"
+checksum = "10f78312288bd02052be5dbc2ecbc342c9f4eb791986d86c0a5c06b92dc72efa"
 dependencies = [
  "thiserror",
 ]
 
 [[package]]
 name = "gix-chunk"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52"
+checksum = "6c28b58ba04f0c004722344390af9dbc85888fbb84be1981afb934da4114d4cf"
 dependencies = [
  "thiserror",
 ]
 
 [[package]]
 name = "gix-command"
-version = "0.3.9"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7"
+checksum = "c201d2b9e9cce2365a6638fd0a966f751ed92d74be5c0727ac331e6a29ef5846"
 dependencies = [
  "bstr",
  "gix-path",
@@ -1129,45 +1079,38 @@ checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78"
 dependencies = [
  "bstr",
  "gix-chunk",
- "gix-features",
- "gix-hash",
+ "gix-features 0.38.2",
+ "gix-hash 0.14.2",
  "memmap2",
  "thiserror",
 ]
 
 [[package]]
-name = "gix-config"
-version = "0.37.0"
+name = "gix-commitgraph"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840"
+checksum = "41db900b189e62dc61575f06fdf1a3b6901d264a99be9d32b286af6b2e3984e1"
 dependencies = [
  "bstr",
- "gix-config-value",
- "gix-features",
- "gix-glob",
- "gix-path",
- "gix-ref 0.44.1",
- "gix-sec",
- "memchr",
- "once_cell",
- "smallvec",
+ "gix-chunk",
+ "gix-features 0.39.0",
+ "gix-hash 0.15.0",
+ "memmap2",
  "thiserror",
- "unicode-bom",
- "winnow",
 ]
 
 [[package]]
 name = "gix-config"
-version = "0.40.0"
+version = "0.41.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78e797487e6ca3552491de1131b4f72202f282fb33f198b1c34406d765b42bb0"
+checksum = "0bedd1bf1c7b994be9d57207e8e0de79016c05e2e8701d3015da906e65ac445e"
 dependencies = [
  "bstr",
  "gix-config-value",
- "gix-features",
- "gix-glob",
+ "gix-features 0.39.0",
+ "gix-glob 0.17.0",
  "gix-path",
- "gix-ref 0.47.0",
+ "gix-ref 0.48.0",
  "gix-sec",
  "memchr",
  "once_cell",
@@ -1179,9 +1122,9 @@ dependencies = [
 
 [[package]]
 name = "gix-config-value"
-version = "0.14.8"
+version = "0.14.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c"
+checksum = "f3de3fdca9c75fa4b83a76583d265fa49b1de6b088ebcd210749c24ceeb74660"
 dependencies = [
  "bitflags 2.6.0",
  "bstr",
@@ -1204,9 +1147,9 @@ dependencies = [
 
 [[package]]
 name = "gix-date"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5"
+checksum = "d10d543ac13c97292a15e8e8b7889cd006faf739777437ed95362504b8fe81a0"
 dependencies = [
  "bstr",
  "itoa",
@@ -1216,53 +1159,42 @@ dependencies = [
 
 [[package]]
 name = "gix-diff"
-version = "0.44.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d"
-dependencies = [
- "bstr",
- "gix-hash",
- "gix-object 0.42.3",
- "thiserror",
-]
-
-[[package]]
-name = "gix-diff"
-version = "0.46.0"
+version = "0.47.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92c9afd80fff00f8b38b1c1928442feb4cd6d2232a6ed806b6b193151a3d336c"
+checksum = "c9850fd0c15af113db6f9e130d13091ba0d3754e570a2afdff9e2f3043da260e"
 dependencies = [
  "bstr",
  "gix-command",
- "gix-filter 0.13.0",
- "gix-fs",
- "gix-hash",
- "gix-object 0.44.0",
+ "gix-filter",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
+ "gix-object 0.45.0",
  "gix-path",
- "gix-tempfile",
+ "gix-tempfile 15.0.0",
  "gix-trace",
- "gix-worktree 0.36.0",
+ "gix-traverse 0.42.0",
+ "gix-worktree 0.37.0",
  "imara-diff",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-dir"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed3a9076661359a1c5a27c12ad6c3ebe2dd96b8b3c0af6488ab7c128b7bdd98"
+checksum = "bbf6c29bf17baf3996d4925fad5e10c1a12eac9b3a0d8475d89292e0e5ba34a3"
 dependencies = [
  "bstr",
- "gix-discover 0.35.0",
- "gix-fs",
- "gix-ignore",
- "gix-index 0.35.0",
- "gix-object 0.44.0",
+ "gix-discover 0.36.0",
+ "gix-fs 0.12.0",
+ "gix-ignore 0.12.0",
+ "gix-index 0.36.0",
+ "gix-object 0.45.0",
  "gix-path",
  "gix-pathspec",
  "gix-trace",
  "gix-utils",
- "gix-worktree 0.36.0",
+ "gix-worktree 0.37.0",
  "thiserror",
 ]
 
@@ -1274,8 +1206,8 @@ checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf"
 dependencies = [
  "bstr",
  "dunce",
- "gix-fs",
- "gix-hash",
+ "gix-fs 0.11.3",
+ "gix-hash 0.14.2",
  "gix-path",
  "gix-ref 0.44.1",
  "gix-sec",
@@ -1284,16 +1216,16 @@ dependencies = [
 
 [[package]]
 name = "gix-discover"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0577366b9567376bc26e815fd74451ebd0e6218814e242f8e5b7072c58d956d2"
+checksum = "c522e31f458f50af09dfb014e10873c5378f702f8049c96f508989aad59671f6"
 dependencies = [
  "bstr",
  "dunce",
- "gix-fs",
- "gix-hash",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
  "gix-path",
- "gix-ref 0.47.0",
+ "gix-ref 0.48.0",
  "gix-sec",
  "thiserror",
 ]
@@ -1303,18 +1235,32 @@ name = "gix-features"
 version = "0.38.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69"
+dependencies = [
+ "gix-hash 0.14.2",
+ "gix-trace",
+ "gix-utils",
+ "libc",
+ "prodash 28.0.0",
+ "sha1_smol",
+ "walkdir",
+]
+
+[[package]]
+name = "gix-features"
+version = "0.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e0eb9efdf96c35c0bed7596d1bef2d4ce6360a1d09738001f9d3e402aa7ba3e"
 dependencies = [
  "crc32fast",
  "crossbeam-channel",
  "flate2",
- "gix-hash",
+ "gix-hash 0.15.0",
  "gix-trace",
  "gix-utils",
- "jwalk",
  "libc",
  "once_cell",
  "parking_lot",
- "prodash",
+ "prodash 29.0.0",
  "sha1_smol",
  "thiserror",
  "walkdir",
@@ -1322,16 +1268,16 @@ dependencies = [
 
 [[package]]
 name = "gix-filter"
-version = "0.11.3"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a"
+checksum = "6b37f82359a4485770ed8993ae715ced1bf674f2a63e45f5a0786d38310665ea"
 dependencies = [
  "bstr",
  "encoding_rs",
- "gix-attributes",
+ "gix-attributes 0.23.0",
  "gix-command",
- "gix-hash",
- "gix-object 0.42.3",
+ "gix-hash 0.15.0",
+ "gix-object 0.45.0",
  "gix-packetline-blocking",
  "gix-path",
  "gix-quote",
@@ -1342,34 +1288,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "gix-filter"
-version = "0.13.0"
+name = "gix-fs"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4121790ae140066e5b953becc72e7496278138d19239be2e63b5067b0843119e"
+checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575"
 dependencies = [
- "bstr",
- "encoding_rs",
- "gix-attributes",
- "gix-command",
- "gix-hash",
- "gix-object 0.44.0",
- "gix-packetline-blocking",
- "gix-path",
- "gix-quote",
- "gix-trace",
+ "fastrand",
+ "gix-features 0.38.2",
  "gix-utils",
- "smallvec",
- "thiserror",
 ]
 
 [[package]]
 name = "gix-fs"
-version = "0.11.3"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575"
+checksum = "34740384d8d763975858fa2c176b68652a6fcc09f616e24e3ce967b0d370e4d8"
 dependencies = [
  "fastrand",
- "gix-features",
+ "gix-features 0.39.0",
  "gix-utils",
 ]
 
@@ -1381,7 +1317,19 @@ checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111"
 dependencies = [
  "bitflags 2.6.0",
  "bstr",
- "gix-features",
+ "gix-features 0.38.2",
+ "gix-path",
+]
+
+[[package]]
+name = "gix-glob"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "254b5101cf7facc00d9b5ff564cf46302ca76695cca23d33bc958a707b6fc857"
+dependencies = [
+ "bitflags 2.6.0",
+ "bstr",
+ "gix-features 0.39.0",
  "gix-path",
 ]
 
@@ -1395,13 +1343,34 @@ dependencies = [
  "thiserror",
 ]
 
+[[package]]
+name = "gix-hash"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "952c3a29f1bc1007cc901abce7479943abfa42016db089de33d0a4fa3c85bfe8"
+dependencies = [
+ "faster-hex",
+ "thiserror",
+]
+
 [[package]]
 name = "gix-hashtable"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242"
 dependencies = [
- "gix-hash",
+ "gix-hash 0.14.2",
+ "hashbrown 0.14.5",
+ "parking_lot",
+]
+
+[[package]]
+name = "gix-hashtable"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe"
+dependencies = [
+ "gix-hash 0.15.0",
  "hashbrown 0.14.5",
  "parking_lot",
 ]
@@ -1413,7 +1382,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7"
 dependencies = [
  "bstr",
- "gix-glob",
+ "gix-glob 0.16.5",
+ "gix-path",
+ "gix-trace",
+ "unicode-bom",
+]
+
+[[package]]
+name = "gix-ignore"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba55a9b582dc26a639875497615959a8127ac5c37b2426dc50f037fada33a4b7"
+dependencies = [
+ "bstr",
+ "gix-glob 0.17.0",
  "gix-path",
  "gix-trace",
  "unicode-bom",
@@ -1430,10 +1412,10 @@ dependencies = [
  "filetime",
  "fnv",
  "gix-bitmap",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-lock",
+ "gix-features 0.38.2",
+ "gix-fs 0.11.3",
+ "gix-hash 0.14.2",
+ "gix-lock 14.0.0",
  "gix-object 0.42.3",
  "gix-traverse 0.39.2",
  "gix-utils",
@@ -1449,23 +1431,23 @@ dependencies = [
 
 [[package]]
 name = "gix-index"
-version = "0.35.0"
+version = "0.36.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cd4203244444017682176e65fd0180be9298e58ed90bd4a8489a357795ed22d"
+checksum = "27619009ca1ea33fd885041273f5fa5a09163a5c1d22a913b28d7b985e66fe29"
 dependencies = [
  "bitflags 2.6.0",
  "bstr",
  "filetime",
  "fnv",
  "gix-bitmap",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-lock",
- "gix-object 0.44.0",
- "gix-traverse 0.41.0",
+ "gix-features 0.39.0",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
+ "gix-lock 15.0.0",
+ "gix-object 0.45.0",
+ "gix-traverse 0.42.0",
  "gix-utils",
- "gix-validate 0.9.0",
+ "gix-validate 0.9.1",
  "hashbrown 0.14.5",
  "itoa",
  "libc",
@@ -1481,31 +1463,31 @@ version = "14.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d"
 dependencies = [
- "gix-tempfile",
+ "gix-tempfile 14.0.2",
  "gix-utils",
  "thiserror",
 ]
 
 [[package]]
-name = "gix-macros"
-version = "0.1.5"
+name = "gix-lock"
+version = "15.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17"
+checksum = "5102acdf4acae2644e38dbbd18cdfba9597a218f7d85f810fe5430207e03c2de"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.79",
+ "gix-tempfile 15.0.0",
+ "gix-utils",
+ "thiserror",
 ]
 
 [[package]]
 name = "gix-mailmap"
-version = "0.24.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7d522c8ec2501e1a5b2b4cb54e83cb5d9a52471c9d23b3a1e8dadaf063752f7"
+checksum = "27d6ac205276a817b6efec0fdb6c62861d01d71f344dc7e5ebe81ab2907ebd0a"
 dependencies = [
  "bstr",
- "gix-actor 0.32.0",
- "gix-date 0.9.0",
+ "gix-actor 0.33.0",
+ "gix-date 0.9.1",
  "thiserror",
 ]
 
@@ -1518,8 +1500,8 @@ dependencies = [
  "bstr",
  "gix-actor 0.31.5",
  "gix-date 0.8.7",
- "gix-features",
- "gix-hash",
+ "gix-features 0.38.2",
+ "gix-hash 0.14.2",
  "gix-utils",
  "gix-validate 0.8.5",
  "itoa",
@@ -1530,17 +1512,18 @@ dependencies = [
 
 [[package]]
 name = "gix-object"
-version = "0.44.0"
+version = "0.45.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f5b801834f1de7640731820c2df6ba88d95480dc4ab166a5882f8ff12b88efa"
+checksum = "2a77b6e7753d298553d9ae8b1744924481e7a49170983938bb578dccfbc6fc1a"
 dependencies = [
  "bstr",
- "gix-actor 0.32.0",
- "gix-date 0.9.0",
- "gix-features",
- "gix-hash",
+ "gix-actor 0.33.0",
+ "gix-date 0.9.1",
+ "gix-features 0.39.0",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
  "gix-utils",
- "gix-validate 0.9.0",
+ "gix-validate 0.9.1",
  "itoa",
  "smallvec",
  "thiserror",
@@ -1549,37 +1532,18 @@ dependencies = [
 
 [[package]]
 name = "gix-odb"
-version = "0.61.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b"
-dependencies = [
- "arc-swap",
- "gix-date 0.8.7",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-object 0.42.3",
- "gix-pack 0.51.1",
- "gix-path",
- "gix-quote",
- "parking_lot",
- "tempfile",
- "thiserror",
-]
-
-[[package]]
-name = "gix-odb"
-version = "0.63.0"
+version = "0.64.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3158068701c17df54f0ab2adda527f5a6aca38fd5fd80ceb7e3c0a2717ec747"
+checksum = "0bb86aadf7f1b2f980601b4fc94309706f9700f8008f935dc512d556c9e60f61"
 dependencies = [
  "arc-swap",
- "gix-date 0.9.0",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-object 0.44.0",
- "gix-pack 0.53.0",
+ "gix-date 0.9.1",
+ "gix-features 0.39.0",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-object 0.45.0",
+ "gix-pack",
  "gix-path",
  "gix-quote",
  "parking_lot",
@@ -1589,35 +1553,16 @@ dependencies = [
 
 [[package]]
 name = "gix-pack"
-version = "0.51.1"
+version = "0.54.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229"
+checksum = "363e6e59a855ba243672408139db68e2478126cdcfeabb420777df4a1f20026b"
 dependencies = [
  "clru",
  "gix-chunk",
- "gix-features",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.42.3",
- "gix-path",
- "memmap2",
- "smallvec",
- "thiserror",
- "uluru",
-]
-
-[[package]]
-name = "gix-pack"
-version = "0.53.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3223aa342eee21e1e0e403cad8ae9caf9edca55ef84c347738d10681676fd954"
-dependencies = [
- "clru",
- "gix-chunk",
- "gix-features",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.44.0",
+ "gix-features 0.39.0",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-object 0.45.0",
  "gix-path",
  "memmap2",
  "smallvec",
@@ -1627,9 +1572,9 @@ dependencies = [
 
 [[package]]
 name = "gix-packetline-blocking"
-version = "0.17.5"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40"
+checksum = "decace940e8ba8e29d29b73b843a6cbae67503887f3e5fb7e688d0f4f6ee0757"
 dependencies = [
  "bstr",
  "faster-hex",
@@ -1639,9 +1584,9 @@ dependencies = [
 
 [[package]]
 name = "gix-path"
-version = "0.10.11"
+version = "0.10.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af"
+checksum = "c04e5a94fdb56b1e91eb7df2658ad16832428b8eeda24ff1a0f0288de2bce554"
 dependencies = [
  "bstr",
  "gix-trace",
@@ -1652,24 +1597,24 @@ dependencies = [
 
 [[package]]
 name = "gix-pathspec"
-version = "0.7.7"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb"
+checksum = "70f02bf7625dbf15bf9fedbeace2ac1ce1c5177806bdbc24c441d664c75c00e4"
 dependencies = [
  "bitflags 2.6.0",
  "bstr",
- "gix-attributes",
+ "gix-attributes 0.23.0",
  "gix-config-value",
- "gix-glob",
+ "gix-glob 0.17.0",
  "gix-path",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-quote"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff"
+checksum = "f89f9a1525dcfd9639e282ea939f5ab0d09d93cf2b90c1fc6104f1b9582a8e49"
 dependencies = [
  "bstr",
  "gix-utils",
@@ -1684,13 +1629,13 @@ checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e"
 dependencies = [
  "gix-actor 0.31.5",
  "gix-date 0.8.7",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-lock",
+ "gix-features 0.38.2",
+ "gix-fs 0.11.3",
+ "gix-hash 0.14.2",
+ "gix-lock 14.0.0",
  "gix-object 0.42.3",
  "gix-path",
- "gix-tempfile",
+ "gix-tempfile 14.0.2",
  "gix-utils",
  "gix-validate 0.8.5",
  "memmap2",
@@ -1700,20 +1645,20 @@ dependencies = [
 
 [[package]]
 name = "gix-ref"
-version = "0.47.0"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae0d8406ebf9aaa91f55a57f053c5a1ad1a39f60fdf0303142b7be7ea44311e5"
+checksum = "a47385e71fa2d9da8c35e642ef4648808ddf0a52bc93425879088c706dfeaea2"
 dependencies = [
- "gix-actor 0.32.0",
- "gix-features",
- "gix-fs",
- "gix-hash",
- "gix-lock",
- "gix-object 0.44.0",
+ "gix-actor 0.33.0",
+ "gix-features 0.39.0",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
+ "gix-lock 15.0.0",
+ "gix-object 0.45.0",
  "gix-path",
- "gix-tempfile",
+ "gix-tempfile 15.0.0",
  "gix-utils",
- "gix-validate 0.9.0",
+ "gix-validate 0.9.1",
  "memmap2",
  "thiserror",
  "winnow",
@@ -1721,60 +1666,32 @@ dependencies = [
 
 [[package]]
 name = "gix-refspec"
-version = "0.23.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37"
-dependencies = [
- "bstr",
- "gix-hash",
- "gix-revision 0.27.2",
- "gix-validate 0.8.5",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
-name = "gix-refspec"
-version = "0.25.0"
+version = "0.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebb005f82341ba67615ffdd9f7742c87787544441c88090878393d0682869ca6"
+checksum = "0022038a09d80d9abf773be8efcbb502868d97f6972b8633bfb52ab6edaac442"
 dependencies = [
  "bstr",
- "gix-hash",
- "gix-revision 0.29.0",
- "gix-validate 0.9.0",
+ "gix-hash 0.15.0",
+ "gix-revision",
+ "gix-validate 0.9.1",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-revision"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce"
-dependencies = [
- "bstr",
- "gix-date 0.8.7",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.42.3",
- "gix-revwalk 0.13.2",
- "gix-trace",
- "thiserror",
-]
-
-[[package]]
-name = "gix-revision"
-version = "0.29.0"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba4621b219ac0cdb9256883030c3d56a6c64a6deaa829a92da73b9a576825e1e"
+checksum = "4ee8eb4088fece3562af4a5d751e069f90e93345524ad730512185234c4b55f1"
 dependencies = [
+ "bitflags 2.6.0",
  "bstr",
- "gix-date 0.9.0",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.44.0",
- "gix-revwalk 0.15.0",
+ "gix-commitgraph 0.25.0",
+ "gix-date 0.9.1",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-object 0.45.0",
+ "gix-revwalk 0.16.0",
  "gix-trace",
  "thiserror",
 ]
@@ -1785,10 +1702,10 @@ version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0"
 dependencies = [
- "gix-commitgraph",
+ "gix-commitgraph 0.24.3",
  "gix-date 0.8.7",
- "gix-hash",
- "gix-hashtable",
+ "gix-hash 0.14.2",
+ "gix-hashtable 0.5.2",
  "gix-object 0.42.3",
  "smallvec",
  "thiserror",
@@ -1796,24 +1713,24 @@ dependencies = [
 
 [[package]]
 name = "gix-revwalk"
-version = "0.15.0"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41e72544b93084ee682ef3d5b31b1ba4d8fa27a017482900e5e044d5b1b3984"
+checksum = "e6c9a9496da98d36ff19063a8576bf09a87425583b709a56dc5594fffa9d39b2"
 dependencies = [
- "gix-commitgraph",
- "gix-date 0.9.0",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.44.0",
+ "gix-commitgraph 0.25.0",
+ "gix-date 0.9.1",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-object 0.45.0",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-sec"
-version = "0.10.8"
+version = "0.10.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f"
+checksum = "a2007538eda296445c07949cf04f4a767307d887184d6b3e83e2d636533ddc6e"
 dependencies = [
  "bitflags 2.6.0",
  "gix-path",
@@ -1823,70 +1740,68 @@ dependencies = [
 
 [[package]]
 name = "gix-status"
-version = "0.13.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f70d35ba639f0c16a6e4cca81aa374a05f07b23fa36ee8beb72c100d98b4ffea"
+checksum = "57414886e750161b4c86d8bca6b2d15bcc87f37ddc46684bb05cebbd29390543"
 dependencies = [
  "bstr",
  "filetime",
- "gix-diff 0.46.0",
+ "gix-diff",
  "gix-dir",
- "gix-features",
- "gix-filter 0.13.0",
- "gix-fs",
- "gix-hash",
- "gix-index 0.35.0",
- "gix-object 0.44.0",
+ "gix-features 0.39.0",
+ "gix-filter",
+ "gix-fs 0.12.0",
+ "gix-hash 0.15.0",
+ "gix-index 0.36.0",
+ "gix-object 0.45.0",
  "gix-path",
  "gix-pathspec",
- "gix-worktree 0.36.0",
+ "gix-worktree 0.37.0",
  "portable-atomic",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-submodule"
-version = "0.11.0"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac"
+checksum = "3ed099621873cd36c580fc822176a32a7e50fef15a5c2ed81aaa087296f0497a"
 dependencies = [
  "bstr",
- "gix-config 0.37.0",
+ "gix-config",
  "gix-path",
  "gix-pathspec",
- "gix-refspec 0.23.1",
+ "gix-refspec",
  "gix-url",
  "thiserror",
 ]
 
 [[package]]
-name = "gix-submodule"
-version = "0.14.0"
+name = "gix-tempfile"
+version = "14.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "529d0af78cc2f372b3218f15eb1e3d1635a21c8937c12e2dd0b6fc80c2ca874b"
+checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa"
 dependencies = [
- "bstr",
- "gix-config 0.40.0",
- "gix-path",
- "gix-pathspec",
- "gix-refspec 0.25.0",
- "gix-url",
- "thiserror",
+ "gix-fs 0.11.3",
+ "libc",
+ "once_cell",
+ "parking_lot",
+ "signal-hook",
+ "signal-hook-registry",
+ "tempfile",
 ]
 
 [[package]]
 name = "gix-tempfile"
-version = "14.0.2"
+version = "15.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa"
+checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82"
 dependencies = [
  "dashmap",
- "gix-fs",
+ "gix-fs 0.12.0",
  "libc",
  "once_cell",
  "parking_lot",
- "signal-hook",
- "signal-hook-registry",
  "tempfile",
 ]
 
@@ -1901,11 +1816,11 @@ dependencies = [
  "fastrand",
  "fs_extra",
  "gix-discover 0.32.0",
- "gix-fs",
- "gix-ignore",
+ "gix-fs 0.11.3",
+ "gix-ignore 0.11.4",
  "gix-index 0.33.1",
- "gix-lock",
- "gix-tempfile",
+ "gix-lock 14.0.0",
+ "gix-tempfile 14.0.2",
  "gix-worktree 0.34.1",
  "io-close",
  "is_ci",
@@ -1918,9 +1833,9 @@ dependencies = [
 
 [[package]]
 name = "gix-trace"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b"
+checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952"
 
 [[package]]
 name = "gix-traverse"
@@ -1929,10 +1844,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840"
 dependencies = [
  "bitflags 2.6.0",
- "gix-commitgraph",
+ "gix-commitgraph 0.24.3",
  "gix-date 0.8.7",
- "gix-hash",
- "gix-hashtable",
+ "gix-hash 0.14.2",
+ "gix-hashtable 0.5.2",
  "gix-object 0.42.3",
  "gix-revwalk 0.13.2",
  "smallvec",
@@ -1941,40 +1856,39 @@ dependencies = [
 
 [[package]]
 name = "gix-traverse"
-version = "0.41.0"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "030da39af94e4df35472e9318228f36530989327906f38e27807df305fccb780"
+checksum = "f20f1b13cc4fa6ba92b24e6aa0c2fb6a34beb4458ef88c6300212db504e818df"
 dependencies = [
  "bitflags 2.6.0",
- "gix-commitgraph",
- "gix-date 0.9.0",
- "gix-hash",
- "gix-hashtable",
- "gix-object 0.44.0",
- "gix-revwalk 0.15.0",
+ "gix-commitgraph 0.25.0",
+ "gix-date 0.9.1",
+ "gix-hash 0.15.0",
+ "gix-hashtable 0.6.0",
+ "gix-object 0.45.0",
+ "gix-revwalk 0.16.0",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "gix-url"
-version = "0.27.5"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89"
+checksum = "33e7c297c3265015c133a2c02199610b6e1373a09dc4be057d0c1b5285737f06"
 dependencies = [
  "bstr",
- "gix-features",
+ "gix-features 0.39.0",
  "gix-path",
- "home",
  "thiserror",
  "url",
 ]
 
 [[package]]
 name = "gix-utils"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc"
+checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f"
 dependencies = [
  "bstr",
  "fastrand",
@@ -1993,9 +1907,9 @@ dependencies = [
 
 [[package]]
 name = "gix-validate"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81f2badbb64e57b404593ee26b752c26991910fd0d81fe6f9a71c1a8309b6c86"
+checksum = "e187b263461bc36cea17650141567753bc6207d036cedd1de6e81a52f277ff68"
 dependencies = [
  "bstr",
  "thiserror",
@@ -2008,12 +1922,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6"
 dependencies = [
  "bstr",
- "gix-attributes",
- "gix-features",
- "gix-fs",
- "gix-glob",
- "gix-hash",
- "gix-ignore",
+ "gix-attributes 0.22.5",
+ "gix-features 0.38.2",
+ "gix-fs 0.11.3",
+ "gix-glob 0.16.5",
+ "gix-hash 0.14.2",
+ "gix-ignore 0.11.4",
  "gix-index 0.33.1",
  "gix-object 0.42.3",
  "gix-path",
@@ -2022,21 +1936,21 @@ dependencies = [
 
 [[package]]
 name = "gix-worktree"
-version = "0.36.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c312ad76a3f2ba8e865b360d5cb3aa04660971d16dec6dd0ce717938d903149a"
+checksum = "0d345e5b523550fe4fa0e912bf957de752011ccfc87451968fda1b624318f29c"
 dependencies = [
  "bstr",
- "gix-attributes",
- "gix-features",
- "gix-fs",
- "gix-glob",
- "gix-hash",
- "gix-ignore",
- "gix-index 0.35.0",
- "gix-object 0.44.0",
+ "gix-attributes 0.23.0",
+ "gix-features 0.39.0",
+ "gix-fs 0.12.0",
+ "gix-glob 0.17.0",
+ "gix-hash 0.15.0",
+ "gix-ignore 0.12.0",
+ "gix-index 0.36.0",
+ "gix-object 0.45.0",
  "gix-path",
- "gix-validate 0.9.0",
+ "gix-validate 0.9.1",
 ]
 
 [[package]]
@@ -2277,7 +2191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a45489186a6123c128fdf6016183fcfab7113e1820eb813127e036e287233fb"
 dependencies = [
  "jiff-tzdb-platform",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -2322,16 +2236,6 @@ dependencies = [
  "wasm-bindgen",
 ]
 
-[[package]]
-name = "jwalk"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56"
-dependencies = [
- "crossbeam",
- "rayon",
-]
-
 [[package]]
 name = "kstring"
 version = "2.0.2"
@@ -2515,8 +2419,8 @@ dependencies = [
  "crossbeam-channel",
  "enable-ansi-support",
  "gengo",
- "gix 0.66.0",
- "gix-features",
+ "gix",
+ "gix-features 0.39.0",
  "gix-testtools",
  "globset",
  "human-panic",
@@ -2800,6 +2704,16 @@ version = "28.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79"
 
+[[package]]
+name = "prodash"
+version = "29.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a266d8d6020c61a437be704c5e618037588e1985c7dbb7bf8d265db84cffe325"
+dependencies = [
+ "log",
+ "parking_lot",
+]
+
 [[package]]
 name = "ptr_meta"
 version = "0.1.4"
@@ -3790,7 +3704,7 @@ version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
 dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 11e396583..d43a0fa24 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -36,15 +36,15 @@ byte-unit = "5.1.4"
 clap.workspace = true
 clap_complete = "4.5.26"
 crossbeam-channel = "0.5.13"
-gengo =  { version = "0.11.4", default-features = false, features = ["max-performance-safe"] }
-gix = { version = "0.66.0", default-features = false, features = [
+gengo =  { version = "0.11.5", default-features = false, features = ["max-performance-safe"] }
+gix = { version = "0.67.0", default-features = false, features = [
     "max-performance-safe",
     "blob-diff",
     "mailmap",
     "index",
     "status",
 ] }
-gix-features = { version = "0.38.0", features = ["zlib-ng"] }
+gix-features = { version = "0.39.0", features = ["zlib-ng"] }
 globset = "0.4.15"
 human-panic = "2.0.1"
 image.workspace = true
diff --git a/src/info/git/mod.rs b/src/info/git/mod.rs
index 8645b8c0b..78ecec0e5 100644
--- a/src/info/git/mod.rs
+++ b/src/info/git/mod.rs
@@ -4,10 +4,11 @@ use crate::cli::MyRegex;
 use anyhow::Result;
 use gix::bstr::ByteSlice;
 use gix::bstr::{BString, Utf8Error};
-use gix::object::tree::diff::change::Event;
 use gix::object::tree::diff::Action;
+use gix::object::tree::diff::Change;
 use gix::prelude::ObjectIdExt;
-use gix::traverse::commit::simple::Sorting;
+use gix::revision::walk::Sorting;
+use gix::traverse::commit::simple::CommitTimeOrder;
 use gix::{Commit, ObjectId};
 use std::collections::HashMap;
 use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
@@ -41,7 +42,7 @@ pub fn traverse_commit_graph(
         .head_commit()?
         .id()
         .ancestors()
-        .sorting(Sorting::ByCommitTimeNewestFirst)
+        .sorting(Sorting::ByCommitTime(CommitTimeOrder::NewestFirst))
         .use_commit_graph(can_use_author_threads)
         .with_commit_graph(commit_graph)
         .all()?;
@@ -260,17 +261,17 @@ fn compute_diff_with_parent(
             .object()?
             .into_tree()
             .changes()?
-            .track_path()
-            .track_rewrites(None)
+            .options(|options| {
+                options.track_path().track_rewrites(None);
+            })
             .for_each_to_obtain_tree(&commit.tree()?, |change| {
-                let is_file_change = match change.event {
-                    Event::Addition { entry_mode, .. } | Event::Modification { entry_mode, .. } => {
-                        entry_mode.is_blob()
-                    }
-                    Event::Deletion { .. } | Event::Rewrite { .. } => false,
+                let is_file_change = match change {
+                    Change::Addition { entry_mode, .. }
+                    | Change::Modification { entry_mode, .. } => entry_mode.is_blob(),
+                    Change::Deletion { .. } | Change::Rewrite { .. } => false,
                 };
                 if is_file_change {
-                    let path = change.location;
+                    let path = change.location();
                     *change_map.entry(path.to_owned()).or_insert(0) += 1;
                 }