diff --git a/flake.lock b/flake.lock index d2b22c3..55369ce 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ ] }, "locked": { - "lastModified": 1765900596, - "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", + "lastModified": 1773436376, + "narHash": "sha256-OUPRrprbgN27BXHuWkMAPSCfLLQ/uwpWghEfKYN2iAg=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", + "rev": "43f10d24391692bba3d762931ee35e7f17f8e8b8", "type": "github" }, "original": { @@ -70,7 +70,9 @@ "awww": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs-unstable" + ], "rust-overlay": "rust-overlay" }, "locked": { @@ -93,14 +95,14 @@ "cachyos-kernel-patches": "cachyos-kernel-patches", "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1771353108, - "narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=", + "lastModified": 1773610965, + "narHash": "sha256-0VcA3dwW6tJuikDj3bqx3luqrxxsPhMcCXswmgWxkVE=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb", + "rev": "0ffc149abac0215fc0d41ddb8df8b87887c2fcc8", "type": "github" }, "original": { @@ -112,11 +114,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1771263855, - "narHash": "sha256-akyds1g8cb742d2OrnQ4YciscpynsQ0+0YD2a8aZdvo=", + "lastModified": 1773425695, + "narHash": "sha256-O5Fr6f+iS+IVKdB59yqkCaWfkr1SSHD5BLDDlZO7RwU=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "5ece16c7b4a7d1261da68153cafc318a60b78ce8", + "rev": "3b9ae1ae5d4ee95e1509d350b65c0777dde97628", "type": "github" }, "original": { @@ -128,11 +130,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1771246613, - "narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=", + "lastModified": 1773430072, + "narHash": "sha256-0X47YCF1CUnLiQ1M6Lh4hc3ax9aV5DX/wCmMfuMyM1o=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60", + "rev": "ac70453c25200f0a30ad38b3caa63020869f0f8a", "type": "github" }, "original": { @@ -164,6 +166,7 @@ "url": "https://tearforge.net/cry/cerulean" }, "original": { + "rev": "d5211287bd3cb96078f2053488d67d557848a8f2", "type": "git", "url": "https://tearforge.net/cry/cerulean" } @@ -295,36 +298,21 @@ }, "flake-compat_4": { "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "locked": { "lastModified": 1767039857, "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } }, - "flake-compat_6": { + "flake-compat_5": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -343,11 +331,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1769996383, - "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -384,11 +372,29 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1769996383, - "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -462,11 +468,11 @@ ] }, "locked": { - "lastModified": 1770260404, - "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", + "lastModified": 1773607598, + "narHash": "sha256-nPV/IE0NwQjYcXkEGOmCIEsX9i8HFMeq2RupYzfVdiI=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", + "rev": "1f8f9e001235652cf54f9c1f7983f9c0e920944a", "type": "github" }, "original": { @@ -476,18 +482,18 @@ "type": "github" } }, - "home-manager_2": { + "home-manager-unstable": { "inputs": { "nixpkgs": [ "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1771269455, - "narHash": "sha256-BZ31eN5F99YH6vkc4AhzKGE+tJgJ52kl8f01K7wCs8w=", + "lastModified": 1773608492, + "narHash": "sha256-QZteyExJYSQzgxqdsesDPbQgjctGG7iKV/6ooyQPITk=", "owner": "nix-community", "repo": "home-manager", - "rev": "5f1d42a97b19803041434f66681d5c44c9ae62e3", + "rev": "9a40ec3b78fc688d0908485887d355caa5666d18", "type": "github" }, "original": { @@ -497,6 +503,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773607598, + "narHash": "sha256-nPV/IE0NwQjYcXkEGOmCIEsX9i8HFMeq2RupYzfVdiI=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "1f8f9e001235652cf54f9c1f7983f9c0e920944a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-25.11", + "repo": "home-manager", + "type": "github" + } + }, "home-manager_3": { "inputs": { "nixpkgs": [ @@ -505,11 +532,11 @@ ] }, "locked": { - "lastModified": 1771102945, - "narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=", + "lastModified": 1773422513, + "narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "ff5e5d882c51f9a032479595cbab40fd04f56399", + "rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056", "type": "github" }, "original": { @@ -534,11 +561,11 @@ ] }, "locked": { - "lastModified": 1753964049, - "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", + "lastModified": 1772461003, + "narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", + "rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7", "type": "github" }, "original": { @@ -563,11 +590,11 @@ ] }, "locked": { - "lastModified": 1763733840, - "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", + "lastModified": 1772461523, + "narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", + "rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804", "type": "github" }, "original": { @@ -587,23 +614,24 @@ "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", "hyprwire": "hyprwire", - "nixpkgs": "nixpkgs_4", + "nixpkgs": [ + "nixpkgs-unstable" + ], "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_3", "xdph": "xdph" }, "locked": { - "lastModified": 1766604420, - "narHash": "sha256-2Kqg1YNtjPGXc1DIzBeESL8hiuUNUn3c3Oimab19Zn8=", + "lastModified": 1773615208, + "narHash": "sha256-a8So/3JL/1P+QZjqp1tBW7tkXyBX+WkbRyBNkds59aY=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "25250527793eb04bb60f103abe7f06370b9f6e1c", + "rev": "30c498acf4173930dfd8afd6279ebceacb1941e9", "type": "github" }, "original": { "owner": "hyprwm", "repo": "Hyprland", - "rev": "25250527793eb04bb60f103abe7f06370b9f6e1c", "type": "github" } }, @@ -640,11 +668,11 @@ ] }, "locked": { - "lastModified": 1765643131, - "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", + "lastModified": 1772467975, + "narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "e50ae912813bdfa8372d62daf454f48d6df02297", + "rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507", "type": "github" }, "original": { @@ -653,36 +681,6 @@ "type": "github" } }, - "hyprland-plugins": { - "inputs": { - "hyprland": [ - "hyprland-git" - ], - "nixpkgs": [ - "hyprland-plugins", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-plugins", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1770899531, - "narHash": "sha256-UBrWjh0DR8db60aLNkTnZTJ9F4kWK0Y7rUDNJC88W7A=", - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "e03c34ccd51280a44ea6d1f5c040cd81ecca25ed", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-plugins", - "type": "github" - } - }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -695,11 +693,11 @@ ] }, "locked": { - "lastModified": 1765214753, - "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", + "lastModified": 1772460177, + "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", + "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", "type": "github" }, "original": { @@ -724,11 +722,11 @@ ] }, "locked": { - "lastModified": 1764612430, - "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", + "lastModified": 1772459629, + "narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "0d00dc118981531aa731150b6ea551ef037acddd", + "rev": "7615ee388de18239a4ab1400946f3d0e498a8186", "type": "github" }, "original": { @@ -776,11 +774,11 @@ ] }, "locked": { - "lastModified": 1764592794, - "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", + "lastModified": 1772462885, + "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=", "owner": "hyprwm", "repo": "hyprtoolkit", - "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", + "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998", "type": "github" }, "original": { @@ -801,11 +799,11 @@ ] }, "locked": { - "lastModified": 1766160771, - "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", + "lastModified": 1773436263, + "narHash": "sha256-n+2xFJngUkBqUJD5FsbVnYEHBTyDFSqtBIwQIGPXWWo=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", + "rev": "5e228db6821380a5875d5643176c5c46a47b8134", "type": "github" }, "original": { @@ -826,11 +824,11 @@ ] }, "locked": { - "lastModified": 1763640274, - "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", + "lastModified": 1772459835, + "narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", + "rev": "0a692d4a645165eebd65f109146b8861e3a925e7", "type": "github" }, "original": { @@ -855,11 +853,11 @@ ] }, "locked": { - "lastModified": 1766253200, - "narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", + "lastModified": 1773074819, + "narHash": "sha256-qRqYnXiKoJLRTcfaRukn7EifmST2IVBUMZOeZMAc5UA=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "1079777525b30a947c8d657fac158e00ae85de9d", + "rev": "f68afd0e73687598cc2774804fedad76693046f0", "type": "github" }, "original": { @@ -873,7 +871,9 @@ "crane": "crane", "fenix": "fenix", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_5" + "nixpkgs": [ + "nixpkgs-unstable" + ] }, "locked": { "lastModified": 1768868561, @@ -974,6 +974,28 @@ "type": "github" } }, + "mango": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": [ + "nixpkgs-unstable" + ], + "scenefx": "scenefx" + }, + "locked": { + "lastModified": 1773588376, + "narHash": "sha256-4HKHaRQnSxxYoR/m1xpwsfnd2lQL9LefcvTFrmcHD2g=", + "owner": "DreamMaoMao", + "repo": "mangowc", + "rev": "0d8aedf691bb740290ad5c447d157a8d26a35ffe", + "type": "github" + }, + "original": { + "owner": "DreamMaoMao", + "repo": "mangowc", + "type": "github" + } + }, "microvm": { "inputs": { "nixpkgs": [ @@ -983,11 +1005,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1771365290, - "narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=", + "lastModified": 1773018425, + "narHash": "sha256-fpgZBmZpKoEXEowBK/6m8g9FcOLWQ4UxhXHqCw2CpSM=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "789c90b164b55b4379e7a94af8b9c01489024c18", + "rev": "25ebda3c558e923720c965832dc9a04f559a055c", "type": "github" }, "original": { @@ -999,16 +1021,16 @@ "microvm_2": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ], "spectrum": "spectrum_2" }, "locked": { - "lastModified": 1771365290, - "narHash": "sha256-1XJOslVyF7yzf6yd/yl1VjGLywsbtwmQh3X1LuJcLI4=", + "lastModified": 1773018425, + "narHash": "sha256-fpgZBmZpKoEXEowBK/6m8g9FcOLWQ4UxhXHqCw2CpSM=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "789c90b164b55b4379e7a94af8b9c01489024c18", + "rev": "25ebda3c558e923720c965832dc9a04f559a055c", "type": "github" }, "original": { @@ -1032,18 +1054,20 @@ "minhook-src": "minhook-src", "mini-src": "mini-src", "minizip-src": "minizip-src", - "nixpkgs": "nixpkgs_6", + "nixpkgs": [ + "nixpkgs-unstable" + ], "re2-src": "re2-src", "websocketpp-src": "websocketpp-src", "zlib-src": "zlib-src" }, "locked": { "dir": "packages/nix", - "lastModified": 1770489586, - "narHash": "sha256-JMN7T1ZrQ7PjSsgKobxtEENHiBAxqHNNIAaJcPnCeHM=", + "lastModified": 1771478814, + "narHash": "sha256-BhFWModRCeZXaTPcMbuDKH1M4I7iXjdWn0M54SAttUM=", "owner": "trivaris", "repo": "millennium", - "rev": "19656df9f9c8dfa0b7c6a4d2d25073b78efc4eda", + "rev": "50fcda7794bf32c8edbd30222370e70ac511805c", "type": "github" }, "original": { @@ -1121,26 +1145,6 @@ "type": "github" } }, - "nix-alien": { - "inputs": { - "flake-compat": "flake-compat_5", - "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_7" - }, - "locked": { - "lastModified": 1771150922, - "narHash": "sha256-+oQJun4CFDlOQRocbZpqQDj7agoy56/4ZjT1oUR7NOs=", - "owner": "thiagokokada", - "repo": "nix-alien", - "rev": "96045e886ba0dd45b27590e7c0c6e77bbb54033d", - "type": "github" - }, - "original": { - "owner": "thiagokokada", - "repo": "nix-alien", - "type": "github" - } - }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -1164,27 +1168,6 @@ "type": "github" } }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nix-alien", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1771130777, - "narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "efec7aaad8d43f8e5194df46a007456093c40f88", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, "nix-unit": { "inputs": { "flake-parts": "flake-parts_2", @@ -1227,16 +1210,19 @@ }, "nixcord": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_8" + "flake-compat": "flake-compat_5", + "flake-parts": "flake-parts_4", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-nixcord": "nixpkgs-nixcord" }, "locked": { - "lastModified": 1771375681, - "narHash": "sha256-qDDw0ruBZ1kt63j4uVP5Xrd1OxGKIYrSFnig0z6ozSw=", + "lastModified": 1773597570, + "narHash": "sha256-A6KsirR9kxR1wVFTr8aagk5vUT3rvKTf79Qht6YkxUA=", "owner": "FlameFlag", "repo": "nixcord", - "rev": "d030dbb48ab020092681a39c878c1d48a553ffc1", + "rev": "1cc0ddb766e459b7187e6aeb8b2e046d37361dc4", "type": "github" }, "original": { @@ -1247,27 +1233,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1763934636, - "narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=", - "owner": "nixos", + "lastModified": 1773563071, + "narHash": "sha256-p4f6smYpck1hw6gYsT2omq01gnlZ1E7HTpssDQ0fP+g=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261", + "rev": "1c6f50e5b62030a50799682b6babc9dcc5a271ae", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable-small", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-lib": { "locked": { - "lastModified": 1769909678, - "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "72716169fe93074c333e8d0173151350670b824c", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "type": "github" }, "original": { @@ -1278,11 +1264,26 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1769909678, - "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "72716169fe93074c333e8d0173151350670b824c", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "type": "github" }, "original": { @@ -1293,11 +1294,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1771702014, - "narHash": "sha256-/P7uAp8q1xFhaw9Z+OG7lUK3wVz1Q/wreAyeiMyyjLI=", + "lastModified": 1773620976, + "narHash": "sha256-kgxB+kzrbxYf/CaWA5tvn7mnhzEt78aWfVakZw/TRbs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cceb9213362e92c06b60b50c1e2877bc5fb95887", + "rev": "7ee76979bc1b2169d7e632572c2c31c9ee01f728", "type": "github" }, "original": { @@ -1307,13 +1308,29 @@ "type": "github" } }, - "nixpkgs-staging": { + "nixpkgs-nixcord": { "locked": { - "lastModified": 1771384451, - "narHash": "sha256-rFs7+EFjAglrHFhRz3N/M+fyn28q+dR4gVC9/9yoWS0=", + "lastModified": 1773222311, + "narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f8a766def570768a6cefe8ea42f839eff9dc1eb", + "rev": "0590cd39f728e129122770c029970378a79d076a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-staging": { + "locked": { + "lastModified": 1773620792, + "narHash": "sha256-5WSJs2YpBJpA9VG1PwFL5vpHw4ySOz2u02S4hAQKkuU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "525870a58b715d25c23fb00c7be737324d8161c3", "type": "github" }, "original": { @@ -1325,11 +1342,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1771008912, - "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", + "lastModified": 1773389992, + "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a82ccc39b39b621151d6732718e3e250109076fa", + "rev": "c06b4ae3d6599a672a6210b7021d699c351eebda", "type": "github" }, "original": { @@ -1339,39 +1356,7 @@ "type": "github" } }, - "nixpkgs_10": { - "locked": { - "lastModified": 1771008912, - "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "a82ccc39b39b621151d6732718e3e250109076fa", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { - "locked": { - "lastModified": 1771309086, - "narHash": "sha256-25aY7PIHMmoVW5w/x8Bs4vsfSV94A5htwiLINJ4KMuY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5e17f00eb60368a4b4b110a89f1c250f9a12c053", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable-small", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1767313136, "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", @@ -1387,93 +1372,13 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { - "lastModified": 1766070988, - "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", + "lastModified": 1773524153, + "narHash": "sha256-Jms57zzlFf64ayKzzBWSE2SGvJmK+NGt8Gli71d9kmY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1760284886, - "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1770115704, - "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e6eae2ee2110f3d31110d5c222cd395303343b08", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1771008912, - "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a82ccc39b39b621151d6732718e3e250109076fa", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1770617025, - "narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { - "locked": { - "lastModified": 1771208521, - "narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8", + "rev": "e9f278faa1d0c2fc835bd331d4666b59b505a410", "type": "github" }, "original": { @@ -1486,7 +1391,7 @@ "nt": { "inputs": { "nix-unit": "nix-unit", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "systems": "systems_2" }, "locked": { @@ -1513,11 +1418,11 @@ ] }, "locked": { - "lastModified": 1765911976, - "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", + "lastModified": 1772893680, + "narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", + "rev": "8baab586afc9c9b57645a734c820e4ac0a604af9", "type": "github" }, "original": { @@ -1549,15 +1454,15 @@ "cachyos": "cachyos", "cerulean": "cerulean", "home-manager": "home-manager_2", + "home-manager-unstable": "home-manager-unstable", "hyprland-git": "hyprland-git", - "hyprland-plugins": "hyprland-plugins", "iamb": "iamb", + "mango": "mango", "microvm": "microvm_2", "millennium": "millennium", - "nix-alien": "nix-alien", "nixcats": "nixcats", "nixcord": "nixcord", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_3", "nixpkgs-master": "nixpkgs-master", "nixpkgs-staging": "nixpkgs-staging", "nixpkgs-unstable": "nixpkgs-unstable", @@ -1605,6 +1510,27 @@ "type": "github" } }, + "scenefx": { + "inputs": { + "nixpkgs": [ + "mango", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1750785057, + "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", + "owner": "wlrfx", + "repo": "scenefx", + "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", + "type": "github" + }, + "original": { + "owner": "wlrfx", + "repo": "scenefx", + "type": "github" + } + }, "sddm-silent": { "inputs": { "nixpkgs": [ @@ -1612,11 +1538,11 @@ ] }, "locked": { - "lastModified": 1769900466, - "narHash": "sha256-WeoJBj/PhqFCCJEIycTipqPbKm5BpQT2uzFTYcYZ30I=", + "lastModified": 1771956684, + "narHash": "sha256-+EtzmEzGA2xqwIvKrP0euYaOzrmTQWEWAiWV+k2WBEM=", "owner": "uiriansan", "repo": "SilentSDDM", - "rev": "a44caf771b4cb72f5c2514f7d488455b0fa860d2", + "rev": "34f82e1fb8412fff78b82a0dcce763492b36054c", "type": "github" }, "original": { @@ -1628,11 +1554,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1759482047, - "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "lastModified": 1772189877, + "narHash": "sha256-i1p90Rgssb//aNiTDFq46ZG/fk3LmyRLChtp/9lddyA=", "ref": "refs/heads/main", - "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", - "revCount": 996, + "rev": "fe39e122d898f66e89ffa17d4f4209989ccb5358", + "revCount": 1255, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1644,11 +1570,11 @@ "spectrum_2": { "flake": false, "locked": { - "lastModified": 1759482047, - "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=", + "lastModified": 1772189877, + "narHash": "sha256-i1p90Rgssb//aNiTDFq46ZG/fk3LmyRLChtp/9lddyA=", "ref": "refs/heads/main", - "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9", - "revCount": 996, + "rev": "fe39e122d898f66e89ffa17d4f4209989ccb5358", + "revCount": 1255, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -1667,11 +1593,11 @@ ] }, "locked": { - "lastModified": 1771268051, - "narHash": "sha256-nGqPcngnezoT+/xAvw3UDjwdKP2MC4fO315A/Otb9eE=", + "lastModified": 1773619901, + "narHash": "sha256-Br8CQy4ht+a2OxyzaRwuP5+oIFfoRvCxYgsmdrgid40=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "b930de84c561f62a0c39a6a57c2ab553a97e8495", + "rev": "6f06ff05cd536b790b7662550a10b61a1ac4619e", "type": "github" }, "original": { @@ -1841,11 +1767,11 @@ ] }, "locked": { - "lastModified": 1761431178, - "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", + "lastModified": 1772669058, + "narHash": "sha256-XhnY0aRuDo5LT8pmJVPofPOgO2hAR7T+XRoaQxtNPzQ=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", + "rev": "906d0ac159803a7df2dc1f948df9327670380f69", "type": "github" }, "original": { @@ -1857,14 +1783,16 @@ "zen": { "inputs": { "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_10" + "nixpkgs": [ + "nixpkgs-unstable" + ] }, "locked": { - "lastModified": 1771381854, - "narHash": "sha256-6uEDuQYEGuyuFnvOdSx+fW75tRbNiLswAl6+4qyTdJ4=", + "lastModified": 1773588616, + "narHash": "sha256-Ukh79t1IMpP4FRsJDZ/3Y72VpW+QwNe/QRB5pTsH20Q=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "0fa995bec0e391b45b032fbd9d6e03609a30c115", + "rev": "b34b64ee5a85ab61394c491ac3dad335d3cbfbb8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2cbefbf..3de00a2 100644 --- a/flake.nix +++ b/flake.nix @@ -10,12 +10,16 @@ nixpkgs-master.url = "github:NixOS/nixpkgs/master"; home-manager = { + url = "github:nix-community/home-manager/release-25.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + home-manager-unstable = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; cerulean = { - url = "git+https://tearforge.net/cry/cerulean"; + url = "git+https://tearforge.net/cry/cerulean?rev=d5211287bd3cb96078f2053488d67d557848a8f2"; inputs = { systems.follows = "systems"; nixpkgs.follows = "nixpkgs"; @@ -24,38 +28,60 @@ microvm = { url = "github:microvm-nix/microvm.nix"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; }; cachyos.url = "github:xddxdd/nix-cachyos-kernel"; - nix-alien = { - # silly alien :3 - url = "github:thiagokokada/nix-alien"; - # inputs.nixpkgs.follows = "nixpkgs"; - }; - # wm/de/apps/theming flakes hyprland-git = { - url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; - #url = "github:hyprwm/Hyprland"; + # pinned rev because color management is broken on hyprland + # url = "github:hyprwm/Hyprland/25250527793eb04bb60f103abe7f06370b9f6e1c"; + url = "github:hyprwm/Hyprland"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; }; - hyprland-plugins = { - url = "github:hyprwm/hyprland-plugins"; - inputs.hyprland.follows = "hyprland-git"; + # hyprland-plugins = { + # url = "github:hyprwm/hyprland-plugins"; + # inputs.hyprland.follows = "hyprland-git"; + # }; + + mango = { + url = "github:DreamMaoMao/mangowc"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; }; nixcats.url = "github:BirdeeHub/nixCats-nvim"; - awww.url = "git+https://codeberg.org/LGFae/awww"; - zen.url = "github:0xc000022070/zen-browser-flake"; - iamb.url = "github:ulyssa/iamb"; - nixcord.url = "github:FlameFlag/nixcord"; - millennium.url = "github:trivaris/millennium?dir=packages/nix"; + + awww = { + url = "git+https://codeberg.org/LGFae/awww"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + + zen = { + url = "github:0xc000022070/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + + iamb = { + url = "github:ulyssa/iamb"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + + nixcord = { + url = "github:FlameFlag/nixcord"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + millennium = { + url = "github:trivaris/millennium?dir=packages/nix"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs = { - systems.follows = "systems"; nixpkgs.follows = "nixpkgs-unstable"; + systems.follows = "systems"; }; }; @@ -70,6 +96,5 @@ extra-experimental-features = "pipe-operators"; }; - outputs = inputs: - import ./snow.nix inputs; + outputs = inputs: import ./snow.nix inputs; } diff --git a/groups/all/default.nix b/groups/all/default.nix index a7c21fd..dda6503 100644 --- a/groups/all/default.nix +++ b/groups/all/default.nix @@ -1,6 +1,6 @@ -{ ... }: { +{...}: { nix.settings = { - experimental-features = ["nix-command" "flakes"]; + experimental-features = ["nix-command" "flakes" "pipe-operators"]; download-buffer-size = 524288000; }; } diff --git a/groups/servers/default.nix b/groups/servers/default.nix index b142ca8..aea0e86 100644 --- a/groups/servers/default.nix +++ b/groups/servers/default.nix @@ -1,4 +1,4 @@ -{ ... }: { +{...}: { nix.settings = { trusted-users = ["root" "@wheel"]; }; diff --git a/homes/aurora/default.nix b/homes/aurora/default.nix index abae254..ff1e4ff 100644 --- a/homes/aurora/default.nix +++ b/homes/aurora/default.nix @@ -1,8 +1,10 @@ # aurora's configgg!! :333 # trans <3 { + config, inputs, upkgs, + mpkgs, root, system, ... @@ -10,6 +12,7 @@ imports = [ inputs.zen.homeModules.twilight + ../modules/programs/alacritty/default.nix ../modules/programs/iamb/iamb.nix ../modules/programs/neovim/nixcats.nix ../modules/programs/spicetify.nix @@ -26,6 +29,7 @@ ../modules/shell/fastfetch/fastfetch.nix ../modules/wm/hyprland/hyprland.nix + ../modules/wm/mango/default.nix ../modules/wm/river.nix ../modules/wm/sway.nix @@ -39,6 +43,8 @@ ]; home.sessionVariables = { + EDITOR = "avix"; + # xdg session variables XDG_CACHE_HOME = "$HOME/.cache"; XDG_CONFIG_HOME = "$HOME/.config"; @@ -62,6 +68,12 @@ recursive = true; }; + # copies the ascii art into .local/share/ascii-art :3 + home.file.".local/share/ascii-art" = { + source = root + "/homes/data/ascii-art"; + recursive = true; + }; + fonts.fontconfig.enable = true; home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json"; @@ -94,8 +106,11 @@ popsicle # usb flasher (can be used as a gui tool too :3) caligula # disk burning tool like popsicle! exiftool # display and edit metadata on a variety of files - helix # like neovim but rust /hj :333 halloy # irc tui app written in rust + pastel # color generator / manipulator :3 i love colors!! <3 + eva # calculator repl + silicon # makes pretty images of code :3 + wormhole-rs # send people stuff!! :3 # cli fun pokeget-rs # prints a random pokemon to the terminal :3 @@ -114,6 +129,8 @@ elixir gleam delta # git diff viewer + tlrc # tldr rust client + shellcheck # apps qutebrowser # keyboard-focused browser (chromium) @@ -121,7 +138,6 @@ tridactyl-native # for firefox browsers chromium # (chromium) obsidian # literally best notes app (i use vim mode) - kdePackages.dolphin qimgv # image viewer! feh # other image viewer! (im indecisive) vesktop # modded discord client! @@ -130,9 +146,9 @@ imhex # hex editor kicad # open source electronics design program easyeda2kicad - libreoffice-qt # word, excel, pdf etc open source programs + # FIX: its fucking broken: https://github.com/NixOS/nixpkgs/pull/494721 + mpkgs.libreoffice-qt # word, excel, pdf etc open source programs hunspell # spell checker - calibre # ebook reader obs-studio cytoscape element-desktop # 'official' gui matrix client @@ -158,7 +174,6 @@ # gui settings apps nwg-look # gtk 2 / 3 settings thing idc i hate gtk pavucontrol # i wanna get rid of this but its audio control thing - rquickshare # android quick share (this is pretty cool!!) # wayland desktop tools / de / wm stuff / gui stuffs cliphist @@ -184,6 +199,7 @@ alsa-utils gphoto2 # for my dslr!!! ffmpeg + nix-index ]; programs = { @@ -267,27 +283,36 @@ ]; }; - kitty = { + lazygit = { enable = true; - package = upkgs.kitty; - - font = { - name = "DepartureMono Nerd Font Mono"; - size = 10; + settings = { + git.pagers = [ + { + colorArg = "always"; + pager = "delta --dark --pager=never"; + } + ]; }; + }; + + foot = { + enable = true; settings = { - scrollback_lines = 16384; - enable_audio_bell = false; - update_check_interval = 0; - allow_remote_control = "yes"; # used for scripts to control kitty - - confirm_os_window_close = 0; # disable close window prompt + main = { + font = "DepartureMono Nerd Font Mono:size=10"; + include = "/home/${config.home.username}/.config/foot/theme.ini"; + }; + scrollback = { + lines = 131072; + }; + bell = { + system = "no"; + urgent = "no"; + notify = "no"; + visual = "no"; + }; }; - - extraConfig = '' - include ~/.config/kitty/theme.conf - ''; }; zen-browser = { diff --git a/homes/aurora/profile.png b/homes/aurora/profile.png new file mode 100644 index 0000000..640513c Binary files /dev/null and b/homes/aurora/profile.png differ diff --git a/homes/data/ascii-art/blackhole-1.txt b/homes/data/ascii-art/blackhole-1.txt new file mode 100644 index 0000000..344689a --- /dev/null +++ b/homes/data/ascii-art/blackhole-1.txt @@ -0,0 +1,19 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠖⠃⠀⠀⠀⡁⠀⠀⠀⠀⠀⠐⠆⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⢔⡤⠊⠁ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠁⠀⠀⠘⠁⢀⠀⠀⠀⠀⢈⠓⠂⠠⡄⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⠿⠞⠋⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠁⠀⠠⡚⠁⢀⣙⣀⣈⡩⠬⢁⠀⢑⠶⠤⡆⠤⡀⠀⠀⠀⠀⠀⠀⢀⠴⢲⣋⣽⣷⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⢠⠀⠀⣶⠃⠗⣡⣶⣮⣿⡿⠿⠿⢿⣿⣷⣶⣤⣤⠤⠴⠦⠬⣤⣤⠄⣉⠉⠝⢲⣿⡷⠻⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠁⡀⡸⠁⣰⣿⡿⠛⠋⣁⡀⠤⠤⢄⡀⠈⠛⢯⣿⣟⣾⣶⣶⣮⣭⣵⣾⣿⣟⠿⠉⢨⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⢠⠳⡧⣻⡿⠋⢀⠒⠉⠀⠀⠀⠀⠀⠀⠉⠢⠀⠀⠙⠛⣻⣿⣿⣿⢿⣿⣿⠟⡱⠖⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢠⣧⠓⣾⣿⠁⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢦⣠⣾⣿⠿⣿⣿⣿⡿⣫⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠂⢃⣸⣿⠇⢠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⠟⢿⠁⠸⡿⣿⣯⡶⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢘⡄⠘⣿⣿⠀⠸⡀⠀⠀⠀⠀⠀⢀⣀⣴⣾⣿⡿⡟⡋⠐⡇⠀⢸⣿⣿⠃⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⠘⢰⣿⡿⡆⠀⣇⠀⣀⣠⣤⣶⣿⢷⢟⠻⠀⠈⠀⠀⠀⡇⠀⣼⣿⣿⠂⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠔⢀⡴⢯⣾⠟⡏⢀⣠⣿⣿⣿⣟⢟⡋⠅⠘⠉⠀⠀⠀⠀⢀⠀⠁⢠⣿⣟⠃⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⣻⣷⡿⢙⣩⣶⡿⠿⠛⠉⠑⢡⡁⠀⠀⠀⠀⠀⠀⢀⠔⠁⠀⣰⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣡⣾⣥⣾⢫⡦⠾⠛⠙⠉⠀⠀⢀⣀⠀⠈⠙⠓⠦⠤⠤⠀⠘⠁⢀⡤⣾⡿⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠔⣴⣾⣿⣿⢟⢝⠢⠃⢀⣤⢴⣾⣮⣷⣶⢿⣶⡤⣐⡀⠀⣠⣤⢶⣪⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⡀⣦⣾⡿⡛⠵⠺⢈⡠⠶⠿⠥⠥⡭⠉⠉⢱⡛⠻⠿⣿⣿⣿⣿⣿⠿⠿⠿⠟⠭⠛⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⢴⠕⣋⠝⠕⠐⠀⠔⠉⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠉⠁⠁⠁⠁⠈⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢀⣠⠁⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/boykisser-1.txt b/homes/data/ascii-art/boykisser-1.txt new file mode 100644 index 0000000..205f051 --- /dev/null +++ b/homes/data/ascii-art/boykisser-1.txt @@ -0,0 +1,22 @@ +⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀ +⠀⠀⠀⢠⠞⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠞⠙⡆⠀ +⠀⠀⢠⠏⠀⠀⠀⠑⢄⠀⠀⠀⢠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠋⠀⠀⠀⢸⡄ +⠀⢀⡎⠀⠀⠀⠀⠀⠀⠳⣄⠀⠸⡄⠉⠉⠒⠢⣄⠀⠀⠀⠀⡴⠋⠀⠀⠀⠀⠀⠀⢧ +⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⡀⠳⣀⣀⠀⠀⠀⠙⢦⣠⠎⠀⠀⠀⠀⠀⠀⠀⠀⢸ +⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠋⠉⠉⢁⠀⠀⠀⠀⠀⠙⠶⠀⠀⠀⠀⠀⠀⠀⠀⢸ +⠀⢸⠀⠀⠀⠀⠀⠀⠀⠈⠉⠑⠒⠚⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼ +⠀⠈⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃ +⠀⠀⠙⡄⠀⠀⠤⡤⠤⢤⣤⣤⣤⠄⠀⠀⠀⠀⢰⣶⣶⣶⡖⠒⢳⠛⠀⠀⠀⣠⠏⠀ +⢤⣀⣀⡘⣤⠀⢸⠁⠀⢸⣿⣿⣿⠄⠀⠀⠀⠀⢸⣿⣿⣿⡇⠀⠈⡇⠀⠀⡴⠧⢤⡄ +⠘⢆⠀⠉⠉⠀⢿⠀⠀⠘⣿⣿⡿⠀⠀⠀⠀⠀⠈⢿⣿⡿⠀⠀⢀⣇⠀⠀⠀⣠⠞⠀ +⠀⠈⠙⢲⠀⡤⡮⣳⡀⠀⠙⠛⠁⠀⠻⠛⠀⠀⠀⠀⠁⠀⠀⡠⣮⡴⠀⠀⢾⡁⠀⠀ +⠀⠀⣠⠃⠀⠀⠋⠁⠀⠀⠀⠀⠠⣀⣀⠴⠤⠤⠴⠒⠀⠀⠀⠶⠏⠀⠀⠀⠀⠹⡄⠀ +⠀⠐⠧⠤⠤⠓⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣠⠤⠚⠒⠒⠒⠊⠉⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠙⢟⠒⠒⠴⠇⠀⠀⠀⠀⠀⠀⠈⠉⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣱⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⠥⣼⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡆⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-10.txt b/homes/data/ascii-art/butterfly-10.txt new file mode 100644 index 0000000..d521736 --- /dev/null +++ b/homes/data/ascii-art/butterfly-10.txt @@ -0,0 +1,24 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠎⠉⠉⠓⣦⡀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⡭⣽⠀⠀⠀⣿⡆⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⢠⣟⣇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⣀⣀⣤⡤⣤⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⣞⡷⡟⠣⣄⡀⠀⠀⠀⠀ +⠀⠀⠀⢀⣴⣫⣯⣿⠟⢛⣛⡷⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡶⠟⠟⠻⣟⣯⣿⡏⣯⢭⢽⣷⠆⠀⠀ +⠀⠀⠀⠀⠉⣹⣿⣿⡟⠛⢏⣻⡏⣶⢙⡶⣄⠀⢠⠟⠛⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠃⠀⠀⠀⠀⠀⠙⡿⣿⡟⣻⡗⠂⠀⠀ +⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⡻⡿⣗⡿⠿⣗⡙⢷⣇⠀⠀⣤⡇⠀⠀⠀⠀⠀⢀⣔⣽⡻⣤⣠⡤⣦⡤⣤⣤⣀⢹⡯⣿⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⡿⡯⠁⠀⠀⠈⠈⠙⡷⡄⠀⠈⠳⡝⣆⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⡿⠛⠛⣫⡵⠋⠉⠉⣹⣿⣿⡿⡇⠀⠀⠀⠀ +⠀⠀⣠⡶⠶⣶⣷⡧⡞⢀⣤⣤⣤⢤⣘⣷⣄⠀⠀⠦⡟⡇⠀⣠⣄⠀⠀⣾⡿⠈⢵⣶⡋⣗⣒⣒⣶⣾⠏⠁⢸⣿⣿⠀⠀⠀⠀⠀ +⢠⡟⠁⠀⠀⠈⡷⣷⢥⣾⡿⠟⠿⢛⣻⣧⣝⣧⡀⠀⠘⣿⣼⣿⣿⣇⣿⢃⣾⠿⠟⠋⠉⠉⠫⣯⣹⣇⡀⣜⡟⡿⠀⠀⠀⠀⠀⠀ +⡟⡇⠀⠀⠀⠀⠸⣟⠿⡿⡯⣧⢦⣄⠀⠈⠑⠳⣿⣷⣴⣯⠻⠹⠇⣿⢷⢏⣡⠋⠀⠀⠖⠛⠛⡣⣿⡏⡾⢹⡟⣿⣛⣓⡦⡄⠀⠀ +⢟⣇⣀⣀⡇⠀⠀⠀⠳⣟⣿⣿⣇⡞⡽⢶⣦⡄⠀⠻⣧⠈⠁⠀⠀⣍⡿⢻⣻⡕⣃⣴⣶⡿⣿⢯⡷⠛⣠⣼⡞⠋⠁⠀⠈⢯⢧⠀ +⠀⠙⠛⠛⠉⠀⢀⣠⡄⣈⠳⢟⣿⠷⠷⠯⡾⡿⠃⠀⢫⡀⠀⠀⠀⠃⡧⣾⡿⡷⣿⣟⣛⡿⢿⠟⣷⣿⣯⠇⠀⠠⢤⡀⠀⠀⢿⠀ +⠀⠀⠀⠀⠀⠀⣟⠁⠉⠣⡝⡆⡵⡳⢳⣶⣾⣯⣮⣥⣀⠃⠀⠀⠀⠀⢛⡿⠿⣷⡶⠮⢿⣿⣺⣿⡯⠅⢭⣷⡤⠤⠜⠀⠀⣀⡼⠃ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣫⠇⣷⣗⣛⣽⠷⣿⡥⠄⠀⠀⠀⠀⠈⡏⠛⢻⣽⢿⣈⡿⡿⠃⠁⠀⠀⠀⠙⡷⡄⠀⠀⠀⠀⠁ +⠀⠀⠀⠀⠀⠀⠀⠀⡷⣬⣻⡏⠁⡿⢸⣿⣿⣿⡿⠋⠁⡀⠀⠀⠀⠀⡾⣯⢟⡌⣿⣿⣿⠿⣿⣒⠂⠀⠀⠀⡄⠘⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢰⣽⣻⡟⠁⠀⣧⣿⡿⠃⠀⣀⣀⣾⡇⡰⠀⠀⣜⢻⣇⢹⣿⡌⢿⣟⡄⣿⣿⣿⠟⠂⠙⠓⠛⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠘⢛⣿⣿⣿⡇⠀⡤⣿⡟⠁⠀⠈⣿⣿⢼⠻⠁⠀⠀⢸⠀⠹⣿⡟⣯⣿⣿⡭⠇⡻⣿⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢨⣷⣿⣿⣧⡗⠁⣿⡇⠀⠀⠀⡻⡟⠁⠀⠀⠀⠀⠘⡄⠀⠀⠛⡷⡯⣟⡏⠆⠀⣿⡿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠈⢘⣾⣿⣿⣇⣤⡷⣥⠔⣆⡼⠋⠀⠀⠀⠀⠀⠀⠀⠻⣦⡀⠀⠘⠏⢯⢁⣤⣿⣟⣃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠏⠀⡏⡿⣿⣿⣫⣩⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⣷⣶⣶⣿⣿⣿⣿⡟⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠁⡯⣿⡏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⠿⣿⣻⡿⣇⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢿⣦⠀⠀⣠⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⣠⡷⢿⣿⠏⠑⠯⣛⡷⠟⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠿⣦⡽⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠷⣯⣽⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-11.txt b/homes/data/ascii-art/butterfly-11.txt new file mode 100644 index 0000000..df71eeb --- /dev/null +++ b/homes/data/ascii-art/butterfly-11.txt @@ -0,0 +1,24 @@ +⠀⢀⣠⣤⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣤⣀⠀ +⢰⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⡀⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠎⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣷ +⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠜⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿ +⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠧⠉⠻⣶⣄⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⢀⣠⡾⠛⠉⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃ +⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣖⡒⠀⠀⠀⠀⠈⠻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠌⠀⣠⣾⠋⠀⠀⠀⠀⠀⢒⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀ +⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠟⠁⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀ +⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⠟⠂⠀⠀⠀⠀⠀⠀⠀⠀⠉⢷⡀⠀⠀⠀⠀⠀⠀⢠⡿⠁⠀⠀⠀⠀⠀⠀⠀⠐⢒⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀ +⠀⠀⠀⠘⣿⣿⣿⣿⡿⠟⠛⠉⡁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⠀⠱⣀⣀⠀⢀⠟⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀ +⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠟⠋⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠃⢸⣿⣿⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⢿⣷⣿⣿⣿⣿⡟⠀⠀⠀ +⠀⠀⠀⠀⠸⣿⣿⣿⣿⡷⠖⠒⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣤⣿⣿⣿⣇⡠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠲⠶⣿⣿⣿⣿⣿⠁⠀⠀⠀ +⠀⠀⠀⠀⠀⠙⠻⠿⠿⢿⣶⣤⣤⣤⣤⣄⠐⠒⠒⠀⠀⠀⠀⣻⣿⣿⣿⣿⡇⠀⠀⠀⠀⠐⠂⠀⣤⣤⣤⣤⣤⡾⠿⠿⠿⠛⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⠿⠁⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠩⢿⣿⣿⣿⣷⣦⡄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣯⠅⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢼⣿⣿⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢬⣽⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣏⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠸⣿⡟⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣈⣛⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡿⢁⣤⡖⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⣿⡇⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⢤⡀⠸⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣵⣿⣿⣤⡄⠀⠀⠀⠀⠀⠀⡌⠀⠀⠙⠁⠀⠈⡇⠀⠀⠀⠀⠀⠀⣠⣌⣿⣷⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣡⣴⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⢰⠀⠀⠀⠀⠰⣤⣹⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣧⣤⣀⣤⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⣇⢀⡄⢀⣤⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠛⠉⠉⠉⠛⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠉⠉⠉⠻⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣷⡄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢰⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠙⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠋⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-12.txt b/homes/data/ascii-art/butterfly-12.txt new file mode 100644 index 0000000..47c76d1 --- /dev/null +++ b/homes/data/ascii-art/butterfly-12.txt @@ -0,0 +1,44 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣆⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠙⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠈⠙⢷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠈⠙⠛⠿⣶⣶⣶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡄⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣽⣻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠛⠿⠋⠻⣦⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢻⣦⣶⠀⡈⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣷⣿⣿⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣾⣿⣿⣿⣿⣿⣿⣄⣈⣿⡆⢿⡟⠻⣿⡿⠋⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠃⣸⣿⣿⣿⡇⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣼⣿⣿⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣝⡛⢹⣇⠄⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣶⣿⡤⠄⠀⠀⠀⠀⣀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⣿⣿⣿⡇⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡟⠃⠻⣿⣛⠿⠟⢷⡛⡈⢷⡀⠀⠘⢇⠈⢿⣿⣿⣿⣿⣿⣿⣿⡅⠀⣿⣿⣿⠇⠻⣆⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠃⠉⠛⠦⠈⢷⡀⠈⢻⣄⠀⠈⢃⠈⢿⣿⣿⣿⣿⣿⢻⡇⠀⣿⣿⣿⠀⠀⢻⡀⢀⡀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠛⠻⠶⢦⣄⣃⠈⢿⡄⠀⠹⣦⢸⣿⣧⠘⣿⣿⣿⣿⣿⣸⡇⠸⣿⣿⡟⠀⠀⢸⡇⠘⡇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡦⠤⣤⣄⣈⠙⠻⢦⣿⣆⠀⠈⠋⣿⣿⣧⠸⣿⢿⣿⣿⣿⣠⡄⣿⣿⡇⠀⠀⣼⠀⠀⡇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡀⠀⠈⠉⠛⠶⣦⣭⣿⣦⣰⠀⠈⣿⣿⣆⢻⡌⢿⣿⣿⣿⣇⣿⣿⠀⠀⢠⡏⠀⣼⠃ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⣔⣂⡠⠉⡙⠿⣿⣿⣦⡈⢿⣿⡌⣷⠸⣿⣿⣿⣿⣿⡏⠀⢠⡟⢀⣼⠃⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣼⣮⣿⣿⣾⡿⢷⢸⡀⢿⣿⣿⣿⣿⠁⣠⠟⣠⠟⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣆⢸⡇⠘⣿⣿⣼⠏⣴⡿⠟⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡁⠀⢿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣯⣭⣛⡻⠿⠿⣿⣷⣄⣼⠿⢿⣿⠛⠛⠁⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⡿⠋⠉⠉⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⢶⣮⡝⠻⣿⣷⣾⠟⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⠁⢀⣤⣾⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠿⢋⣩⣭⠿⣿⡿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠂⣾⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣡⣴⣾⡿⠏⣀⣤⣴⢾⣿⣿⣿⡿⢛⠉⣀⣀⣤⠾⢻⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣶⣿⢿⢿⣧⣾⣿⡟⠉⢀⣴⠞⠉⠁⠀⠀⠀⠛⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣁⣴⣿⣿⣿⣿⣾⣶⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣠⣴⠿⣿⣿⣻⣿⣟⠝⠛⠻⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠁⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣛⣷⣿⣿⠟⢋⣽⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⡿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-13.txt b/homes/data/ascii-art/butterfly-13.txt new file mode 100644 index 0000000..00c6cae --- /dev/null +++ b/homes/data/ascii-art/butterfly-13.txt @@ -0,0 +1,28 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⣠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠛⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠁⠉⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⡾⠀⠈⠳⣄⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡇⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢠⠇⠀⠀⠀⠈⢧⡀⠀⣠⠴⠊⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⣴⠖⠲⢬⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⡾⠀⠀⠀⠀⠀⢉⣷⠚⠁⠀⠀⠀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⡇⠀⠀⢰⠃⠀⠀⠀⠈⠙⢿⡂⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣰⠏⠀⠀⠀⠀⠀⠀⢼⠉⡇⠀⠀⠀⠀⠀⠀⢠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⡾⠀⠀⠀⠀⠀⠀⣰⠟⠦⣀⠀⠀⠀⠀⠀ +⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠸⡄⢻⡀⠀⠀⠀⠀⢀⠞⠀⢀⣀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⠀⠀⢸⠀⠀⡇⠀⠀⠀⠀⣠⠞⠁⠀⠀⠘⡇⠀⠀⠀⠀ +⠀⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣸⡇⠀⠀⠀⣴⣏⡴⠚⠉⠙⠃⠀⠀⠀⣀⡀⠙⠦⣄⠀⠀⠀⠘⡇⢠⡇⠀⠀⢠⠜⠁⠀⢀⣀⣠⣼⣃⣀⡀⠀⠀ +⠀⠀⠉⢙⣲⣤⣤⡤⠤⢤⡀⠀⢳⣧⠀⣠⢞⡷⢋⡴⠖⠙⣷⠀⠀⠀⠀⠻⢧⣀⡀⠈⠙⢦⡀⠀⣷⢸⠇⠀⡴⢃⣠⠖⣺⡭⠛⠁⠀⠀⠈⠉⠳⡄ +⢠⡶⠊⠉⠀⠀⠀⠈⠉⠙⠃⠀⠈⣿⣶⣱⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠲⢼⣦⣽⢿⢠⣾⢟⣫⠴⠋⠁⠀⠀⠀⠀⠀⠀⠀⠈⡗ +⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣟⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣟⣏⣁⣀⣀⣀⡠⠤⠴⢒⣒⣷⠆⠀⢠⠇ +⠀⠈⠙⠲⠤⣀⠀⠀⠀⠀⠀⢀⣾⠳⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⢻⡛⢦⡛⠳⠭⣍⣉⠉⠉⠀⠀⢀⣠⠏⠀ +⠀⠀⠀⠀⠀⠈⠳⢤⣀⣀⡴⠋⣇⣴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡙⢦⠀⠀⠉⠉⠒⠒⠒⠋⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣼⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⢰⠋⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢠⢸⡄⠀⠀⠀⠙⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⠀⠀⠀⠘⠦⣄⡀⠀⠀⢀⡤⠴⠲⠤⣤⡀⠀⠀⠀⠀ +⠀⢸⣸⡇⠀⠀⠀⠀⠈⢧⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠦⣄⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠹⣤⠞⠉⠀⠀⠀⠀⣾⡇⠀⠀⠀⠀ +⠀⢸⡏⠀⠀⠀⠀⠀⠀⠘⡆⠀⢰⡏⣠⠖⠀⠀⣠⠶⠋⠁⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠸⡇⠀⠀⠀⠀⠀⢀⣼⠋⠀⠀⠀⠀⠀⠀⢿⡀⠀⠀⠀⠀ +⠀⠈⢳⠀⠀⠀⠀⠀⠀⠀⢸⡄⢸⣻⠁⠀⣠⠞⠁⠀⠀⠀⢀⡴⠃⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠀⠀⠀⣠⣻⠏⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⠀⠀⠀ +⠀⠀⠈⠳⠤⣀⣀⠀⠀⠀⠀⣧⢸⡇⢀⠜⠁⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠘⣆⠀⠀⣰⣳⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀ +⠀⢀⣤⠒⠒⠚⠛⠻⠷⠶⣶⣾⣾⣷⠋⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⢿⠉⠙⠲⣄⠀⠹⡄⣴⡽⠃⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⠾⣥⣀⠀⠀ +⠀⢿⡅⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠓⢶⣦⣀⣀⣀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠈⣞⠉⠙⠲⢿⣶⣷⡿⠁⠀⠀⠀⣠⠴⠚⣉⠤⠞⠉⠀⠀⠀⢸⣧⠀ +⠀⠸⢯⠀⠀⠀⠀⠀⢀⡾⢻⣿⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠛⣿⢦⣄⡀⠘⠓⠉⠉⠀⠀⠀⠀⠀⠀⠀⣼⠟⠀ +⠀⠀⠘⢦⣀⣀⡤⠞⢹⣠⠏⡇⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⡙⠫⢟⡓⠦⠤⣄⣀⠀⠀⠀⢀⠞⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠀⡇⠀⠀⣀⣤⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⢤⣉⣦⠀⠀⠉⠙⠒⠒⠋⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-14.txt b/homes/data/ascii-art/butterfly-14.txt new file mode 100644 index 0000000..7460045 --- /dev/null +++ b/homes/data/ascii-art/butterfly-14.txt @@ -0,0 +1,25 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣟⠻⡿⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣸⣻⠿⢮⡿⣾⡖⠚⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣄⠒⢦⠸⣿⣄⠙⣧⠀⠰⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣛⣷⣞⠳⣄⠘⡆⠙⢇⠀⠀⠰⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⣸⣯⡝⠻⣿⣏⠉⠻⣮⣷⣝⣶⣼⡀⠀⠀⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⣇⠈⠙⢤⠈⢳⡀⠀⠹⣌⢻⠀⠙⣧⠀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣼⠋⠳⢤⣄⡑⠀⠹⡄⠀⣌⠀⢳⡀⠸⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⣠⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢹⣄⠀⠂⢻⡉⠑⣦⠹⡄⠸⡄⠀⢷⡄⡇⠀⠀⡇⠀⠀⠀⠀⣀⠤⠒⠋⠁⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠙⠿⣶⣤⣝⠀⠀⠀⢿⡶⢧⠀⠸⡇⡗⠀⢀⠃⠀⢀⡴⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣠⣤⣤⣤⣀⣀⡀⠀⠀ +⠀⠀⠀⠀⢀⣀⣀⣀⡀⠙⢻⣷⣦⡀⠈⠋⠈⢧⠀⠀⡇⠀⠈⠀⠔⠋⠀⠀⢀⣀⣤⣤⣤⡶⢶⣿⠿⠭⢥⢽⣁⣤⠀⠒⠿⠿⣿⣷⣆ +⠀⢀⡠⠚⠉⠉⠀⠀⠀⠀⠀⠙⢿⣿⣶⣤⣤⡘⣆⣼⣃⣴⣦⠀⠀⣀⡴⠞⣛⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠘⣿⣛⣖⠲⠦⣄⣸⡿ +⢠⠾⠒⠶⠀⠀⠀⠀⠀⡀⠀⡙⢺⣏⠛⢿⣿⣿⣿⣿⣿⣿⣿⣶⠞⡩⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⠒⠤⣍⣙⣓⠶⣴⣶⠟⠁ +⡾⠀⠂⠀⠀⠀⠀⠀⠈⠑⠉⢡⣿⣿⠛⠲⣤⣯⣿⣿⣿⣿⣿⣥⡞⠒⠒⠚⠛⠓⠠⣀⠀⠀⠀⠠⠄⠀⠠⣤⣷⣌⢙⣿⣦⡾⠋⠀⠀ +⡗⠺⠤⠛⠉⠉⠁⠐⠉⠉⣹⣿⢿⢃⣠⣾⢋⣾⣿⣿⣿⣟⠻⠏⡿⣗⣦⡀⠀⠀⠀⠈⠙⠲⣄⡀⠀⠀⠀⠈⠙⠿⣿⣿⠟⠀⠀⠀⠀ +⣇⣠⠤⠀⠀⠀⠀⢀⣴⡾⢛⡽⢋⣽⣟⣵⢫⣿⣿⣯⡏⢣⠀⠄⠀⠈⠉⢙⣻⠖⢦⣄⡀⠀⠤⢙⠶⣤⡀⠈⢳⣰⡟⠁⠀⠀⠀⠀⠀ +⢿⠀⠀⠀⢀⡴⢪⠟⢩⠖⠋⢠⡾⢻⡟⢁⣿⣿⣿⡟⡀⠘⠀⣴⠀⣤⡐⠂⠈⠉⢗⣟⠿⣶⣤⡀⠲⣤⣹⣿⠞⠉⠀⠀⠀⠀⠀⠀⠀ +⠘⣧⠀⠀⠈⠀⠀⠀⠀⡀⣠⠏⣴⠏⠀⢸⣿⠟⠻⢀⠆⠀⢀⠈⢳⡸⡗⢤⡀⠉⠪⠙⢧⡀⠉⠙⠓⠛⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠘⢧⡀⠀⠀⢀⡴⢂⣜⡥⠚⠁⠀⠀⠀⠁⢠⡆⢸⣰⠀⠈⣧⠀⠑⢿⠀⠙⢦⠀⠀⡀⠻⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠈⠳⣤⣖⣋⡴⠟⠉⠀⠀⠀⠀⠀⠀⠀⢸⡇⢸⢹⠆⠀⢸⡄⠀⠈⢷⡀⠀⠑⢦⡜⢦⣹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⣼⣾⠀⠈⢀⢳⡀⢠⡈⢻⣦⡀⠀⠙⢮⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣇⡿⡼⠀⠄⠈⠈⣇⠀⠹⣌⠹⣿⣄⠳⢰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡁⢻⠀⠀⠀⠀⠙⠂⠀⠹⡁⡈⡻⣦⠾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢧⣸⡄⠀⠀⠀⠀⠀⢰⣄⣃⡴⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠓⠒⠒⠒⠒⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-15.txt b/homes/data/ascii-art/butterfly-15.txt new file mode 100644 index 0000000..e45923d --- /dev/null +++ b/homes/data/ascii-art/butterfly-15.txt @@ -0,0 +1,7 @@ +⢴⡦⡀⠀⠀⠀⠀⠀⠀⠀⡠⠔⢶⡄ +⣨⠇⠈⢆⠀⠀⠀⢀⠔⠁⠀⠀⣮⠀ +⣿⠀⠀⠀⢣⠀⡠⠃⠀⠀⠀⠀⠈⣿ +⣿⡀⠀⢀⣾⣻⣧⠀⠀⠀⠀⠀⠀⣿ +⠈⠻⠆⣈⣻⢭⡙⢀⣀⣀⣀⣠⠟⠀ +⠀⢰⡏⠀⠀⢯⣿⠀⠀⠀⠀⢘⡆⠀ +⠀⠀⢻⣄⡠⠊⠁⠑⠤⣠⠼⠟⠀⠀ diff --git a/homes/data/ascii-art/butterfly-2.txt b/homes/data/ascii-art/butterfly-2.txt new file mode 100644 index 0000000..8736440 --- /dev/null +++ b/homes/data/ascii-art/butterfly-2.txt @@ -0,0 +1,9 @@ +⣠⣤⣤⡤⠤⢤⣤⣀⡀⠀⠐⠒⡄⠀⡠⠒⠀⠀⢀⣀⣤⠤⠤⣤⣤⣤⡄ +⠈⠻⣿⡤⠤⡏⠀⠉⠙⠲⣄⠀⢰⢠⠃⢀⡤⠞⠋⠉⠈⢹⠤⢼⣿⠏⠀ +⠀⠀⠘⣿⡅⠓⢒⡤⠤⠀⡈⠱⣄⣼⡴⠋⡀⠀⠤⢤⡒⠓⢬⣿⠃⠀⠀ +⠀⠀⠀⠹⣿⣯⣐⢷⣀⣀⢤⡥⢾⣿⠷⢥⠤⣀⣀⣞⣢⣽⡿⠃⠀⠀⠀ +⠀⠀⠀⠀⠈⢙⣿⠝⠀⢁⠔⡨⡺⡿⡕⢔⠀⡈⠐⠹⣟⠋⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢼⣟⢦⢶⢅⠜⢰⠃⠀⢹⡌⢢⣸⠦⠴⣿⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠘⣿⣇⡬⡌⢀⡟⠀⠀⠀⢷⠀⣧⢧⣵⣿⠂⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠈⢻⠛⠋⠉⠀⠀⠀⠀⠈⠉⠙⢻⡏⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢰⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠄⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-3.txt b/homes/data/ascii-art/butterfly-3.txt new file mode 100644 index 0000000..2b221b5 --- /dev/null +++ b/homes/data/ascii-art/butterfly-3.txt @@ -0,0 +1,55 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⡶⣶⠟⢿⣹⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠹⡦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⠛⠛⠛⢀⣜⠲⣀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠹⣎⢲⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⠋⠤⠀⠀⢀⠀⡸⠆⡇⢻⡌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠘⡍⣾⠳⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⡟⠁⠀⢀⣜⣀⣀⣈⡉⠁⠀⣄⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠹⣬⡏⢈⡙⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⢀⠔⠉⠁⠀⠀⠀⠨⠫⡤⠉⡷⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢳⣥⠘⠈⢄⢣⠀⠀⠀⠀⠀⠀⠀⠀⣸⠇⠀⠐⠁⠀⠀⠀⠀⣠⣎⠀⢀⡀⣌⠐⡾⠧⠝⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⣦⡀⠈⢂⢂⠀⠀⠀⠀⠀⠀⠀⡟⠀⠄⢠⢄⠀⠀⠠⠊⠁⠀⠉⢻⡆⠠⣷⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠻⠬⢻⣱⡈⠓⢦⣀⢆⢐⠀⠀⢠⠀⢠⠇⡜⠀⠀⠊⢀⠄⠀⣀⢀⠀⠀⢸⠣⠄⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡓⠳⢂⢄⠙⢎⠎⠄⠀⠀⠀⢸⢰⠃⠀⠀⡴⢁⠔⠊⠀⢈⡀⢀⡌⠛⣶⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡼⢮⣆⣁⠀⣈⠈⠂⢠⠀⢸⡜⡘⢀⡞⠐⡡⠔⠈⠁⠀⡠⠁⣸⡶⢇⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢬⣿⡘⣂⣉⢿⡄⠙⡄⢸⡇⢣⣾⠗⠀⠀⣀⣤⣖⣭⡴⠾⠁⠃⠁⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⡀⡄⢝⢻⣮⠻⠎⠷⡾⢁⣤⠶⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⠈⡤⢹⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣦⡀⠑⡙⢷⣷⣄⢈⢉⣁⡈⠉⠉⠉⠉⠙⠻⣖⣲⣦⣄⠀⠀⡇⠀⠀⠁⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣩⡛⡄⣎⢻⣮⡳⣮⡉⠛⠂⠭⣛⡛⠫⠤⢤⣧⣸⡀⠀⢡⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡶⠀⠀⠀⢰⠀⢹⡄⠹⣿⣦⡙⢦⡀⠀⢀⠬⣁⠒⠤⣤⣟⠙⡆⠀⡇⠀⠀⣴⠉⠙⡄⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣄⡀⠀⢸⡆⢸⡀⠀⡱⠉⠻⡆⠹⣷⢤⣁⣈⣆⡀⣀⣽⣏⠳⣤⠃⠀⠀⠉⠀⣠⠃⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡉⠟⠒⢼⣼⢠⢃⠃⢧⡰⣥⡀⠙⠦⠮⡿⣳⠕⠦⣧⠦⣟⡄⢀⡀⠤⠔⠊⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⡈⣦⡇⠀⠀⠀⠟⣜⠀⡆⣗⠇⠈⢷⡄⠀⢀⣤⠶⠊⠉⠀⠀⠀⠹⣆⠙⠲⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣁⠼⠀⠀⠀⠀⠈⢿⢧⣴⢺⠄⠀⢨⣷⡴⢛⠴⡄⠒⠄⠀⠀⠀⠀⠈⢷⡀⣽⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢿⡎⠀⢀⣿⡟⠀⠘⢄⠸⠀⠆⠀⠀⠀⠀⠀⠀⢷⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠊⠈⠑⡀⠀⠀⠈⢿⢀⣾⡿⠃⠀⠀⢸⢀⠌⠀⠀⠀⠀⠀⠀⠠⠿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠀⢀⠃⠀⠀⢀⣤⡻⣛⠁⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡚⣀⠀⠀⠀⠀⠀⠀⢠⠊⣀⣤⣶⠿⠋⠀⠈⠑⢶⣶⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢅⢀⠙⡄⠀⠀⢀⣴⣿⠿⠛⢹⡋⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡌⡇⠇⣠⣾⣿⠟⠁⠀⠀⣀⣉⡀⠙⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⣾⣿⠟⠁⠀⠀⠀⢰⠁⣆⡅⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⠤⢄⠀⢀⣼⣿⣿⠏⠀⠀⣀⡀⠀⠈⢦⡀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠸⡉⠑⠲⢄⢂⣾⣿⣿⡏⢀⡄⢀⡠⠒⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠑⠒⠂⠚⠸⢟⣿⣟⠐⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡔⠀⠁⠀⠀⠈⠹⡌⠁⠀⠉⠁⠲⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⣀⣀⣐⠁⠀⠀⠀⠀⠰⡀⠘⠀⠀⡐⠀⠀⢸⢀⡖⠂⢧⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢠⠔⠋⠉⠀⠀⠉⢙⠲⣤⣀⠙⢤⢡⢠⣡⣴⠴⢂⠨⠀⡎⠌⠌⠃⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣇⠀⣀⠀⠀⢀⠄⠁⠀⠩⠯⣩⡦⢬⠞⢋⣀⣂⠤⠖⠂⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠙⠒⠋⠀⠀⢰⠀⠐⠊⠁⠐⠉⠀⢸⣶⣾⡿⠏⠋⢭⡀⠀⢱⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠓⠠⠄⡀⠀⡀⠐⠁⡎⣧⠹⣀⠀⠀⠀⠈⠀⢰⠀⢀⡀⠠⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⡠⠊⡩⠟⠋⣧⠋⠀⠀⠃⠘⠄⠈⡀⠤⡀⠀⢀⡴⠂⠀⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢠⠃⢀⡠⠄⠊⠀⠱⡀⠀⠀⠀⢀⢴⡄⠀⠈⠂⡬⠁⡠⢀⠀⠀⠀⠀⠱⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠘⠔⠁⠀⠀⠀⠀⠀⠑⠂⠉⠉⠈⢻⣿⠆⠠⢸⠀⢰⣱⠃⠀⠀⠀⢰⡏⡥⠐⠂⢉⠁⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠀⢀⠤⠐⠂⠀⠀⡀⠃⢸⣟⡠⠀⢀⣤⣾⣧⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡆⠀ +⠀⠀⠀⠀⠀⠀⠀⢲⠀⠀⡰⠋⠈⢠⠁⠀⠀⠀⡈⠅⠭⡕⠪⣿⣅⠘⠅⠀⠀⠈⢧⠀⠀⠀⠀⠄⠁⠉⠒⢄⢀⣀⠀⠀⢸⠟⡐⡗⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠓⢄⢣⡀⠀⠘⠤⡀⣀⢀⣠⡴⠂⡰⣾⣿⡇⠣⡒⠢⣀⠀⠀⠙⠀⡄⠀⢀⠀⠀⠀⠘⡄⠀⠑⠤⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠒⠲⠶⠟⠏⠁⠆⠠⠞⢞⠁⡏⠘⢤⠀⠀⠀⠁⠀⠰⠀⣇⠀⠘⠦⣸⢀⠆⡰⠀⢀⠀⡇⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢎⠀⡐⠀⠀⢸⢌⢐⢣⠀⠈⠧⢤⣠⢄⠒⠁⠀⠈⠉⠮⢁⢻⣇⠴⢃⣴⣶⣀⡁⠐⠒⡀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢠⡀⠀⣾⡘⠈⠈⠂⠀⠀⠘⠗⠿⠿⣷⣶⠚⠀⠂⢀⣾⢣⣴⣯⠉⠒⠀⠒⠀⠀⠈⡄ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢇⠁⠀⡆⡇⠙⡰⢄⢀⡠⠤⠜⠀⠀⠀⠀⠀⢅⠀⠐⠁⠎⠸⣟⢓⠌⠂⢄⠀⣀⡀⠀⠄ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡸⢌⡂⠀⠱⡘⠀⡇⠀⠁⠀⠀⠀⠀⠀⠀⢀⠤⠒⢲⡄⡀⠀⠠⠘⡌⠆⠀⠀⢻⣖⠢⡄⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠭⠀⠔⠁⠀⠀⠈⠒⠒⠀⠀⠀⠀⠀⠰⡐⠉⠀⠀⠐⡰⠁⠈⢲⡇⠀⠀⠀⠀⢀⢬⠀⢳⠘⡄ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⢆⠀⠀⠀⠀⠀⢀⠞⡄⠀⠀⠀⠀⠈⠐⠒⠒⠀⠁⠀⠀⢸⡷⡦⣀⣀⡔⠀⠀⠑⡌⢀⠇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠊⠀⢣⠀⠀⡀⣀⠀⠀⠀⠀⠀⠀⠀⢀⡞⠀⢸⠀⠀⠀⠀⠀⠀⠧⠊⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⢰⢀⠇⡌⢠⣼⠇⠀⠀⠀⠀⠀⣠⢞⡀⠀⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠂⢧⡘⡆⠀⠁⠀⠀⠀⢀⣤⠞⠁⠘⠓⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⢷⣶⣶⣶⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠶⠶⠟⠛⠉⢹⠃⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠰⡄⠀⠀⠀⢸⡀⠈⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⠁⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-4.txt b/homes/data/ascii-art/butterfly-4.txt new file mode 100644 index 0000000..f6c2c44 --- /dev/null +++ b/homes/data/ascii-art/butterfly-4.txt @@ -0,0 +1,16 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢔⣶⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠗⡿⣾⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠓⡞⢩⣯⡀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠰⡹⠁⢰⠃⣩⣿⡇⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⣿⠿⣉⣩⠛⠲⢶⡠⢄⠐⣣⠃⣰⠗⠋⢀⣯⠁⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣯⣠⠬⠦⢤⣀⠈⠓⢽⣾⢔⣡⡴⠞⠻⠙⢳⡄ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣵⣳⠖⠉⠉⢉⣩⣵⣿⣿⣒⢤⣴⠤⠽⣬⡇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢻⣟⠟⠋⢡⡎⢿⢿⠳⡕⢤⡉⡷⡽⠁ +⣧⢮⢭⠛⢲⣦⣀⠀⠀⠀⠠⡀⠀⠀⠀⡾⣥⣏⣖⡟⠸⢺⠀⠀⠈⠙⠋⠁⠀⠀ +⠈⠻⣶⡛⠲⣄⠀⠙⠢⣀⠀⢇⠀⠀⠀⠘⠿⣯⣮⢦⠶⠃⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⢻⣿⣥⡬⠽⠶⠤⣌⣣⣼⡔⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⢠⣿⣧⣤⡴⢤⡴⣶⣿⣟⢯⡙⠒⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠘⣗⣞⣢⡟⢋⢜⣿⠛⡿⡄⢻⡮⣄⠈⠳⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠈⠻⠮⠴⠵⢋⣇⡇⣷⢳⡀⢱⡈⢋⠛⣄⣹⣲⡀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣱⡇⣦⢾⣾⠿⠟⠿⠷⠷⣻⠧⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠽⠞⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-5.txt b/homes/data/ascii-art/butterfly-5.txt new file mode 100644 index 0000000..56e7fcb --- /dev/null +++ b/homes/data/ascii-art/butterfly-5.txt @@ -0,0 +1,13 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⡦⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠏⠄⣺⠃⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡋⢚⠄⠊⣿⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⢏⣔⣤⢲⣋⣿⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠁⡔⠻⣿⢡⠼⢧⠀⠀⠀⠀ +⣾⣷⠶⣤⣀⠀⠀⠀⠀⠀⠀⠀⡜⠀⡰⠋⠀⣙⣀⣰⣽⡀⠀⠀⠀ +⠙⠻⣤⠐⢺⡗⠤⡀⠀⠀⠀⠀⠇⢀⢃⣴⡿⢋⠤⠾⠯⢽⣄⠀⠀ +⠀⠀⠀⠙⠢⢄⠀⠐⠴⣄⠀⠀⣰⣻⡿⢛⡉⠉⠀⠀⠐⠀⢿⡀⠀ +⠀⠀⠀⠀⠀⠀⠙⢴⠁⣠⣵⢶⣿⣾⢭⡭⠤⣀⠀⠄⢀⠁⠀⢧⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠁⠿⠁⠈⠫⠻⣷⣝⡢⢄⠀⠀⠀⠈⠱⣾⠁ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⣄⠀⠈⠻⢿⣶⣤⣄⣀⣀⣴⠉⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡘⡄⠹⣦⠈⠉⠉⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⠢⠽⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-6.txt b/homes/data/ascii-art/butterfly-6.txt new file mode 100644 index 0000000..7ba2e6c --- /dev/null +++ b/homes/data/ascii-art/butterfly-6.txt @@ -0,0 +1,28 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⣠⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠛⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠁⠉⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⡾⠀⠈⠳⣄⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠘⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡇⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢠⠇⠀⠀⠀⠈⢧⡀⠀⣠⠴⠊⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⣴⠖⠲⢬⣳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⡾⠀⠀⠀⠀⠀⢉⣷⠚⠁⠀⠀⠀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⡇⠀⠀⢰⠃⠀⠀⠀⠈⠙⢿⡂⠄⠀⠀⠀⠀⠀⠀ +⠀⠀⣰⠏⠀⠀⠀⠀⠀⠀⢼⠉⡇⠀⠀⠀⠀⠀⠀⢠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⡾⠀⠀⠀⠀⠀⠀⣰⠟⠦⣀⠀⠀⠀⠀⠀ +⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠸⡄⢳⡀⠀⠀⠀⠀⢀⠞⠀⢀⣀⠀⠀⠀⠀⠀⠀⣶⡄⠀⠀⠀⠀⢸⠀⠀⡇⠀⠀⠀⠀⣠⡞⠁⠀⠀⠘⡇⠀⠀⠀⠀ +⠀⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣸⡇⠀⠀⠀⣴⣏⡴⠚⠉⠙⠃⠀⠀⠀⣀⡀⠙⠦⣄⠀⠀⠀⠘⡇⢠⡇⠀⠀⢠⠜⠁⠀⢀⣀⣠⣼⣃⣀⡀⠀⠀ +⠀⠀⠉⢙⣲⣤⣤⡤⠤⢤⡀⠀⢳⣧⠀⣠⢞⡷⢋⡴⠖⠙⣷⠀⠀⠀⠀⠻⢇⣀⡀⠈⠙⢦⡀⠀⣷⢸⠇⠀⡴⢃⣠⠖⣺⡭⠛⠁⠀⠀⠈⠉⠳⡄ +⢠⡶⠊⠉⠀⠀⠀⠈⠉⠙⠃⠀⠈⣿⣶⣱⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠲⢼⣦⣽⢷⢠⣾⢟⣫⠴⠋⠁⠀⠀⠀⠀⠀⠀⠀⠈⡗ +⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣟⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣟⣏⣁⣀⣀⣀⡠⠤⠴⢒⣒⣷⠆⠀⢠⠇ +⠀⠈⠙⠲⠤⣀⠀⠀⠀⠀⠀⢀⣾⠳⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⢻⡛⢦⡛⠳⠭⣍⣉⠉⠉⠀⠀⢀⣠⠏⠀ +⠀⠀⠀⠀⠀⠈⠳⢤⣀⣀⡴⠋⣇⣴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡙⢦⠀⠀⠉⠉⠒⠒⠒⠋⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣬⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⢰⠋⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢠⢸⡄⠀⠀⠀⠙⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢸⣸⡇⠀⠀⠀⠀⠈⢧⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢸⡏⠀⠀⠀⠀⠀⠀⠘⡆⠀⢰⡏⣠⠖⠀⠀⣠⠶⠋⠁⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠈⢳⠀⠀⠀⠀⠀⠀⠀⢸⡄⢸⣻⠁⠀⣠⠎⠁⠀⠀⠀⢀⡴⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠈⠳⠤⣀⣀⠀⠀⠀⠀⣧⢸⡇⢀⠜⠀⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢀⣤⠒⠒⠚⠛⠻⠷⠶⣶⣾⣾⣷⠃⠀⠀⠀⠀⠀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢿⡅⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠓⢶⣦⣀⣀⣀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠸⢯⠀⠀⠀⠀⠀⢀⡾⢻⣿⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠘⢦⣀⣀⡤⠞⢹⣠⠏⡇⠀⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠀⡇⠀⠀⣀⣤⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-7.txt b/homes/data/ascii-art/butterfly-7.txt new file mode 100644 index 0000000..ae52501 --- /dev/null +++ b/homes/data/ascii-art/butterfly-7.txt @@ -0,0 +1,20 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣶⡶⡴⢦⣼⣟⣻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⡳⣋⡿⣦⡲⣺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠸⣼⣸⠟⠀⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣽⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣦⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣷⣿⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣴⣿⢿⢯⣯⡀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣿⣟⢎⣾⢻⡆⠀⠀⠀⠀⠀⠀⠀⢀⡼⢻⢛⣏⣯⢽⡿⡿⣻⡻⣤⡀ +⠀⠀⠀⠀⠀⠀⠀⣾⣿⣶⣆⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠃⣕⠙⢧⣽⢸⣯⠀⡀⠀⠀⠀⠀⠀⠘⢯⣡⣂⣹⣎⡾⠀⠑⠛⠛⠉⠁ +⠀⠀⠀⠀⠀⠀⠀⠹⣷⣾⡟⣿⠻⢦⣠⠄⠀⡄⢀⣠⣴⣶⣹⣿⣿⢧⣦⣽⣿⣿⣺⠣⣄⣀⡀⠀⠀⠀⠐⣻⡿⡿⣿⢧⡆⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣗⡒⠷⢦⣝⣶⣾⣟⡭⢶⣋⣲⡿⡿⠏⡿⢻⠿⠇⢹⣎⠻⡻⣳⢿⣷⣄⠀⢸⣃⢼⡐⣇⡷⢯⣆⠀⠀⠀⠀ +⠀⣴⣦⣄⡀⠀⠀⠀⢈⣿⠿⢷⠶⠾⠿⣿⡿⠿⣥⣬⣭⣿⣷⠇⠀⠁⡼⠆⡰⣸⠿⣦⣷⣿⡺⠿⠿⠂⠘⠻⢾⡵⣿⡷⣞⣿⡄⠀⠀⠀ +⠀⣷⡿⣿⣿⣤⠀⠀⢨⣯⢘⠆⡖⡪⣻⣿⣻⡂⢄⣑⢆⣻⡇⠀⠀⠀⠻⣷⣧⣯⠾⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠃⠀⠀⠀ +⠀⡿⣿⣿⠻⣿⣷⡀⠀⠛⢷⣮⣼⠞⠋⡟⠸⣒⡈⢢⣱⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣿⣿⠯⣍⣳⡈⢷⡀⠆⠀⠉⠁⠀⠀⠀⠀⠙⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣰⣾⠻⠷⣶⣭⣹⣤⢗⣮⡰⣃⣤⣤⣤⣤⣤⢤⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣿⠅⣾⢉⣁⣈⣙⣻⣿⣿⣟⡶⠲⢶⡛⢭⣿⣟⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣿⣮⣥⠊⢡⡔⣮⣿⣿⣧⠉⢻⣷⣦⡍⣿⣿⣷⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠈⠻⣷⣮⠷⠛⢹⠏⣷⡌⢢⣀⣫⢝⣿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠋⠀⣹⣡⠈⡎⢫⣲⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⣲⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-8.txt b/homes/data/ascii-art/butterfly-8.txt new file mode 100644 index 0000000..a42ef5e --- /dev/null +++ b/homes/data/ascii-art/butterfly-8.txt @@ -0,0 +1,20 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠠⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢠⡄⡅⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠒⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠘⡀⠅⠀⠦⠀⠀⠀⠃⠀⠀⢀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⡃⠀⠇⠄⠀⢨⠀⡀⣀⠀⠀⠀⡈⠀⠀⠀⠀⠀ +⠀⠀⠈⠀⠂⠁⠀⠀⠀⠈⠀⠂⠡⠉⢠⠄⠀⠁⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢁⣀⠀⠀⢀⣀⠀⠀⠄⡀⠊⠀⠀⠄⠘⠀⠀⠀⠀ +⠀⠆⠀⣼⣿⣿⣧⢀⣾⣿⡆⠘⠤⠄⠂⠀⠀⡒⠐⠀⠀⠀⠀ +⢀⢠⢸⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠁⠀⠀⠰⣀⠀⠀⠀⠀⠀ +⢈⠀⣿⣿⠁⠈⣿⣿⣿⣿⣿⣿⣆⠁⠈⠀⢀⠀⠀⢀⠀⠀⠀ +⠈⢄⣿⠻⣆⢠⣿⠿⣿⣿⣿⣿⣿⡆⠀⢀⠊⣰⢀⠜⠀⠀⠀ +⠀⠀⣿⠀⢹⣦⠃⢠⣿⢿⣿⣿⣿⠇⠀⣁⢊⠀⢀⠐⠀⠀⠀ +⠀⠀⢿⠀⢸⡏⢀⣾⠏⠈⣿⣿⣯⣤⣤⣤⡀⠒⠀⢀⢰⠇⠀ +⠀⠀⢸⠀⢸⣧⡾⠁⠀⣠⣿⣿⣿⣿⣿⣿⣿⣷⠀⢈⠐⢠⠆ +⠀⠀⠀⡆⣸⠏⠀⣠⣾⠟⣩⠋⣉⠭⠛⢿⣿⣿⣧⠈⠀⠀⠄ +⠀⠀⠘⠳⣮⣴⣟⣫⠄⠚⠭⣁⣀⣤⠴⠟⢻⣿⣿⡇⠸⠀⠀ +⠀⠀⠀⠀⠈⢻⣦⢭⣙⣒⣶⣶⠻⠦⠤⣤⣼⣿⣿⡆⠂⠀⠀ +⠀⠀⠀⠀⠀⠀⠙⢦⣈⣉⠦⢄⡉⠑⠲⢦⣿⣿⡿⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⠐⠛⠿⠿⠿⠟⠋⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/butterfly-9.txt b/homes/data/ascii-art/butterfly-9.txt new file mode 100644 index 0000000..2e26f83 --- /dev/null +++ b/homes/data/ascii-art/butterfly-9.txt @@ -0,0 +1,73 @@ +⢡⢊⠐⡀⠐⠠⠐⠢⠑⠠⠃⠰⢀⠢⠄⡁⠂⠔⢈⠐⠠⠂⡁⠂⠔⢈⠐⠠⢂⠐⠄⠂⠅⡂⠥⠈⠔⡀⠆⠠⢁⠂⡐⠌⠐⡀⠢⢁⠂⡐⢈⠐⠠⠐⠂⠔⠈⠄⠣⠠⢁⠢⠐⠠⠂⡁⠂⠔⢈⠐⠠⠂⡁⠂⠔⢈⠐⡀⠂⠔⠠⠌⠢⠑⡈⠤⠁⠂⠔⠠⢁⠂⠅ +⠆⠆⠓⡀⠊⡐⠈⢂⠑⠂⠑⠂⢀⠂⠐⠐⠈⠐⡀⠂⠁⢂⠐⠈⠐⡀⠊⠐⠀⠂⠌⠂⠐⡀⠂⠁⢂⠐⠠⠁⠂⠐⠀⠒⠐⠀⠒⠀⢂⠐⡀⠠⠀⢈⠀⠌⠀⡈⠀⠁⡀⠠⢈⠐⠐⠐⠈⠐⡀⠂⠁⢂⠐⠈⠐⡀⠂⠐⠈⠄⠃⠐⠂⠁⠒⠀⢂⠁⠂⠒⠀⠂⠂ +⢏⡘⡐⠠⠁⢀⠂⠠⢀⠂⠐⡈⠀⠄⡈⠐⡈⠠⠐⠠⠁⡀⠂⠌⢀⠐⠠⠁⡈⠐⠠⠈⠄⠐⠈⡐⠠⢀⠂⠄⡁⠂⠌⠐⠠⢈⠠⠁⠠⠀⠀⠄⠁⣠⣤⣀⠂⢀⡐⠀⢀⠀⡀⠄⢈⠐⠈⠠⠐⠠⠁⡀⠂⠌⠀⠄⠡⠈⠐⡀⠂⠁⠄⡁⠂⠌⢀⠐⡀⢂⠁⢂⠀ +⡎⠰⣀⠡⠐⢀⠠⠁⠄⠠⢁⠠⠁⡐⠠⢁⠠⢀⠁⢂⠐⢀⠡⠐⠀⠂⠄⡁⠠⠁⢂⠐⢈⠠⠁⡀⠂⠄⡐⠠⢀⠡⢀⠁⠂⠄⠐⠀⠁⡀⠡⢀⣾⣿⠿⣿⣷⡿⣿⣷⡄⠂⠀⢀⠂⠈⠄⠁⠌⠐⡀⠄⠡⢀⠡⠈⠄⠂⠁⠄⡈⠐⠠⠐⡀⠂⠄⢂⠠⠀⠌⡀⠀ +⣌⠡⠄⡐⠀⢂⠠⠈⠐⡀⠂⠄⡁⠠⠐⠠⠀⢂⠈⠄⠐⠠⠐⠀⠡⠈⠠⠐⠀⡁⠂⡀⢂⠐⠠⢀⠁⢂⠠⠐⠠⢀⠂⢈⠐⠈⠀⠌⠀⡀⢀⣾⡿⢻⣴⣿⣿⣿⠿⣿⣇⠀⠐⡀⠀⠡⠈⠐⡈⠄⡀⠂⠁⠄⠠⠈⠐⠈⡐⠠⢀⠁⢂⠁⠄⡈⠐⠠⢀⠁⢂⠐⠀ +⢆⠱⠐⠠⠁⠂⠠⢈⠐⠀⠌⠐⡀⠄⢁⠂⢁⠀⠂⠌⠠⠁⠌⠠⠁⠠⠁⠄⡁⠄⢁⠀⠂⠌⠀⠄⡈⠄⠠⢈⠐⡀⠐⠀⠂⠁⠠⠀⠂⢠⣾⡿⣝⣧⣿⡿⣿⠀⠀⣸⡟⠁⠀⠄⠂⡁⠌⠐⠠⠐⢀⠡⢈⠀⠂⠡⢈⠐⠀⠂⠄⡈⠠⢈⠀⠄⡁⠂⠄⡈⠄⠂⠀ +⢎⠰⢁⠂⠡⠈⠐⠠⠈⠄⡈⠄⠠⠐⠠⠈⢀⠈⡐⠈⡐⠠⠄⠁⠠⠁⠂⠄⠠⢈⠀⠌⠐⡈⠄⠂⡀⠂⠁⠄⠂⡀⠁⠀⠂⠈⠀⠐⣀⣸⣿⣶⣿⡟⢻⡗⠘⣇⠀⣿⣁⠀⠂⠠⠀⠄⠂⠈⠄⡁⠂⢀⠂⠄⠁⠂⠄⠂⠁⠌⡀⠄⠡⢀⠂⠐⠠⠁⠠⠐⢀⠡⠀ +⢎⡐⠂⠌⡀⠡⠈⠄⠡⢀⠐⠠⠁⠠⠁⠌⠠⠐⠠⠑⠀⠄⠐⢈⠀⢂⠡⠀⠡⠀⠌⢀⠂⠄⡐⠠⢀⠡⠈⠐⡀⠄⠀⡁⢀⣴⣾⣿⡛⢯⣽⡟⠛⣧⡀⢻⣀⣿⣠⡟⠀⠀⠐⠀⠁⠄⠡⡈⠢⠐⠀⢂⠠⠈⠠⠁⠂⠌⠐⠠⠐⢀⠂⠄⠂⢁⠂⢁⠂⢁⠂⠠⠀ +⡆⡘⢐⠠⢀⠁⡐⠈⠄⡀⠂⢁⠂⢁⠐⡈⠄⢈⠐⠠⠈⠠⢈⠀⡐⠠⠀⠌⡀⢁⠂⠄⠐⠠⢀⠐⡀⠂⠌⠐⠠⠀⡁⠀⣾⣍⣿⣤⣟⡦⣿⣇⠀⠈⢻⣝⣿⠁⣿⠁⢠⣨⡄⠈⠄⠊⡐⠀⠄⠠⠁⠠⠀⠌⢀⠡⠈⡀⠌⠠⢁⠀⠂⠄⡁⠂⡈⠄⠐⡀⠄⠂⠀ +⢆⠱⢀⠂⠄⠂⠠⠈⠄⠐⢈⠠⠐⢀⠂⠄⠐⡀⠂⠄⠁⠂⠄⠂⢀⠂⠡⢀⠐⡀⠂⠈⠄⠡⠀⢂⠐⡈⠄⠂⡁⠄⠀⠸⣿⣿⣤⣴⣾⡿⠷⣿⣦⠀⠀⣿⠁⣸⠃⣠⣟⡞⠁⠀⠂⠄⠐⠈⡀⠂⠌⢀⠡⠈⡀⠄⡁⠠⢀⠡⢀⠈⡐⠠⠐⢀⠐⡈⠁⠄⠂⡈⠀ +⢎⠰⢈⠀⢂⠡⠀⠡⠈⠄⢂⠀⡉⢀⠠⠈⢀⠐⢈⠠⠁⡈⠐⡈⠀⠌⠐⡀⠄⡐⠈⠐⡈⠠⠁⡀⠢⠐⠀⢂⠀⠀⡁⢀⣿⣿⣉⣳⣤⣹⣧⣤⣛⣷⣄⡟⢰⣧⣼⠗⠉⡀⠌⠐⠈⠀⠂⢁⠐⡀⠂⠄⡐⠠⢀⠂⠄⢁⠀⠂⠄⠂⡀⠡⠐⠠⠐⠀⢂⠈⡀⠐⠀ +⢎⠰⢈⠐⠠⠀⠌⠠⠁⠌⠠⠐⢀⠠⠀⠌⢀⠂⠄⠂⡐⢀⠡⠀⠌⡀⠡⠀⡐⠠⠈⠄⠠⠁⠄⡀⢁⠠⠁⢀⠀⠂⠀⣾⣿⣦⠴⢖⣚⣧⢤⣄⣈⣙⣻⣷⠟⠋⠀⢀⠂⢀⠀⠄⠂⠁⠌⢀⠂⠐⡀⢂⠐⠠⠀⠂⠌⢀⠈⡐⢀⠂⠄⡁⢂⠂⠡⠈⠀⠄⠠⠁⠀ +⢎⠰⢈⠀⢂⠁⠄⢂⠁⠌⢀⠂⠠⠀⠂⠌⡀⠄⠂⡁⢀⠂⡐⠈⡀⠐⠠⠁⡀⢂⠐⠄⡁⠄⢂⠀⢂⠠⠈⡀⠠⠀⡀⢻⣿⣷⣋⣩⣴⣾⠿⣿⣿⠟⠋⠁⢀⠂⠌⠂⠁⢀⠠⠀⢂⠡⠈⠀⠄⠡⠀⠄⠂⡁⠄⢁⠂⠄⢂⠐⡀⠂⢀⠐⠠⠀⢂⠠⠁⡈⠐⡈⠀ +⢎⠰⢈⠐⠠⠈⡀⠄⠐⠈⡀⠐⡀⠁⠌⠀⠠⠀⠁⠄⠂⠠⢀⠁⠠⠁⢂⠐⠀⡂⢈⠐⢀⠂⠠⠐⠠⠐⠀⠄⠀⠄⠀⠀⠙⠛⠛⠉⠀⠀⡀⠉⠀⢀⠠⠈⠀⠠⠀⡀⠂⠠⠐⠈⡀⠄⡈⠐⡈⠐⠠⠈⠐⡀⠐⡀⠂⠄⠂⡐⠠⠁⠄⡈⠄⠂⠠⠐⠀⠄⡁⠄⠀ +⢎⠰⢈⠐⠠⠁⡀⠂⡁⠂⠐⡀⠀⠠⠀⠂⠁⠀⠂⠀⠠⠁⠠⠈⡀⢁⠂⣈⠠⠄⠂⢀⠂⢀⠂⠈⠄⠈⠐⠠⠈⢀⠈⠐⠀⠀⡀⠀⠈⠀⠀⡀⠄⠀⢀⠠⠐⠀⡁⠠⠈⠄⡁⠂⠄⢂⠠⠁⠠⠁⠂⢁⠂⡐⢀⠐⡈⠠⠐⠄⠁⠂⠠⢀⠂⠌⠠⢁⠈⠄⡐⠠⠀ +⢎⠰⢈⠀⢂⠁⡀⠂⠄⢁⠠⠀⠐⠀⣠⣶⣶⣤⣁⠂⠀⠐⠀⠐⠀⠄⢂⠀⡀⠂⠐⠀⠠⠀⠀⠂⠠⠈⠀⢀⠐⠀⡀⠂⠌⠀⠠⢀⠂⠁⡐⠀⠄⠂⠄⠂⠠⠁⠄⠂⢁⠐⠠⠐⢈⠠⠀⠌⠠⢁⠈⠠⠐⠀⠄⠂⠄⢁⠈⠠⢀⠁⠂⠄⠂⠠⠁⠄⠂⡐⢀⠂⠀ +⡎⠰⢈⠐⡀⠂⡀⠡⢈⠀⠄⠐⠀⢰⣷⡟⠻⣏⠻⣧⣀⠐⠈⠀⡈⠠⠀⠂⠀⢁⠈⠀⠄⠀⠁⣠⣴⣤⡈⠀⠀⠂⡀⢁⠂⠁⠂⠄⠂⢁⠐⠈⠠⢈⠐⢈⠠⢈⠐⠈⡀⠌⠐⡀⠂⠄⠡⠀⢁⠂⠈⠄⠁⠌⠠⠁⢂⠀⢂⠀⢂⠈⡐⠈⡀⠡⢈⠐⠠⠐⡀⢂⠀ +⢎⡑⠠⢂⠠⠐⠀⠡⠀⠂⠀⠄⠈⠀⣿⢿⡀⠘⢦⡈⢻⣦⠐⠀⠀⠄⠀⠁⠈⠀⡀⠠⠀⣠⡿⣿⣯⣽⡇⠀⠁⠠⠀⠂⠌⢀⠁⠂⠌⢀⠠⠁⠂⠄⡈⠄⢀⠂⠌⢀⠐⠈⠄⠐⠈⠀⠄⠈⠀⢀⠂⠀⠈⢀⠐⠈⠠⠐⠀⠌⡀⠄⠐⠠⢀⠡⢀⠂⠁⠄⡐⠀⠀ +⡆⠰⠁⠄⠂⠄⢁⠂⠡⠈⠀⠄⠂⠀⢻⣿⠛⢦⣄⣹⠦⣌⣳⡀⠀⣠⠈⠀⢾⠀⠀⢀⣼⢯⠞⢡⣿⣿⠁⠀⡈⠀⠄⠡⠈⠄⡈⠐⠈⠀⠄⡈⠐⠠⠐⡀⠂⡐⢈⠀⠌⠐⡈⠠⠁⠈⠀⠀⢂⣤⣄⠈⡀⠠⠐⠈⠐⡀⢁⠂⠠⢀⠁⠂⠄⡐⠀⡈⠄⠂⠄⠡⠀ +⡌⠱⢈⠐⡈⢀⠂⢈⠐⡀⠁⠠⠀⠄⠘⣿⣷⣤⡀⠙⣆⠈⠻⣿⡄⠘⣇⠀⣾⠀⣴⠿⢲⣋⣤⣿⡿⠃⠀⠀⡐⠈⠄⠡⢈⠀⠄⠁⡈⠐⠠⢀⠁⠂⡁⠄⠐⡀⠂⠄⠂⡁⠠⠀⢀⠐⠀⣰⣿⣿⣿⣧⠀⠐⠀⠐⠀⡐⠠⢈⠐⠀⠌⡐⠠⢀⠡⢀⠐⠈⠄⢂⠀ +⡅⢣⠈⠄⠐⠠⠐⢀⠂⠠⠈⢀⠐⠀⡀⠹⣿⣦⡉⠛⠚⣆⠀⠈⠻⣆⢻⢠⣇⡾⠃⢠⣟⣠⣾⡞⠃⠀⠐⠀⡀⠌⠠⢁⠀⡈⢀⠂⠄⠁⠂⠄⠂⠁⠄⠂⢁⠠⠁⡐⠠⠐⠀⡐⠀⠠⣼⠟⣿⠁⢹⣿⣧⠀⡈⠀⠂⠠⠐⠠⠈⠐⠠⠐⡀⠄⠂⠄⠂⠌⠠⢀⠂ +⡜⠠⠌⠠⢁⠂⠐⡀⠂⢁⠐⠠⢀⠂⡀⠄⠹⣿⣏⠛⠒⠾⠷⣄⠀⠙⣞⣿⠋⣀⣴⣋⣽⡿⠋⠀⠀⢈⠠⠐⠠⠂⠁⡀⠄⠐⡀⠂⠌⢀⠁⠂⠌⠐⡈⠐⠠⢀⠡⠀⠐⠠⢀⠠⠐⣸⠏⢰⠇⢀⣼⢷⣿⡆⠀⠀⡁⠐⠈⠄⡁⠌⠐⠠⢀⠂⡁⠐⠈⢀⠒⠀⠀ +⡌⠱⢈⠐⠠⢀⠁⠠⠁⠂⢈⠀⢂⠂⠠⠀⠀⣨⣿⢿⣶⣒⠲⢮⣿⣶⣼⣧⣾⣭⣿⠟⠉⠀⢀⠐⠈⠠⡐⠈⡀⠄⢁⠠⠈⡀⠄⠁⠄⠂⠈⠐⠀⡁⠠⠈⠠⠀⢀⠂⠁⠀⠆⠀⢰⣏⣴⢺⣴⠟⠁⣸⣿⡇⠀⠂⢀⠈⡐⠠⠀⠄⡁⢂⠠⠐⢀⠡⠁⠂⠠⢈⠀ +⡅⢣⠈⠐⡀⠂⠈⠄⠡⠈⠄⡈⠄⠐⠀⠁⣰⣿⠓⠒⣛⣻⠟⠛⣩⣿⣯⠙⡯⣿⡆⠀⢀⠀⠂⡈⠌⠁⠠⠐⠀⡐⠀⢂⠁⢀⠀⠂⢀⠐⠀⠂⠁⠀⠠⠐⠀⠐⠀⡀⠨⡄⠀⠄⣟⡼⠁⢸⣇⡤⠞⠁⣿⣧⠀⠐⠀⠠⠐⠠⠁⠠⠐⢀⠂⡁⠂⡁⠐⠈⡐⠀⠀ +⡜⢠⠘⠀⠄⡁⠈⠄⠡⠐⡀⠠⢀⠐⠀⠄⠸⣿⡟⢉⡽⢛⣿⡿⠉⠀⢸⣧⡷⣾⡇⠀⡀⠌⠐⠠⠐⢀⠐⡀⠡⠀⠌⡀⠠⠀⠠⢀⣤⣤⣬⣄⣈⡐⠀⠂⠄⠈⠳⣄⠀⣷⠀⢸⡿⠀⠀⢸⠏⣀⣤⢾⣿⠃⠀⠄⠂⠁⠀⡁⠄⡁⠂⠠⠐⠀⠄⡀⠄⠁⠄⡈⠀ +⡜⠠⠌⠐⢠⠠⡁⠂⢁⠐⠀⡐⠀⠀⢂⠀⠄⠹⢿⣿⣴⣯⠏⠀⠀⠀⣼⢸⣽⣷⠇⠀⡀⠄⠁⠠⠀⢂⠠⢀⠁⢂⠐⡀⠐⠀⠐⠀⠛⢾⣟⠿⢭⣙⡛⠶⣤⣂⡁⠈⢳⡸⡆⣹⠃⠀⢠⠟⣉⣡⣤⣾⠿⢷⣦⣄⠀⠄⠁⠀⢂⠐⠉⡐⠀⢁⠠⠀⠂⡁⢂⠐⠀ +⡌⠱⢈⠐⠠⠐⠀⡐⠀⠠⢁⠠⠁⠠⠀⠂⢀⠀⢀⠈⠉⠀⠀⠀⠂⡀⠹⠿⠛⠁⠀⠀⠠⠀⡈⠄⢁⠂⠠⢀⠂⠄⠂⡐⠀⢈⠠⠀⡀⠄⠙⢷⣦⣬⣽⢯⣍⠉⠉⠓⠦⢽⣽⣼⣀⡰⣟⣫⣷⡿⣛⡥⢞⣋⠙⣿⣆⠐⠀⠁⡀⠂⡐⠀⡈⠠⠐⢈⠀⡐⢀⠂⠀ +⢣⠑⡨⠀⢂⠐⠀⠄⠈⠄⡀⠂⢁⠐⡀⠁⠀⠀⠂⠀⠠⠐⠀⠁⠀⠄⡀⠀⠀⡀⠄⠀⠁⠠⢀⠐⡀⠂⠁⠄⠂⠄⡁⠐⡈⢀⠀⠄⠀⠄⠂⢀⠈⠛⠷⣶⣾⣛⠓⣲⡶⢦⣼⣿⣿⣟⡉⠁⣀⣈⡿⠯⢭⣁⠉⣿⡗⠀⡀⢂⠀⡐⠀⡁⠄⠂⢁⠂⠐⡀⢂⠐⠀ +⢣⠘⠠⠐⡀⠄⢁⠈⡐⠠⢀⠁⢂⠠⢀⠡⠈⠐⢀⠁⠀⠐⠀⠂⠄⡀⠠⠀⠄⡀⠄⠐⡈⠐⡀⠄⠠⢁⠈⠄⡁⠂⠠⠁⠄⠂⡀⠂⠄⡀⠁⠂⠈⠄⢀⠀⠀⠉⠛⠛⠛⣿⣯⢿⠘⣿⠏⠉⠛⠳⢭⣓⣦⣬⣽⠟⠁⠀⠀⡀⠠⠐⠠⠐⡀⠌⢀⠂⠁⠄⠂⠄⠀ +⠣⢌⢁⠂⠄⠐⡀⢂⠐⠠⠀⠌⡀⠄⠂⠠⠈⢀⠠⠀⡈⠄⡁⢈⠀⠐⠀⠂⠐⡀⠐⠠⢀⠡⠀⠄⡁⠂⡀⠂⠄⠁⠂⢁⠂⠐⡀⠡⠀⠄⠂⡁⠀⠀⠂⠀⠁⠠⠀⠄⠀⠙⣷⣞⣷⡻⡄⠀⠄⢀⠀⢈⠉⠉⠀⡀⠄⠈⠀⢀⠐⠠⠁⠂⠄⡐⠠⢈⠐⢈⠐⠈⠀ +⠇⡌⠠⠂⠌⡀⠐⡀⠂⠄⢁⠂⠄⠠⠁⡐⠀⠀⡀⢤⣴⣶⣤⣄⠈⠐⠀⠈⢀⠀⠁⠂⠄⠂⠈⠄⠠⠁⠐⠈⡀⠡⠈⠀⠄⠁⠠⠁⢂⠠⢁⠠⠁⠌⠐⡀⠂⠄⠀⠂⢈⠀⠀⠙⢿⣽⣿⣄⠈⠀⡈⠀⠄⠁⢀⠀⢀⠠⠈⠠⠐⢀⠡⠈⠄⠐⡀⠂⠄⠂⡈⠐⠀ +⢣⠘⢠⠁⡐⠀⡁⠠⠁⢂⠠⠈⠄⠂⠁⠀⡀⠂⢰⣿⣟⠻⣭⡙⠿⣦⡀⠂⠠⠐⠈⠀⠄⠈⠐⠀⠂⢈⠀⠁⠀⠄⠀⡁⠀⠂⠀⠐⠀⡀⠂⡀⠂⠌⠐⡀⠌⠐⠠⠀⠂⠠⠈⢀⠀⠀⠉⠉⢀⠠⠐⠀⠂⠄⡀⠂⠄⠠⠈⠄⠡⠀⢂⠡⠐⠀⠄⠡⠐⠠⢀⠡⠀ +⢣⠘⠠⠐⡀⢁⠠⠁⠂⠄⡐⠈⠄⠈⠄⢁⠀⠄⢻⣿⡇⠀⢈⡷⢤⣬⣿⣄⠀⠀⣴⠂⠀⠈⠀⣤⠁⠀⡀⠈⢀⣈⣠⣤⣥⣀⡁⠀⠂⢀⠐⢀⠡⠀⠡⢀⠐⢈⠐⡀⢂⠐⠀⡀⠠⠁⠠⠁⠌⠐⠀⢁⠈⠄⠐⢈⠠⠁⡐⠈⠄⠂⠄⠂⠄⠡⠈⡐⠠⠁⠄⠂⠀ +⠣⢌⢁⠂⠐⠠⠀⢂⠡⠀⡐⠈⠄⡈⠄⠂⠈⠀⣿⣾⠟⠶⢾⡇⠀⠀⠙⢿⣆⢼⡛⠀⠀⠂⣰⠟⢀⣠⣴⡛⠋⣩⡭⠟⠛⣿⣷⠀⠈⢀⠀⢂⠠⢈⠐⡀⢈⠠⠀⠄⡀⢂⠁⠠⠐⠂⠄⠁⡀⠂⢈⠀⢂⠈⠄⠂⡀⢂⠠⠁⢂⠈⡐⠈⠠⠀⠡⠐⢀⠁⠌⠠⠀ +⠇⡌⢠⠈⠄⡁⠐⡀⠂⠁⠠⢈⠐⡈⠠⠁⠌⠀⣿⣿⡀⠀⠀⢳⣄⠀⠄⠀⢻⢸⠆⠀⢠⣴⣷⠾⠛⠋⡉⠉⢛⡧⠀⢀⣼⣿⠇⠀⠂⠠⠀⢂⠠⠀⠂⠄⠂⠠⠁⠂⠐⠠⠈⠄⠡⠈⢀⠂⠠⠁⠂⠈⠄⠂⠠⢁⠐⠀⠄⡈⠄⠐⡀⠁⠂⡁⢂⠁⠌⠠⠀⢁⠀ +⢣⠘⠠⠐⠠⢀⠁⠠⠈⠄⡁⠂⡐⠠⠐⢀⠀⠀⠻⣿⣷⠤⠤⣤⣝⣦⡀⠀⢸⡾⡇⡴⣿⠞⠁⠀⠀⢄⣠⠶⠿⠶⢶⣿⣻⠏⠀⠀⠁⠠⠐⡀⠄⡈⠐⠠⢈⠀⡁⠂⢁⠐⠈⠀⠐⠈⠀⠀⠐⡀⠡⠈⡐⠈⡀⢂⠈⠄⠂⡐⠀⢂⠐⠈⠄⠐⠠⠁⢂⠀⡁⠂⠀ +⢃⡈⢁⠈⠀⠀⠈⡀⠁⠀⠀⠁⢀⠀⠀⢀⠀⠁⠀⠈⠛⣿⣿⣤⣤⣿⣿⣄⡀⣇⣿⡜⢁⣀⣀⣤⣼⣏⠁⠀⠀⠀⣸⣿⡏⠀⢀⠀⠁⢀⠀⠀⡀⢀⠁⠀⠀⠀⡀⠁⠀⠀⣄⣧⣤⣀⠈⠀⡀⠀⡀⠁⠀⢀⠀⠀⠀⢀⠁⢀⠁⠀⠀⠁⡈⠀⢁⠀⠀⡀⠀⠈⠀ +⡆⡘⠠⠈⠄⡈⠄⠐⡈⠐⢈⠀⠂⡀⢂⠠⠀⠂⢀⢠⣴⣿⢿⠟⠋⠉⠉⢉⣽⣿⣿⣾⣿⣿⣥⣄⡀⠈⠉⢛⣶⣿⡿⠏⠀⠀⠀⠄⢀⠂⢀⠁⠀⠂⠀⠂⠌⢀⠀⡁⢀⣶⢿⣿⣾⣿⣧⡀⠀⠄⠐⠀⠡⠀⠄⡈⠄⠂⠐⠠⠈⠄⠂⡁⠠⠈⠀⠄⠂⠠⠁⢂⠀ +⢆⠱⢈⠐⠠⠀⠄⠡⠐⠈⡀⠄⢁⠠⠀⠠⠀⠐⢀⣿⣟⡴⠞⠦⣤⠶⣺⠏⣡⡿⠀⣿⢦⠈⠙⡿⠿⣿⡿⣿⡟⠛⠁⠀⡀⠂⠈⠀⡀⠀⠂⠀⠄⢀⡁⠀⠠⠀⠂⢀⣾⢃⡾⠃⠀⣼⣿⡇⠀⡀⠂⢁⠠⠁⡐⢀⠂⠌⠠⠁⡈⠄⢁⠀⠂⠁⠌⡐⠈⠠⠁⠄⠀ +⢎⠰⢈⠐⠠⠁⡐⠠⠈⠄⡀⠂⠄⠠⠁⡀⠄⠀⠸⣿⠉⣀⡴⢋⡵⠞⢻⡶⣿⢿⡿⢏⡘⣷⡼⠓⢦⡀⣽⣿⠋⠀⠀⢀⠀⠠⢀⠁⠀⠄⠁⣰⣶⢦⣄⡈⠀⠠⠀⣼⢣⣾⣇⠀⣼⣻⣿⣷⣄⠀⠠⠀⢀⠂⠠⢀⠂⡐⠠⡁⠄⠄⠂⠠⠁⡈⠐⡀⠌⢀⠡⠈⠀ +⢎⠰⡈⠐⡀⢁⠀⢂⠡⠀⠄⠡⢈⠀⠂⢀⠀⠐⠀⢻⣿⣭⡖⣋⣠⣾⠟⠁⠀⢿⡇⠀⠙⢳⡙⣦⠀⣿⡽⠃⠀⠄⠂⠀⡀⠂⠄⠈⡀⠀⠀⢹⡻⣾⡿⣿⣷⣄⡀⣿⠏⠁⢻⡞⣿⠟⣩⣿⣿⡄⠐⡀⠠⠐⠀⢂⠐⠈⢀⠠⠀⠂⠄⠡⠐⠀⠡⢀⠐⡀⠂⡁⠀ +⡃⢆⠑⠠⠐⡀⠈⠄⡐⠈⡀⠂⠄⡈⠐⡀⠀⡁⠄⠀⠙⠛⠟⠛⠋⠁⠀⢀⠀⠸⣿⣄⣀⣀⣿⣼⡿⠏⠁⠀⡀⠀⠐⠠⠐⠈⠠⠁⠄⢂⠁⠈⢷⡌⣷⣌⣙⢿⢿⡏⠀⠀⢸⡟⢉⣴⠏⢈⣿⡇⠀⠀⠄⠠⠁⠄⠂⢁⠠⠀⠌⠐⠈⠄⠂⢁⠂⠄⠂⠠⠁⠄⠀ +⡍⢢⠉⠠⠐⢀⠡⠐⡀⠐⡀⢁⠂⢀⠡⠀⠄⠀⡀⠌⠀⠄⠠⠀⠐⠀⠂⠀⠠⠀⠈⠉⠛⠟⠛⠉⢀⠀⠐⠀⢀⠀⢁⠂⠁⠌⢀⠁⢂⠀⠄⠂⠀⠻⣇⡀⠉⠻⣿⡏⠀⠀⢸⣧⡾⢋⣤⣾⣿⣏⡀⠐⠀⠠⠐⠈⡀⠂⠠⠈⠄⡈⠐⠠⠁⠂⡈⠄⠈⠄⠡⠐⠀ +⡑⢂⠌⠠⠁⠂⡀⠂⠄⢁⠀⠂⠌⠀⠄⡁⠂⠐⡀⠄⠠⠀⠄⠠⠀⢂⠐⠈⠀⠄⠁⠂⠈⢀⠀⠠⠀⠀⡀⠐⡀⢈⠀⢂⠡⠈⠄⠐⡀⠈⠀⠄⠁⠀⠙⣷⣀⠀⢈⡇⠀⠀⣼⢋⣴⡿⠋⣸⠿⢼⣿⣆⠈⠀⠄⠂⢀⠁⠂⠡⠐⠀⡁⢂⠁⡐⠠⠈⠐⡈⠐⠠⠀ +⡍⢢⢈⠐⠠⠁⠠⢈⠐⡀⢈⠐⠠⠁⢂⠐⡀⠡⢀⠂⡐⠀⠌⢀⠂⠄⢂⠐⡀⠂⠄⡀⢁⠀⠠⠀⠠⠀⠐⠀⡐⠠⠈⠄⠂⡁⠐⠠⠐⠀⡁⠠⠈⠀⢶⡈⡿⢦⡀⣧⠀⢰⣿⣿⣯⡤⢾⣭⣤⠴⢿⣿⠈⠀⠄⠂⠠⠈⠠⢁⠂⢁⠐⠠⢀⠐⠠⠁⢂⠠⢁⠐⠀ +⡜⢠⠂⡈⠄⠁⠂⠄⠂⡀⠂⠌⠀⠂⠄⠂⡐⠀⢂⠐⠀⡈⠄⠂⠠⢈⠠⠀⠄⡁⠂⢀⠂⠀⠁⠀⠁⠄⠐⡀⢀⠂⠁⠌⠀⠄⡁⠐⠠⠁⡀⠄⠀⠂⠘⢧⣹⣄⣻⣽⣄⣿⠟⠀⠀⠀⠄⢀⡷⠤⢾⣿⡇⠀⠠⠐⢀⠁⠂⠄⢂⠠⠈⠐⡀⠈⠄⠡⠀⡐⠠⠈⠀ +⡜⠠⠒⠀⠌⠠⠁⢂⠐⡀⠐⠠⠁⡈⠄⠒⠀⠌⠀⠄⠂⠄⠂⡁⠐⠠⠐⠈⡀⠄⠁⠄⠐⠈⠀⢄⣶⣶⣄⠀⠂⢈⠐⠀⠌⢀⠐⡈⠄⠐⡀⢀⠂⠠⢀⠀⠁⠉⠛⠛⠿⣷⣾⢟⡓⠒⢺⡛⠶⣤⣼⣿⠃⠀⠁⠄⠠⠈⠐⡈⠀⠄⡈⠐⡀⠁⠌⡀⢡⠀⡠⠁⠀ +⡌⠱⢈⠐⠈⠄⠂⠄⢂⠀⡁⠂⢁⠐⢀⠡⠈⠀⠌⠐⠠⠈⡐⠀⡁⢂⠁⢂⠠⠈⠄⠂⠀⡐⢀⣾⣟⡟⣿⡄⠐⠀⠠⠈⡀⠂⠠⢀⠂⠐⠠⢀⠀⠄⠀⠐⠈⠠⠀⠄⠀⠙⠿⠏⠙⠳⢾⣧⣴⣿⡿⠃⠀⡐⠈⢀⠠⠁⠂⠄⠡⠐⢀⠁⠄⢈⠐⢀⠂⠐⠀⡈⠀ +⡅⢣⠈⠄⡁⢂⠈⡐⠀⠔⠠⢈⠀⠄⠂⢀⠂⠁⠌⢀⠁⠐⠀⠁⠠⠀⠌⠀⠄⡁⠐⠀⠐⢀⢸⣿⢻⢻⣹⣧⠀⠈⠀⠄⠠⠁⠂⠄⡈⠄⢁⠂⡀⠂⠡⢀⠂⡀⠈⢀⠈⠄⠀⡀⠄⠀⡀⠀⠉⠀⠀⠀⢀⠀⠄⢀⠐⠠⠁⢂⠐⢀⠂⡐⠈⠠⢈⠀⠂⢁⠐⡀⠀ +⡜⠠⠌⠐⠠⢀⠂⠠⢁⠂⠁⠄⠈⠠⢈⠠⠀⠡⠀⠂⢀⠈⠄⠂⠁⢀⠠⠈⠀⢀⠐⠈⠀⢀⣼⣿⣾⠈⢧⣿⠀⠠⠁⠀⠂⠄⡁⠂⠄⠐⡀⠂⡀⢁⠂⠄⠠⠐⢁⠂⠈⡀⢀⠀⠀⡐⠀⠐⠀⠈⠀⠀⠂⠀⠄⠂⡈⠄⠂⠄⠂⡀⠂⡐⠈⠠⠀⠂⢁⠀⠂⠄⠀ +⡌⢡⠘⠠⢁⠂⠂⡁⠤⠐⠈⠀⠌⠐⡀⠂⠁⠄⠂⠠⠀⣠⣦⣤⣌⡀⠀⢀⠈⠀⡀⠀⢡⣾⣿⢿⣻⠀⢸⣿⡄⠀⠠⠁⢈⠀⠄⡁⠂⡐⠠⠁⡀⠄⠂⢌⠠⠁⠂⢀⠁⠠⠀⠌⠐⠠⠐⠠⠈⠄⡁⠌⠠⢁⠠⢁⠠⠐⠈⠠⠁⡀⠡⠀⠡⢀⠁⠂⠄⡈⠐⢈⠀ +⡑⠢⢁⠐⡀⠌⠐⠀⡀⠐⢈⠐⠈⡀⠐⡈⠄⡀⠄⠀⠐⣿⣿⣟⡛⠻⠷⣦⣄⡁⠀⠀⣾⣿⢯⣾⣿⡀⠀⣿⡇⠀⠂⠐⠀⠈⠠⠐⠀⠄⠠⢁⠀⠂⠌⠠⠀⠂⢁⠠⠈⠄⡁⠂⠡⠐⠠⠁⠌⡀⠄⠠⢁⠠⠀⢂⠀⠂⡁⠂⢁⠠⠐⠈⠠⢀⠂⡁⠄⠠⠁⠂⠀ +⢣⠑⡈⠐⡀⠌⠐⡀⠄⢁⠠⠈⠐⢀⠡⠀⠄⠀⠐⠈⠀⠙⣿⣦⡭⠿⠶⠦⣽⣻⢶⣄⢻⣿⡻⣯⢿⡇⠀⢸⡇⠀⠀⠂⠈⠀⠄⠂⠁⡈⠐⠀⢂⠁⠂⢁⠈⠄⠂⡀⢂⠐⠠⢀⠡⠈⠄⠂⡐⠠⠀⡁⢂⠠⠈⡀⠌⠐⢀⠁⠂⠠⠈⠄⡁⠠⠐⡀⠄⠡⢈⠐⠀ +⠣⢌⠐⠠⠀⠂⡐⠀⠂⠄⡐⢈⠐⠠⠐⢈⠀⠂⢁⠀⠂⡀⠘⣯⢯⠙⠓⠶⢤⣈⡙⢻⣿⣿⠳⣼⡌⣷⠀⢸⡇⠀⢀⣴⡶⠆⢀⠠⠁⠠⢈⠐⡀⠄⢁⠂⢀⠂⡐⠀⠄⡈⠄⠂⠠⠁⢂⠐⢀⠂⠁⡐⠠⠐⢀⠐⠠⠈⡀⠌⡀⠡⠈⠄⡀⢁⠂⠄⠠⠁⠂⠄⠀ +⠃⠌⠀⠠⠁⢀⠀⠌⠐⡀⠄⠂⡐⠀⡁⠂⢈⠐⡀⠀⢂⠀⠄⠘⢿⣿⣓⣶⣾⡛⠿⣛⣷⢿⣷⣿⣧⢻⡄⢸⡇⣰⣿⢿⠀⠄⡀⠠⠀⡁⠄⠂⠠⠐⡀⠐⡀⢂⠠⠁⡐⢀⠂⠌⢀⠡⢀⠈⡀⠂⢁⠠⠀⡁⢀⠂⠠⠁⡀⠂⠐⡀⢁⠂⠄⠂⡈⠄⠁⠌⠐⠈⠀ +⠠⠀⣶⣶⡆⠀⡀⠂⠐⡀⠄⠡⢀⠂⠄⡁⠂⠠⢀⠡⠀⠂⡐⠀⢠⡿⣿⣡⣈⣉⣷⠛⠋⠓⠻⣿⣿⣯⡇⣸⢻⠟⠁⠀⠀⡀⠀⠄⠐⢀⠐⡈⠄⠂⠠⢁⠠⢀⠂⠐⢀⠂⠄⠂⠄⠂⠄⠐⠠⠁⠂⡐⢈⠀⢂⠠⠁⡐⠀⡁⢂⠀⢂⠐⡀⢂⠐⠈⠠⠈⠄⠡⠀ +⠀⠀⢾⣿⡇⠐⠀⡐⠠⠀⠂⡁⠄⡀⠂⠄⢁⠐⠠⠐⢈⠐⠀⠀⢿⢿⣡⣤⠤⠭⠽⠶⣄⣀⡀⠀⣛⣿⣷⣿⠛⠀⠐⠠⠁⢀⠀⠄⡁⠂⠐⠠⠐⠈⡐⠀⠄⠂⡈⠐⡀⠈⠄⠂⡈⠐⡈⢀⠡⠈⠄⠁⠄⠂⠠⢀⠂⠄⠂⠐⡀⠈⠄⢂⠠⠀⠌⠠⠁⠌⡐⠠⠀ +⠀⠀⣻⣿⡇⠀⠄⢀⠠⠁⢂⠐⡀⠐⢈⠐⠠⠈⠄⢁⠂⠀⠌⠀⠘⠿⣷⣤⣶⣛⣋⣉⣭⡽⠟⣛⣭⠟⠋⠀⠀⠠⠀⠁⠄⠂⢈⠠⠐⠈⠠⠁⠄⡁⠐⡈⢀⠂⢀⠁⠀⢁⠀⠂⠀⡁⠐⡀⠐⢈⠠⠈⠀⠄⡁⠄⠂⡐⠈⡐⠀⡁⠂⠄⠂⡈⠄⡁⠐⠠⢀⠐⠀ +⠀⠀⣽⣿⡅⠐⠀⠂⢀⠂⠄⢂⠠⠐⡀⠌⠐⠈⠐⢀⠠⠐⠀⠐⡀⠀⠀⠈⠉⠉⠉⠁⠀⠀⡀⠉⠁⠀⠄⠂⡁⠂⢁⠈⢀⠂⠄⠂⠄⠁⢂⠡⠀⠄⠡⠀⠄⠀⠂⠀⠁⠠⠀⠄⠁⠠⠁⡀⠌⠀⠄⠂⡁⠂⠠⠐⠠⢀⠂⠄⡁⢀⠂⠌⡀⠄⡐⠠⠈⠐⢀⠈⠀ +⠀⠀⣾⣿⡇⢀⠂⠁⠠⠀⠂⠄⠂⠡⠐⠂⠁⠠⠁⠠⢀⠂⡈⠀⢀⠈⠀⠂⠀⠄⠀⠂⠈⠀⠀⠀⠄⠁⢂⠐⠀⡁⠂⠈⠀⠄⡈⠐⠈⡐⠀⢂⠈⢀⠂⠀⠄⠂⠀⢁⣠⣴⣾⣶⡌⠁⠐⢀⠠⠁⠂⡐⠠⠁⠠⢁⠂⠄⠐⠠⠐⠀⡐⠠⢀⠐⢀⠂⠡⢈⠠⠐⠀ +⠀⠀⣻⣿⡇⠀⠠⠈⠐⠠⠈⡐⠂⢁⠐⠀⠌⠀⠌⡐⠀⡐⠠⠁⡀⢂⠐⡀⠂⠄⠂⡐⢀⠂⠐⡈⠠⠁⠠⠀⠡⠀⠠⠐⠀⡀⠀⠌⠐⠀⢈⠀⠐⠀⢀⠈⠀⢀⣴⠟⣻⣿⣿⡿⠁⠀⢈⠀⠐⡈⢀⠐⠠⠁⠂⠄⢂⠈⠄⡁⠂⢁⠐⠠⢀⠂⠄⠠⠁⠠⠀⡐⠀ +⠀⠀⣿⣿⡇⠐⠀⡐⠈⡀⠁⠄⢁⠀⠂⡈⠄⠈⠄⠐⠠⢀⠡⠐⠀⠄⠂⡀⠌⠠⠁⡀⢂⠈⡁⠄⠁⡀⢡⣶⣶⣶⣦⣤⡀⠀⠄⠠⠀⠐⠀⠠⠀⢨⡀⢀⣰⣿⡤⠖⣛⣿⣿⠃⠀⡀⠂⠀⢂⠐⡀⢈⠐⠠⠁⡐⠀⢂⠐⠀⠡⠀⠌⠐⡀⠐⡈⠠⠈⠄⠐⡀⠀ +⠀⠀⢾⣿⡄⠀⠁⢀⠐⠀⠌⡀⠂⠠⢁⠀⠂⡁⠌⠠⠁⡀⠂⠄⠡⢈⠐⠀⡐⠠⢁⠐⢀⠂⢀⠂⠄⠀⠹⣿⡾⣿⣯⣉⣉⣛⣶⣤⡀⢸⡇⠀⠀⣸⢡⡾⠉⣴⠛⣉⣩⣿⣿⡄⠀⢀⠐⠀⠂⠄⡐⠠⠈⠄⠐⡀⠡⠀⡈⠄⠡⠐⠠⠁⡐⠀⠐⡀⠡⢀⠡⢀⠀ +⠀⠰⠶⠿⠶⠄⠁⠠⠀⠌⠀⠄⠡⠐⡀⢈⠐⠀⠌⠐⡀⠄⡁⠂⡐⢀⠂⠁⠠⢁⠠⢈⠀⠄⠂⠀⠂⢀⠀⠈⢿⣿⣿⠥⠾⠽⠧⣌⠙⢦⣙⢦⣠⢯⡟⣀⠾⠉⠉⠉⣉⣽⡿⠁⠀⡀⠂⢈⠐⠠⠀⠄⡁⠈⠄⠠⠁⠄⡐⢀⡁⠌⠀⠂⠀⠌⠐⡀⠐⠠⢀⠂⠀ +⢀⠠⣼⣾⡗⠀⡀⠁⢀⠂⠡⢈⠐⢀⠐⠠⠈⡐⠈⠄⡀⠂⠄⡁⢀⠂⡐⠈⠐⠠⠐⠀⠂⡀⢂⠐⠈⠀⠐⠀⠀⢻⡿⣷⠴⠒⠛⠉⠙⠒⢮⣷⣿⣿⣾⣭⡶⣶⠿⠿⢿⣍⠀⠀⡀⠀⡐⠀⠌⡀⠡⠐⡀⠡⠐⠠⠁⠄⠄⠂⠄⠐⠈⡀⢁⠂⠡⠐⠈⡀⢂⠐⠀ +⠀⡀⢈⣿⡇⠠⠀⠌⢀⠐⡀⢂⠈⡀⠌⠠⠁⠠⠈⠄⡀⢁⠂⠄⠠⠐⠀⠌⡀⢁⠐⡀⠁⠄⡀⠂⠌⠀⠈⡀⠄⠈⠻⠿⣶⣶⣶⣶⣿⣻⡯⢿⣿⣿⡿⣟⣋⠛⢭⣍⣉⣻⣿⣄⠀⠐⠀⡐⠠⢀⠁⡐⠠⠐⢀⠡⠀⠌⠠⠈⡀⠂⢁⠐⡀⠠⠁⢂⠁⡐⢀⠂⠀ +⠐⠀⣾⣿⡗⠀⠠⠀⡀⠂⡀⢂⠐⠀⠄⡁⠂⠁⠌⡀⠐⡀⢂⠈⠄⡈⠐⡀⠐⡀⠂⢀⠁⠂⠄⡈⠄⠡⠀⠀⠄⠂⠀⠀⣴⣮⠗⣫⡟⢁⡴⣻⢏⣿⢏⢦⡈⢯⡹⣗⠮⢭⣿⡿⠀⠀⠂⢀⠂⠄⠂⡀⢂⠁⡀⠂⠡⠐⢀⠡⠀⠌⢀⠂⠄⠂⡁⠂⠠⠐⠠⠈⠀ +⠀⠈⠛⣻⡃⠀⠁⠄⢀⠁⠄⢂⠈⠐⠠⠐⠈⡐⠠⢀⠁⠄⠂⡀⢂⠠⠁⡀⢂⠐⠈⡀⠌⠐⡀⠄⡈⠐⡀⠁⠠⠐⠀⢸⣿⡷⢚⡽⡷⣹⢩⠗⣻⢸⡎⢧⡹⣄⣳⣤⣽⣾⡿⠁⠀⠂⢁⠀⠌⡀⠂⠐⡀⠐⢀⠁⢂⠐⠠⠐⠈⡀⢂⠐⡀⠂⠄⡁⠂⠄⡁⢂⠀ +⠀⠁⢘⣿⡏⠀⠄⠂⠠⠈⢀⠂⡈⠄⠁⠌⠐⢀⠡⢀⠂⠐⠠⠀⠄⠂⡐⠀⠄⡈⠐⠀⠌⡐⠀⡐⠠⠁⠠⠈⠀⠄⠀⡀⢻⣿⣯⣼⣡⣇⡞⣰⡯⠀⠀⢀⠙⢾⣿⣿⠿⠋⠀⢀⠐⠀⢀⠂⠄⢀⠁⠂⠄⠁⠂⠈⠄⡐⠠⠁⢂⠐⢀⠂⠄⡈⠐⡀⠐⠠⠐⡀⠀ +⠀⠈⢻⣿⡇⠈⠀⡐⠀⠡⢀⠂⠄⠠⢁⠈⠄⠂⠄⡀⠂⠌⢀⠡⠐⠠⠐⠈⠠⢀⠡⠈⠠⠐⡀⠐⠠⠁⠂⠁⠄⠂⠐⠀⡀⠙⠻⢯⣿⣿⠿⠋⠀⠀⠐⠀⠠⠀⠀⠀⠀⠀⠈⠀⠀⠂⠄⠐⢈⠠⠈⠐⡈⠠⠁⠌⠠⠀⠄⡁⠂⡀⢂⠐⠠⠐⠠⢀⠁⢂⠁⠐⠀ +⠀⠐⠳⣿⡇⢀⠂⠄⠈⠄⡀⠂⠌⠀⠄⡈⠐⢈⠀⠄⠐⡀⠂⠄⠂⠁⠄⡁⠂⠄⠂⠈⠄⢁⠠⠈⠄⡁⠠⢁⠂⡈⠄⠁⠄⡀⠂⡀⠀⠀⢀⠠⠀⠂⠀⡀⠁⠀⠂⠀⠀⠂⠁⡀⠡⢈⡐⠈⡀⠠⢀⠁⠄⢂⠈⠠⠁⢂⠐⠠⠁⠠⠀⠌⢀⠂⠡⠀⠌⠠⠈⢀⠂ +⠠⠀⠿⢿⡏⠀⠀⠄⢈⠀⠄⠡⢀⠁⠂⠤⠁⠂⡀⠌⠀⠄⡁⢂⠈⡐⠠⠐⠈⡐⠈⠐⡈⠠⢀⠂⡐⠠⠐⠠⡐⠀⠐⠈⡀⢀⠀⡀⠀⠁⠀⡀⢀⠐⠠⠐⢀⠁⢂⠁⠄⡁⢂⠐⠄⠁⡀⠐⢀⠐⡀⠈⠄⠂⠠⠁⠂⠄⠂⢁⠂⠁⠌⡐⠀⠄⠡⢈⢐⠠⠁⠂⠀ +⢤⣁⣀⠀⠀⠀⠐⠀⠠⠈⠀⠂⠄⠢⠈⠀⠀⠁⠀⠄⠁⠂⠀⠄⠂⠀⠁⠠⠁⠐⠈⠀⠄⠁⠀⠄⡀⠁⠌⠐⠀⠈⠀⠂⠐⠀⠐⠀⠌⠀⠁⠀⠂⠈⠐⠀⠂⠈⠀⠂⠠⠐⠀⠂⠀⠁⠀⠐⠀⠂⠀⠁⠂⠁⠄⠁⠈⠠⠈⠀⠂⠁⠐⠀⠈⢀⠂⠀⠂⠀⠂⠈⠀ diff --git a/homes/data/ascii-art/flower-1.txt b/homes/data/ascii-art/flower-1.txt new file mode 100644 index 0000000..9a85694 --- /dev/null +++ b/homes/data/ascii-art/flower-1.txt @@ -0,0 +1,39 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡿⣸⣿⡀⠀⠀⠀⠀⠀⣠⣴⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡇⣻⣿⡀⠀⠀⢀⡔⠿⢧⡋⢹⢃⠙⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⡟⠀⢿⣿⡇⠀⣠⡾⠃⠀⡼⠁⣾⠆⠀⣸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⠀⠘⢸⣿⣇⣴⠟⠁⠀⢸⡀⢸⠧⢠⣾⠋⠀⠀⠀⠀⠀⠀⢀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠗⠀⠀⠸⢋⡚⢉⡤⣴⠞⢰⠁⡜⢤⣿⠇⠀⠀⠀⠀⠀⠀⡐⠈⡄⢸⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠁⠀⠀⢰⣯⠀⢫⡌⣿⡆⠘⢰⢳⢸⡇⠀⠀⠀⠀⠀⠀⢰⠈⠂⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⢧⠀⢀⣦⢟⡻⡽⡼⣇⠸⠀⠀⣼⠠⣿⠃⠀⠀⠀⠀⠀⠰⠠⢌⠀⠁⢀⢣⠂⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣝⡄⢾⣿⣌⢻⠥⢓⡯⠀⠂⠀⡏⣷⣿⡀⠀⠀⠀⠀⠀⡅⠡⠂⢌⠀⠠⠈⠄⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⣵⢿⣼⣿⣿⣿⡀⢏⠀⠳⡀⠀⠀⣇⢹⣿⣇⠀⠀⠀⠀⢰⠈⡐⠡⠌⠀⠀⠃⠀⠄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣿⡇⡟⣿⣞⡬⢿⡈⢆⠐⡁⠀⠀⣿⣸⣿⣿⡆⠀⠀⠀⠀⠁⡐⠠⠈⠀⠀⠀⡁⠠⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠸⡿⡷⡈⢻⣿⣿⣣⠙⡄⠂⠀⢁⠀⢿⣼⣿⡿⠃⠀⠀⠀⠂⠀⠀⠀⠐⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⡤⢶⣶⣿⣉⠛⠯⡹⢿⠉⣦⣄⣀⡙⣽⠱⠈⣿⣿⣿⢷⣄⠠⠁⠂⠀⣾⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀ +⠀⠀⣀⡴⠾⠛⡁⠀⢿⣯⡳⠜⡠⠁⠌⠂⠙⣿⡌⣟⣾⣑⢢⢿⡿⣙⠿⣬⢢⠀⠀⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢀⠴⠧⢶⢶⣶⡿⠁⢈⡉⠣⢬⠁⠀⢀⠀⠀⠈⠏⠠⠌⡳⠭⡜⢔⢫⠞⠴⠃⠀⠀⠀⠸⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠘⢾⢿⣿⣆⣆⠐⠀⠤⣀⠀⠀⠀⠠⠀⠙⢦⡀⠀⠁⠀⠀⠁⢈⠨⠳⣶⡁⢃⠒⠀⠀⠀⢹⣿⠀⠀⠀⠀⢀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠻⣿⣯⣌⢧⠐⠀⠐⠈⠑⣂⠤⢄⡀⠀⠀⠈⡄⣐⡂⠀⠀⠀⠀⠈⢿⠧⠀⣀⠀⠀⢸⣿⣄⠀⢠⣾⣿⣟⡻⢟⡻⠖⡶⢄⠀⠠⢀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢻⣻⣬⠻⡖⡄⠀⠄⠡⡀⣉⠒⠂⠉⠐⠀⠀⢄⣉⡙⠳⢶⣶⡤⠤⠳⣆⣀⠰⠀⢸⡿⣻⣦⡟⣿⡛⣮⠱⡃⠐⠠⠀⣿⡄⠐⢀⣤⣶⠾⠋⠉⠀⠀ +⠀⠀⠀⠀⣿⣿⡥⠉⣖⡘⢦⡀⡘⢥⣂⠐⡀⠀⠀⠈⠀⠈⠉⠀⠂⠠⠉⣉⠁⠒⠒⠒⠒⡈⣽⣿⣯⡇⠡⡙⠦⡙⠔⡠⢀⠁⣿⣿⡄⠀⠞⠁⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠘⣿⣯⢱⠋⠈⠣⣛⣉⣁⣈⡅⣠⠘⠶⠳⣶⠖⠐⠒⡤⡥⠥⣤⢦⡥⣤⢤⠤⢄⡿⠻⠓⠛⠄⠈⠱⠈⢐⠀⠦⣽⣻⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠘⠯⣴⣦⣶⣾⣿⡿⣽⣳⢾⣥⣌⣆⡠⠀⣀⠀⠁⠈⠉⢉⣉⠛⠙⠒⠒⠒⠉⡅⡐⠀⠀⠰⡤⣀⠀⠀⢈⠤⢳⢶⢹⣿⣿⣆⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣧⢏⠾⡼⠯⠽⠿⢛⢉⣤⣶⣾⡭⠭⠖⠒⠒⠒⢈⡁⠄⣡⠊⠠⠀⠐⠁⠲⡤⣀⠮⡜⡣⢎⡱⢾⣭⡻⣷⣦⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠎⠾⠱⣿⠾⣟⡵⣿⠟⠋⢀⠠⠀⣀⠨⠔⠊⠁⠀⣰⡿⠀⠀⢄⡤⣼⣷⠏⡀⢭⡲⢍⣣⠆⣓⠺⣽⣾⡻⣷⡄⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠶⣏⠱⠇⠠⢀⣐⡥⠖⢋⡀⠀⠀⠀⢀⡿⢁⣾⣶⣟⣮⣽⣿⣿⣿⣦⡁⠪⢍⡒⠩⣑⣻⡴⣯⣝⣻⣿⣆⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠙⠻⠛⠀⠀⠻⣩⣿⣷⣏⠍⠀⠀⠀⠀⢀⣼⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣽⡦⢵⣧⢛⡭⢳⠶⣿⣼⣿⠄ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣾⠓⡀⠐⢠⣿⣿⣿⣿⣧⠄⠀⠀⢀⢬⣿⣿⡿⠃⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡿⠿⢦⣭⣿⡬⢿⣿⣿⠿⠃⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣭⣥⠒⠀⠁⢸⣿⣿⣿⠟⡹⡄⣐⠀⢮⣿⣿⣿⠀⠀⠀⠀⠙⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⠋⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣮⠉⠄⠉⢀⣤⣾⣿⣿⠯⡕⡜⣐⠈⣜⣾⢻⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⣧⠠⡤⢌⣾⣿⣿⣿⣿⡟⡝⡁⣊⠳⢻⢹⢸⡟⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠷⣸⣿⣿⣿⣿⣯⢞⠕⣈⠙⣶⠹⣤⢳⣿⣯⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠃⠈⢻⣿⣿⣿⣿⡣⢌⢰⠀⢷⡹⢴⣧⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠿⠀⠀⣼⣹⣿⢨⣿⣿⣭⡁⠠⢸⣇⠺⢿⡟⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀⠀⠀⢹⣷⢿⣾⡿⣿⡿⢁⠘⢸⠘⠘⣾⡑⠛⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠀⢠⡜⠁⠘⢿⣳⣿⣹⠄⠘⠈⠂⠁⢚⠄⠘⣜⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣧⠜⡘⠀⠘⠀⠀⠄⠀⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣴⡀⠂⢡⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣷⡄⠂⢆⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠀⠘⡆⢰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣧⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/flower-2.txt b/homes/data/ascii-art/flower-2.txt new file mode 100644 index 0000000..f6e8f38 --- /dev/null +++ b/homes/data/ascii-art/flower-2.txt @@ -0,0 +1,42 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀⠀⠀⠀⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⡄⠀⠀⠀⠀⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⠀⠀⠀⠀⢨⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⢁⠂⠀⠀⠀⠀⠀⢠⣆⠀⠀⠀⠀⠀⢀⠔⠉⠠⠉⠰⡘⢠⠍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣰⠎⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠎⠀⠀⠀⠁⠀⢯⢄⠴⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠆⠈⠃⣮⡁⠀⠀⠀⢀⡞⢀⠀⠀⠀⠀⠀⠯⠇⠀⡀⠀⠀⠀⠸⡧⢛⠩⠑⡀⢠⣸⠀⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠟⠀⣸⡷⠀⠀⠀⡼⠀⠀⢡⠀⠀⣤⣤⠀⠀⠨⣿⠆⠀⠀⠀⠑⠤⠤⠜⠁⢰⠃⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠘⣗⠀⠀⠠⡇⠀⠀⢸⠀⣠⠌⠉⠀⠀⠀⠀⠀⠀⠾⠀⠀⠀⠀⠀⡂⡞⠄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠀⠶⡀⠀⠀⠀⠀⢻⡄⠀⠀⢗⡀⠀⣸⠀⠰⡲⠀⠿⠀⠀⠀⣴⡵⠀⠀⠀⠀⠀⢐⡜⡀⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠸⠆⠠⣶⠀⠠⠶⠠⣦⠈⢳⣠⠀⠈⣆⠀⡯⠀⠀⣦⠀⡈⢀⣤⡄⠀⠀⠀⠀⠀⠀⢠⠞⠊⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⢀⣤⡀⢖⡄⠀⠀⠀⠀⠹⣆⡀⠙⡂⢰⡀⠀⠀⣠⣷⣆⠉⠐⠀⠻⠗⠀⠀⡰⠋⢀⡔⠀⢲⡀⠀⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠐⢷⣀⠀⠈⠋⠀⣀⠀⠀⠀⠀⣁⡐⢈⡳⡂⠹⡄⢧⢂⣸⠹⢋⢠⢣⢳⣠⠀⠀⣡⠎⠀⠀⠘⣧⢒⠘⢀⡠⠋⢀⡀⣀⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠘⣿⢦⡀⠀⠀⠘⠁⠀⠠⢸⣿⡍⠻⠒⢿⣦⠹⡄⢻⡟⠀⠘⡀⠘⣠⡣⣠⠞⠁⠀⠀⠀⠀⢈⠈⢉⠁⠀⠀⠈⢁⠙⠁⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠘⠶⡼⣕⠲⠦⢤⣀⣀⠘⢿⡵⡂⠀⠀⠉⠑⢎⣿⠁⠀⠀⠀⡆⣿⢾⡫⠠⣀⣤⡴⠿⢛⠿⡿⣿⠆⠀⣀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢶⣬⡳⣲⠢⣍⢳⡀⣷⠁⠀⡀⠀⠀⠄⢿⡀⠀⠀⠠⠁⣿⢽⣴⠿⠛⠁⠀⠈⠀⣰⡷⢁⠔⡪⠂⠐⢀⣨⠖⠂⠉⠉⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠍⠉⢛⠳⢔⣧⠘⣧⠀⢄⠀⡀⠀⠚⡷⠁⠀⠀⣰⣿⠏⠑⠠⠀⠀⠀⠠⣪⢟⣴⣗⣁⠦⠴⠛⣉⢀⡀⢤⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢀⡠⢴⡲⣞⢲⣒⡲⢤⡤⢬⢆⡙⠷⡌⠳⣄⠂⠀⠀⠂⠶⡄⢠⣆⡿⠁⠀⠀⠀⢠⠔⠈⡡⢃⠊⠔⠀⠁⠐⠊⠽⣂⠉⠈⠑⠨⡺⡄⡀⠀ +⠀⠀⠀⠀⠀⢠⠜⣃⣨⡧⡽⠞⠙⠓⠚⠑⠘⠚⠓⠤⡵⢠⣛⡲⣦⡀⢤⡔⣷⡜⣿⣡⡀⠐⠀⢀⢨⣠⣖⣑⠚⠶⢶⡶⢖⡤⠤⣄⠉⠐⠂⠐⠂⠓⠳⣅⠀ +⠀⠀⠀⠀⣠⣿⠲⠋⠁⠀⢀⡤⣲⠲⠆⢶⠻⠖⢚⡴⠞⠉⠈⠀⠍⠻⣛⢯⣽⣻⡣⠯⠴⣶⠍⠉⠉⠀⠊⠉⠉⢟⣶⣌⡳⣬⡛⣦⠝⡄⠀⠀⠀⠀⠀⠀⠑ +⢀⣀⠤⠞⠋⠁⠀⠀⢀⠔⠃⡡⠴⣱⠖⠉⠠⣰⣏⡤⠊⡀⠚⢁⠀⠐⣴⢯⣭⣾⢮⢮⡹⢶⠆⠀⠐⢀⠀⠈⠀⢢⣘⡹⣿⣿⡝⢶⣽⢻⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡠⠋⣤⣪⡴⠋⠁⠀⠠⣺⣿⠝⣀⢀⡠⢉⣀⣠⣦⣴⠿⢻⠃⠡⠁⢌⠢⡂⠴⢄⠠⠤⠄⠴⠦⣔⣺⣿⣯⡙⠆⢻⣾⠀⠀⠀⢠⠀⠀⠀ +⠀⠀⠀⠀⣀⣴⣿⡿⠞⠋⠁⠀⠀⠐⠑⠀⣿⣯⣴⢾⢿⣿⢿⣿⣿⢿⠏⠠⠁⡐⠀⡀⠰⠌⢷⣦⣶⡧⣤⡶⠚⢛⢛⠋⢩⢲⠀⠀⢸⡇⠀⠀⣀⡀⠃⠀⠀ +⠀⠈⠉⠋⠉⠉⠀⠀⠀⠀⠀⠀⠀⢨⡴⢇⣧⡁⠒⠛⠹⣹⡿⢋⢿⣾⡇⣘⡀⠄⠀⠄⠁⡚⠼⢟⠮⣿⡹⢺⣧⣛⢊⢁⣀⠁⠸⠛⠜⣀⠀⢀⡉⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⡏⠘⢇⢸⠏⠀⣬⡾⣿⣹⢛⣦⣾⢿⣌⢇⡘⠄⠘⡀⣷⣿⣃⠀⠈⠳⣏⣀⠙⡲⣌⠋⠉⣎⠆⠀⣉⡴⠊⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠙⠃⠀⠞⠂⠀⠀⢻⣆⣀⣀⡠⣾⡟⠀⡀⠿⢦⡙⢫⢼⢟⣾⣶⢣⣰⢿⣾⠟⠈⠹⢦⡀⠙⣮⢥⠀⠨⡳⣜⠁⡖⢆⠲⠃⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠠⣾⡇⠀⠀⠀⠀⠈⠉⠉⣸⡟⢀⢙⠋⠀⢈⣁⡘⠛⠐⠹⣻⣿⢿⣿⠏⠀⠀⠀⠠⢿⡀⢈⢧⠓⠀⠘⠝⣷⣌⠁⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡀⣿⠁⡀⠀⠀⠀⠈⠋⠂⠀⠀⠀⠁⠙⠹⠘⠀⠀⠀⠀⠀⠙⡇⠀⢹⣧⠀⠀⠈⢌⣿⡆⢃⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣌⡁⣷⠉⠤⠤⢠⡴⠶⣶⣤⠀⠀⠀⠀⠀⠀⠀⠀⢲⠆⣤⡟⠀⡇⠀⢈⢻⡄⠀⠀⠀⢻⣷⡜⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⢻⡀⠀⠢⢺⣩⡇⠀⢹⡆⠀⠀⠀⠀⠀⠀⠀⠐⢆⡉⠡⠞⠀⠀⠘⣸⡇⠀⠀⠀⠀⣿⣱⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⡼⠳⣤⣀⠄⣂⣀⡤⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⢰⣿⡇⠆⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠁⢏⠨⣯⠉⠹⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠁⠀⠀⠀⢸⣿⠄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣾⠋⠀⠀⠀⠀⣾⡿⠌⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠇⠀⠀⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠖⠉⠀⠀⠀⠀⠀⢀⣾⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⢤⣾⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣤⣶⡿⠞⠟⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/flower-3.txt b/homes/data/ascii-art/flower-3.txt new file mode 100644 index 0000000..a0731fd --- /dev/null +++ b/homes/data/ascii-art/flower-3.txt @@ -0,0 +1,13 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣖⡀⢢⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠃⢨⠃⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⢀⣀⣀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢎⡰⠊⠉⠀⠉⠑⡆⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡞⡉⠑⡆⠀⡎⡌⠀⠀⢰⡾⠂⠀⡄⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠇⢠⣏⡐⠓⢇⠀⡀⠈⡓⠒⠊⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠼⣸⠀⠀⢸⠊⠀⠀⠰⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠔⠒⢎⠀⠀⡘⠆⣁⡇⢆⣡⠴⠥⢄⡀⠀⠀ +⠀⢀⡀⠀⡀⠀⠀⠀⢠⠎⠀⣀⠤⣾⠷⠦⢼⢿⣉⡳⣋⡤⠀⠀⢀⡇⠀⠀ +⢠⡎⠀⣠⢈⡆⠀⠀⡆⡠⠊⠀⢰⠁⠀⠈⡰⢺⠉⡏⠂⠉⢲⠖⠛⠲⢄⡀ +⠘⢇⡀⠙⠋⠀⢀⡠⢏⠁⢴⣆⠈⠒⠶⢲⠁⠈⢀⣇⠀⠀⣸⢃⡴⠆⢀⡇ +⠀⠈⠙⠒⠶⠖⠋⠁⠈⠐⠚⠁⠀⠀⠀⠘⠦⠤⠊⠀⠉⠉⠁⠀⠑⠒⠊⠀ diff --git a/homes/data/ascii-art/flower-4.txt b/homes/data/ascii-art/flower-4.txt new file mode 100644 index 0000000..203c72a --- /dev/null +++ b/homes/data/ascii-art/flower-4.txt @@ -0,0 +1,17 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠒⠒⠢⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⢟⣇⠤⠒⠂⠤⡀⠀⢰⠃⠀⠀⣀⠄⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠈⢆⢺⠀⠀⠀⠣⣀⣀⡼⢤⣶⣶⣶⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣸⡀⠀⢀⣴⣤⠀⡜⠘⢆⣠⠴⠋⣩⣴⡾⢟⣿⣿⣿⣿⣶⣾⣭⣝⡶⣄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣤⠀⢸⣿⠃⠀⠀⣠⡼⠣⣤⣿⣿⣛⠤⠛⣿⣿⡿⣻⣿⣟⡿⠿⣿⣘⣿⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⢀⣠⣴⣶⣶⣿⣿⣯⣶⣶⣄⣀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⢀⠀⠀⠀⠈⢺⣻⣄⠀⠻⣄⣀⣴⣋⢔⢪⡶⠛⠀⢑⣲⢶⣿⣿⠾⠛⢡⠁⠀⠰⢿⣿⣿⡽⡆⠀⠀⠀ +⠀⠀⣠⣾⡿⠛⣿⡿⣿⣿⡯⠭⣍⣛⠷⣿⣧⢀⣶⡿⠲⡀⢀⣤⣪⠭⠭⣉⠑⠢⡀⠀⠉⠚⠭⣶⢶⡞⠁⢁⣴⢻⠀⠀⢰⠁⠀⠉⢆⠀⠀⣀⠤⣁⠀⢰⣁⡈⠙⢿⢻⠀⠀⠀ +⠠⠊⠉⠉⠁⠈⢉⢼⣿⠏⣴⡄⠀⠈⠙⠯⣿⣷⠁⢀⣷⢡⡾⠋⠐⢀⡀⠈⢳⠀⢱⠀⠀⢠⣾⡟⡏⣇⣴⢟⣡⠼⡀⠀⠀⠁⠀⠀⡸⡰⠉⢀⣆⡤⢷⠼⡟⠋⠀⠸⡼⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⡇⢸⠉⠉⠉⠐⣦⣄⠀⠀⠈⢿⣧⡸⣿⢸⠃⠀⠀⠘⠯⠤⠋⣴⡽⠀⠀⠎⠁⣸⣼⢟⠁⠈⠀⠀⡹⠢⢄⣀⡠⠔⠁⡇⠀⠀⡟⠻⡷⣦⠇⠀⠀⢠⢧⠠⣾⣦ +⠀⠀⠀⠀⣀⠸⡂⠀⠉⠈⠀⠀⠈⠫⡄⠀⠀⠀⠘⢳⣽⣾⡆⠀⠀⠀⠀⠀⠱⠋⠀⠀⣠⣴⣾⣟⠁⣨⣖⠤⠤⣲⠥⣤⠤⣀⠀⠀⠀⠳⣄⠀⠑⢄⡀⠀⠀⢀⡴⢳⣣⠑⠛⠉ +⠀⠀⠀⠈⠿⠛⠣⡀⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⠀⠈⠿⣟⣦⡀⠑⠦⣴⣶⡾⣶⣿⠟⡏⣾⣿⣦⡤⠜⠀⣼⠁⢀⡿⠀⠀⠱⡄⠀⠀⠈⠓⠲⠤⠬⠟⠛⠉⠀⢺⡟⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠈⠢⠤⠤⠤⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡉⠟⠻⠶⠞⠖⠛⠭⠠⣾⣷⠋⣿⣿⠟⣁⡠⠎⠢⠤⠝⠀⠀⠀⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠃⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠐⠀⠀⠀⠀⠀⠀⠀⢠⡟⠁⠀⢻⡝⡟⣶⣦⣶⣦⣤⠀⠀⠀⢠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡀⡘⣷⡬⠢⣑⠀⠀⠈⠑⢄⡠⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡁⠀⠁⠈⠀⠁⡨⠊⠉⠁⠂⢼⣵⠀⠀⠉⠁⠂⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡀⠀⠀⠀⠇⠀⠀⠀⠀⢾⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠈⠢⢄⣀⡴⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/flower-6.txt b/homes/data/ascii-art/flower-6.txt new file mode 100644 index 0000000..b94fda6 --- /dev/null +++ b/homes/data/ascii-art/flower-6.txt @@ -0,0 +1,13 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⠹⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣷⣦⣄⣠⣿⠃⢠⣄⠈⢻⣆⣠⣴⡞⡆⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢀⣀⣀⣿⠀⠈⢻⣇⢀⣾⢟⡄⣸⡿⠋⠀⡇⣇⣀⣀⠀⠀⠀⠀⠀ +⠀⣤⣤⣤⣀⣱⢻⠚⠻⣧⣀⠀⢹⡿⠃⠈⢻⣟⠀⢀⣤⠧⠓⣹⣟⣀⣤⣤⣤⡀ +⠀⠈⠻⣧⠉⠛⣽⠀⠀⠀⠙⣷⡿⠁⠀⠀⠀⢻⣶⠛⠁⠀⠀⡟⠟⠉⣵⡟⠁⠀ +⠀⠀⠀⠹⣧⡀⠏⡇⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⣿⡄⠀⠀⢠⢷⠀⣼⡟⠀⠀⠀ +⠀⠀⠀⠀⠙⣟⢼⡹⡄⠀⠀⣿⡄⠀⠀⠀⠀⢀⣿⡇⠀⢀⣞⣦⢾⠟⠀⠀⠀⠀ +⠀⠠⢶⣿⣛⠛⢒⣭⢻⣶⣤⣹⣿⣤⣀⣀⣠⣾⣟⣠⣔⡛⢫⣐⠛⢛⣻⣶⠆⠀ +⠀⠀⠀⠉⣻⡽⠛⠉⠁⠀⠉⢙⣿⠖⠒⠛⠻⣿⡋⠉⠁⠈⠉⠙⢿⣿⠉⠀⠀⠀ +⠀⠀⠀⠸⠿⠷⠒⣦⣤⣴⣶⢿⣿⡀⠀⠀⠀⣽⡿⢷⣦⠤⢤⡖⠶⠿⠧⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣦⣴⡾⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/flower-7.txt b/homes/data/ascii-art/flower-7.txt new file mode 100644 index 0000000..f7ddf7f --- /dev/null +++ b/homes/data/ascii-art/flower-7.txt @@ -0,0 +1,37 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⠴⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⢾⣛⡆⠈⡏⠰⠶⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢦⣿⣄⣉⣁⣤⠽⣦⣤⡶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠚⠹⡉⢃⣴⠟⠉⠀⠀⠀⠀⠉⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⢡⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡂⣿⡇⠀⠀⠀⠀⣠⣤⣀⠀⠀⠀⠘⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢻⣷⠀⠀⠀⠀⢯⡉⣿⡆⠀⠀⣰⡇⠀⢀⣀⢤⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣧⣀⠀⠀⢀⣴⡟⠀⠀⣰⣿⡷⢏⡭⠔⠹⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⠿⠟⠋⠀⢀⣼⣿⣿⣿⠿⣭⡉⢛⡃⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣀⣤⠶⠿⣟⣟⣝⡷⣲⢤⣀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⣠⣾⡿⠃⠹⡟⢖⠢⠽⠦⠁⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⢀⣴⠞⠁⠀⠀⠀⠀⠀⠉⠙⢦⣕⡯⣷⣄⠀⠀⠠⣴⠋⢓⡶⠂⠀⢀⣼⣿⠟⠁⠀⠀⠈⠺⡄⠋⣀⣰⣀⠀⠀⠀⠀⠀⠀ +⠀⣠⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢯⣒⢭⣦⠀⠀⢸⠕⠦⠇⠀⣤⣿⡿⠃⣠⠴⠶⠶⣤⡀⠀⠀⠼⠿⡏⠀⠀⠀⠀⠀⠀ +⢀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣝⡫⢧⠀⠀⠀⠀⣠⣾⡿⠉⠀⢸⠁⢀⣀⠀⠈⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣼⠁⠀⠀⠀⠀⣠⣶⣿⣿⣷⣦⡀⠀⠀⠀⠀⠙⡮⣛⡆⠀⠀⣰⣿⡏⢐⡀⠀⠸⣦⣀⣨⠇⠒⣸⣀⣀⣄⣀⡀⠀⠀⠀⠀⠀⠀ +⢹⠆⠀⠀⠀⢠⣿⡿⠃⠀⠀⠉⢻⡄⠀⠀⠀⠀⠙⣗⢿⠀⣸⡟⡙⢷⡈⢠⠀⡀⠈⠉⣁⠘⣠⠟⠉⠉⠙⢿⣿⡆⠀⠀⠀⠀⠀ +⠘⣇⠀⠀⠀⠈⢿⡇⠀⢲⠀⠀⠀⢻⡀⠀⢤⣴⡀⠹⣽⣴⡿⣁⠀⠈⠻⣦⣤⣥⣌⣡⡤⠞⠁⠀⣰⠛⠆⣸⣿⡇⠀⠀⠀⠀⠀ +⠀⢻⡄⠀⠀⠀⠀⠉⠙⠉⠀⠀⠀⢸⠀⠀⠚⠻⠁⠀⢿⣿⢣⢀⡤⠶⠲⢮⣍⡉⠉⠁⠀⣤⠀⠀⠘⢿⣿⡿⠏⠀⠀⠀⠀⠀⠀ +⠀⠀⢻⣄⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠀⡀⠀⠀⠀⠀⢸⣿⣰⠏⢀⡴⢶⡄⢸⡇⠀⢖⠚⠉⠓⣲⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠙⠷⣦⣄⣀⣀⣠⣴⠾⠁⠀⢰⣕⢲⣪⡉⠅⣾⣿⡟⠀⠈⠳⠭⠵⠋⠀⠀⣼⣁⢄⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠀⠀⠀⢤⡼⠉⢹⡣⣉⠀⣿⣿⡇⠀⠀⢠⣴⠶⢦⡀⠀⠁⠀⠀⣙⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡔⠟⡛⡀⡆⣿⡟⣷⠀⠀⣿⣇⣲⠈⡿⢀⣴⣾⣿⠿⠿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢰⡀⡷⣰⣇⡴⠠⠜⠀⠀⠀⠀⣿⡇⡘⣷⣄⠀⠙⣉⠞⢡⣿⡟⠁⠀⠀⠀⠀⠈⠻⣿⣆⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠠⣤⣯⣷⣧⠿⠵⠶⠶⣤⣄⡀⠀⢻⣇⠡⡌⠻⣏⠉⠁⠀⢺⣿⠀⠀⢀⣶⣶⣤⠀⠀⠘⣿⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠠⢾⡿⡋⠗⠈⠃⠈⠁⠰⠉⡻⢶⣜⣿⢘⠂⣠⣌⣷⡀⠀⢸⣿⡆⠀⠈⠧⠄⢸⡇⠀⠀⣹⠇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣰⠏⠄⠁⠀⠀⠀⠀⠀⠀⠀⠁⠈⠙⢿⣏⠰⡏⣬⣿⢻⡀⠀⠻⣿⣄⠀⠀⣠⠞⠀⠀⢠⡟⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢰⡏⠴⠀⠀⠀⠀⢀⣠⣀⣀⠀⠀⠀⠀⠈⢻⣧⡙⢦⣤⡾⠁⠀⠀⠈⠙⠛⠋⠁⠀⠀⣠⡞⠁⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠸⢿⡀⠀⠀⠀⣰⠋⠁⠀⠉⠙⢦⠀⠀⠀⠀⢻⣟⢦⣄⡀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢹⡹⣇⠀⠀⠘⡇⠀⠀⠖⡆⠀⠘⣧⠀⠀⠀⠀⠻⣎⢿⠹⠳⢲⡲⢶⠶⠾⠛⠉⣁⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠸⣎⡹⣧⡀⠀⠻⣦⣤⠴⠃⠀⢰⠏⠀⣤⣀⣴⠀⠙⣧⡱⡀⢠⡾⢟⣛⡓⣆⠀⠿⣿⠛⠁⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠱⣊⠜⣻⣶⣄⣀⠀⠀⠀⣀⠟⠠⣔⣊⠁⣶⣄⠀⠈⢷⣅⢸⠅⢸⣓⣃⣼⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠙⢮⡞⡜⡝⡝⡟⡯⠟⠁⠀⠀⠀⠈⠿⠀⠀⠀⠀⠀⠹⣶⡳⢤⣹⣯⡥⠴⠶⠶⠦⣄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣀⠀⠈⠻⣦⡀⠀⠀⡞⣙⣷⠀⢈⡆⠀⠀⣀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠏⣤⢈⣿⠀⠀⠀⠈⠳⣄⠈⣷⣈⣉⣠⡼⢡⡾⠛⠉⠙⢳⡀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣄⠈⠉⠁⢀⣀⣤⣶⣶⣾⣷⣌⠙⠋⠁⠀⣿⠀⢤⡀⠀⠀⣷ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠛⠛⠉⠁⡼⠋⢠⠨⠍⡳⢄⡀⠀⠘⠻⠛⠁⠀⣰⡿ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⣔⡒⡞⡀⠁⠰⠙⡲⢦⣤⣤⣤⣾⠿⠁ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠺⠞⠧⠁⠀⠀⠀⠁⠐⠉⠉⠉⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-1.txt b/homes/data/ascii-art/fox-1.txt new file mode 100644 index 0000000..1d910cf --- /dev/null +++ b/homes/data/ascii-art/fox-1.txt @@ -0,0 +1,17 @@ +⠀⠀⠀⠀⠀⢀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣸⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢠⡟⠘⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢰⡟⠀⠀⠈⠻⣷⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣠⡟⠀⠀⠀⠀⠀⠈⢻⡿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣰⡟⠀⠀⠀⠀⠀⠀⠀⠀⠻⠸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣇⠀⣠⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⠀⠀ +⣾⡁⢀⣠⠴⠒⠲⣤⣠⠶⠋⠳⣤⣸⣿⣰⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀ +⣿⠟⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣽⠏⣿⡿⢿⣿⣿⣿⣷⣄⠀⠀⠀⠀⢠⣾⣿⣿⣿⠋⢹⡇⠀⠀⠀⠀⠀⠀ +⢹⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡟⠀⣿⠁⠀⠙⣿⡛⠛⢿⡶⠶⠶⠶⣿⣄⣀⣰⠃⠀⢸⡇⠀⠀⠀⠀⠀⠀ +⠈⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠁⠀⣿⠀⠀⠀⠈⢷⡀⠘⠛⠀⠀⠀⠀⠈⠉⠳⣄⠀⢸⡇⠀⠀⠀⠀⠀⠀ +⠀⠈⢿⣦⡀⠀⠀⠀⠀⠀⢀⣿⣇⣀⠀⢻⠀⠀⠀⠀⢰⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣾⠃⠀⣤⣤⣄⠀⠀ +⠀⠀⠀⠉⠻⢶⣄⣠⣴⠞⠛⠉⠉⠙⠻⢾⣇⠀⢀⣰⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡄⠀⣿⢩⡿⣿⡆ +⠀⠀⠀⠀⣠⣴⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⢹⡷⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⣿⣟⣵⡿⠁ +⠀⢀⣠⡾⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⣴⣿⠀⠀⠀⠀⠀⠀⢠⣶⠀⠀⣸⡇⠀⠙⠋⠁⠀⠀ +⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣄⣈⣀⣙⣁⠀⠀⣶⣾⡶⠀⠻⠿⠀⢠⣿⣁⡀⠀⠀⠀⠀⠀ +⠈⠛⠻⠿⠶⠶⠶⡤⣤⣤⣤⣄⣀⣤⣀⣠⣤⣀⣀⣹⣿⣿⣿⣿⣤⣽⣿⣴⣶⣶⡦⢼⣿⣿⣿⣿⠇⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-10.txt b/homes/data/ascii-art/fox-10.txt new file mode 100644 index 0000000..f41fdb1 --- /dev/null +++ b/homes/data/ascii-art/fox-10.txt @@ -0,0 +1,25 @@ +⠀⠀⠀⠀⢀⡴⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⠱⣧⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢾⠃⠀⠻⡢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⢿⠁⠀⣯⡀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠰⡇⠀⠀⠀⢹⣾⣦⡀⠀⠀⠀⠀⠀⠀⠀⣠⣾⠀⠀⠀⠀⣠⣾⡿⠁⡇⠀⠀⢸⠇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣤⠁⠀⠀⠀⠀⢫⠻⣮⣦⡀⠀⠀⠀⢀⣴⣎⡞⣤⣴⣦⣻⠟⢗⣒⠠⣇⡀⠀⠈⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣿⠀⠀⠀⠀⠀⠏⣇⠈⠻⣿⣦⣀⣴⣿⣿⣾⡷⢿⣛⣃⡭⣅⣰⣶⢻⠋⠀⠀⠀⣧⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣿⠀⠀⡀⠀⠀⢸⢸⠀⠀⠙⠟⢷⣿⣿⣿⣿⣿⡟⣛⣛⠋⣿⣫⣭⠉⠒⠦⡀⠀⡟⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣿⠀⠀⢡⠀⠠⠀⠿⡄⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣋⠉⢛⡽⠛⠵⣄⠔⠳⣌⢦⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠿⠀⠀⢃⢆⠀⢳⠄⣇⠀⠀⢀⡠⠀⠀⠈⠻⢿⣞⣋⢙⣥⣴⣆⣛⣺⣧⣀⣿⣿⣀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢠⣇⠀⠀⢾⣦⡀⢡⢧⢶⣶⠃⠀⠀⠀⠀⠀⠀⠙⠻⣿⣾⣿⣿⣿⣿⣿⠿⢿⣿⣿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠈⣽⣦⡀⠁⠓⢔⡀⢸⡿⠇⠀⠀⣠⡴⠾⠛⢻⠄⠀⠈⠫⠻⡿⣿⠿⡇⢀⣼⡝⠈⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠹⢇⠙⠲⠤⠄⢉⡞⠀⠀⠀⡴⠋⠀⣀⣀⠘⡀⢰⢴⡇⠀⣰⣶⣎⣿⣿⣯⡿⠇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⣽⣿⢒⣤⣤⡀⢸⠀⠀⠀⠀⢀⣴⣿⣿⣟⠻⣇⡸⠀⢱⣠⣿⣋⢻⢿⡿⣿⢽⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢵⣿⣿⣿⠶⣶⣾⠀⠀⠀⢠⣾⢿⣿⣷⡲⠀⢧⠃⠀⠀⠻⡿⡟⢸⢿⢿⣽⣷⡿⡂⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢀⣵⣟⣏⡩⠟⠇⠉⠉⠀⠚⢇⣫⣛⡻⠃⠀⢸⠠⠒⠀⠀⠫⢔⡁⠈⢳⡀⠙⢷⣄⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢾⣟⣭⠊⠀⠀⢁⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⣀⣈⣉⣒⠳⡠⠀⢻⠆⠀⠀⠀⠀ +⠀⠀⠀⢰⣯⣮⢇⠖⠠⠄⠸⡀⠀⠀⠀⠀⠀⠀⠀⠤⡀⠀⠀⠀⠀⢠⣮⣥⣴⣶⣾⠇⢸⠳⣚⠇⠀⠀⠀⠀ +⠀⠀⠀⢸⣏⡤⡾⣶⢚⠤⠊⠱⣄⠀⠀⠀⠀⠀⠀⠀⠘⢆⠀⠀⢀⡀⠙⠛⠿⡿⢋⢀⡼⠀⢹⡃⠀⠀⠀⠀ +⠀⠀⠀⠀⠉⠁⣿⣹⡏⠀⠀⡠⠁⢗⠤⣀⠀⠀⠀⠀⠀⠈⠳⣤⣀⣈⣀⠤⠴⡥⢤⣼⠶⠝⠛⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠛⠲⠶⠆⠈⠛⢻⡟⣿⣿⠿⣷⣶⣤⣄⣀⠀⠈⠪⣊⢉⡠⢟⣴⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡰⣶⢖⡇⢙⢿⠁⠠⢙⡻⢿⣿⣟⠷⢶⣤⣤⠲⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣀⢠⣜⠿⢿⣋⠀⠀⡆⠀⠀⠀⠘⠳⠋⠊⠁⢻⠿⡧⣖⣠⡄⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⢀⣄⢶⠷⠟⠋⠀⠀⠀⠀⢘⡗⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢛⣏⡈⡽⠛⠿⢫⡶⣤⡀⠀⠀⠀⠀ +⠀⢀⣶⡯⠛⠋⠀⠀⠀⠀⠀⠀⣯⡁⠈⠁⠲⠤⣀⡀⠀⠀⠀⠀⣀⣠⠈⠀⠐⠓⠂⠒⡄⢀⣽⢷⡦⡀⠀⠀ +⠀⢻⠉⠀⠀⠀⠀⠀⠀⠀⠀⣦⣵⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⢀⠀⠀⠀⠀⠈⠉⣡⡇⠀⠹⣾⢆⠀ +⢸⡇⣇⠀⠀⠀⠀⠀⠀⠀⢰⣼⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⠋⠀⠀⠀⠀⠀⠀⠁⠺⣵⠀⠙⣿⣆ diff --git a/homes/data/ascii-art/fox-11.txt b/homes/data/ascii-art/fox-11.txt new file mode 100644 index 0000000..59fe69b --- /dev/null +++ b/homes/data/ascii-art/fox-11.txt @@ -0,0 +1,72 @@ +⢯⡝⢮⡁⢍⡳⣙⢮⡵⡙⠯⣉⠣⠀⠉⠉⠉⠀⡀⢀⡀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠉⠀⠁⠀⠀⠀⠀⠈⠁⠀⠀⠀⠄⠠⠀⠄⡐⠠⢀⠀⡀⢀⠀⡀⢀⠀⡀⢀⠀⡀⢀⠀⠀⠀⠀⠀⠀⠄⠠⠀⠄⠠⠀⠄⡀⠀⠀⠣⢎⠑⠀⢀⠰⠌⠒⠁⠊⠀⠁⠉⠀⠀⠁⠂⠀⣤⣻⣟⣿⣻⣟⡿⣭⣿⢿⡿⣿⣿⢿⡿⣿⣛⡇⠈⣟⡿⣿⣿ +⢧⠞⡵⢲⠀⠵⠎⠀⠀⠁⠀⠀⠀⢀⠄⠢⠄⠁⠀⠀⠀⢀⠠⠀⠤⠐⢀⠂⠀⠠⠐⠠⠀⡐⠀⢂⠐⠀⠄⠠⢀⠠⢀⠀⡀⠄⠀⡀⢀⠂⠄⠐⠀⠂⡐⠀⢂⠐⠀⠂⡐⠀⠄⡈⠐⠠⢀⠀⠀⠈⠄⠡⠈⠄⡁⠂⠄⡁⠀⠈⠀⠀⠀⠁⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⠀⠀⠀⠀⠈⠹⣞⡷⣯⣟⡷⣯⣟⣿⣟⡾⣟⡿⣽⣫⣟⠀⢯⢽⣿⣾ +⢫⡞⣍⠃⠀⠘⠀⠀⢀⠠⠐⠠⠁⠈⠀⢀⠀⠤⡀⢃⠈⠀⠀⠀⠀⢀⠀⢀⠀⠂⢁⠠⠁⠀⠌⠀⡀⠡⠈⢀⠂⠠⠀⠂⠐⠈⡀⠐⡀⠄⢈⠀⡁⠐⢀⠈⡀⠄⠈⠄⢀⠂⠐⠀⡁⠂⠄⠂⠄⡀⠈⠠⠁⠂⠀⠁⠀⠀⠀⠀⠀⢀⡀⠀⠄⠀⠂⠈⠀⠀⠀⠀⠉⠙⠛⠳⣦⣄⡀⠀⠀⠙⢿⣽⣻⢷⣯⣞⡿⣽⡿⣽⣳⢯⣻⠀⣹⢚⡷⣻ +⡳⠜⠂⠀⠀⠠⢀⠁⠂⠀⠀⠀⣠⢀⠃⠈⢀⠐⠀⠀⠈⠐⠀⠂⠐⠀⢀⠂⢈⠐⠀⠄⡈⠐⡀⢁⠠⠐⠀⠂⠠⠁⠠⠁⡈⠐⠀⡁⠠⠀⠂⠐⠀⡁⠂⠠⠀⠄⢁⠈⠄⡈⠄⠡⢀⠁⠂⠁⠘⠀⠀⠀⠀⠀⢀⠠⡀⠖⠒⠉⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠙⢢⠀⠀⠈⢹⣯⢿⣶⣻⣟⣷⢿⣻⡽⣷⢿⠀⣎⠝⠈⢹ +⠀⠀⢀⠢⠘⠀⠀⢀⠀⡐⠂⢡⠀⠤⠀⠀⠀⠀⠀⠀⢀⠀⡀⠄⢀⠂⡀⠂⠄⠂⠈⠄⠐⠠⠀⠂⡀⠂⠁⠌⠐⠈⡀⠂⠐⠈⡀⠐⢀⠂⢁⠈⠄⠐⡀⠡⠐⢈⠠⢈⡐⠠⠈⠀⠀⠀⠀⠀⠀⣀⡠⠤⠒⠈⠁⠀⠀⠀⠀⠀⢀⣀⣠⣤⣴⢦⣶⣞⣶⣣⣤⠐⠀⠄⠀⠀⠀⠀⡐⠀⡀⠀⠀⠀⠈⢿⣮⢷⣻⣾⣻⢷⡿⣝⡿⠀⠉⣰⠀⢸ +⡀⠆⠈⠀⢀⠠⠐⠈⠠⠀⠁⠀⢀⠀⠂⠀⠀⠠⠀⠄⠂⡐⠀⠄⠂⠠⠐⢀⠂⠌⢀⠂⠌⠀⠄⡁⠠⢀⠡⠐⠈⡀⠐⠈⠄⡁⠐⡈⠠⠐⠀⢂⠈⠄⡐⢀⠂⡤⠊⠁⠀⠀⠀⠀⢀⠠⠔⠂⠉⠀⠀⠀⠀⠀⠀⣀⣠⣴⡶⣿⣯⣟⡿⣳⢟⡻⢳⡛⠾⣍⠳⡈⢆⠈⠀⠀⠀⠀⠀⠐⡀⠄⠀⠀⠀⠈⠻⣟⣯⣷⣟⣯⢿⣽⡛⠀⣼⡗⠀⣜ +⠀⠀⠠⠉⠀⢃⠀⠀⠁⠀⠀⠂⠀⠄⠀⠠⢀⠁⢠⢈⠤⡄⠃⠂⡈⠄⢁⠀⠂⡐⠀⠄⠂⢁⠠⠐⠀⠄⡀⠂⢁⠠⠈⠄⠂⡀⠁⠄⡐⠀⠡⢀⠐⠠⢐⠠⠁⠀⠀⠀⡀⠤⠐⠊⠁⠀⠀⠀⠀⠀⣀⣤⡶⣞⡿⡟⢯⡳⢏⠷⡬⢧⡝⡶⢭⠞⠣⠛⠹⢈⠑⡰⢈⡜⢠⠀⠀⠀⠀⠀⠠⠐⠈⠀⠀⠀⠀⠉⢿⣯⣿⡽⣯⣜⡿⣯⡟⡇⠀⣞ +⠀⠂⠀⠁⠀⢀⠠⠀⢀⠀⠄⢡⠂⡀⢄⣂⠦⡙⠆⠋⠀⠀⡐⠠⠀⠌⠀⠄⡁⠠⢈⠠⢈⠀⠄⠂⡁⠄⠐⡈⠀⠄⢂⠠⢁⠠⠈⠄⡀⠌⢀⠂⠌⡐⠁⠀⠀⠀⠄⠂⠐⠀⠀⠀⠀⠀⣀⣤⢶⠻⣝⢣⢟⡱⢎⡵⢣⠝⠎⠋⠉⠁⠈⠀⠀⡀⠠⢀⠐⡀⢣⠐⡡⢜⡡⠂⠄⠀⠀⠀⠀⠈⠐⠀⠄⠀⠀⠀⠈⠳⣯⣟⡾⣽⣹⢧⣿⠁⢰⣹ +⠀⠀⠀⡀⡖⠀⠀⡀⢂⢌⡐⢦⡙⡜⣌⠆⠓⠁⠀⠀⠄⠡⢀⠁⡐⠈⢀⠂⢀⠁⠄⠂⡀⠌⢀⠂⠄⡈⠐⡀⠡⠈⡀⠄⠂⡀⠡⢀⠐⢀⠂⠜⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⢠⠰⣚⠱⣊⢦⡙⢦⢋⠎⠑⠁⠈⠀⡀⠀⡄⠂⠄⠃⠌⢂⠡⢄⠢⡐⢌⢢⡙⡔⠣⠜⡁⠂⢁⠀⠀⠀⠀⠁⢂⠈⢀⠀⠀⠀⠀⠈⠙⢿⣻⣽⣯⠟⠀⡾⣽ +⠀⣀⠆⡑⢠⡐⢦⡑⠣⢎⣜⣢⡵⠋⠀⠀⡠⠀⠀⠌⠠⠁⡀⠐⠀⡁⠂⢈⠀⠈⠄⠁⡀⠂⡀⠂⡐⠀⠁⠀⠀⠁⠄⠂⢁⠀⠂⠄⠈⡔⠈⠀⠀⠀⠠⠈⠀⠀⠀⢀⠠⡐⠬⣡⠓⡬⠑⡌⢂⠉⡀⠤⢈⠆⡘⠄⠃⠌⠡⢀⠉⠤⡉⢆⠡⣊⠔⡡⢉⠆⡒⠰⢈⠁⠒⠀⢁⠠⠀⠀⠀⠀⠀⠄⠈⡀⢈⠀⠀⠀⠣⡀⠀⠙⠷⣯⠃⢼⣹⣿ +⣼⡻⠞⡠⠓⡜⣤⣜⣳⡞⠋⠁⠀⢠⠔⠃⠀⢀⠠⠈⠄⠡⢀⠁⢂⠐⡀⠂⢈⠐⠈⡐⠀⡐⠠⢁⠐⠀⢠⠆⠀⠀⠂⠌⡀⠈⠠⡘⠔⠀⠀⠀⠀⠈⠀⠀⠀⡀⠌⢄⠃⠌⡑⠠⠊⢄⡁⠆⡡⢊⠰⢁⠊⡐⠐⡈⠡⠌⢂⠅⢊⠔⡰⢈⠒⡀⠎⠐⠁⠂⠀⠁⠀⠀⠈⠀⠀⠀⠀⢀⡀⠀⠀⠠⠁⠀⠄⠂⠄⠀⠀⠙⢆⡀⠀⠐⠸⣯⢿⣽ +⣟⠡⢊⢴⣹⣼⣳⠾⠁⠀⠀⢀⠖⠁⠀⠀⠄⠂⠄⠡⠈⠀⠀⡀⠀⠀⢀⠁⢂⠠⠁⠄⠂⠠⠐⠀⠀⣠⡏⠀⠀⠠⢁⠂⠀⢄⢣⠅⠀⠀⢀⠂⠀⠀⠀⢀⠂⠐⡈⠤⠈⡔⠠⢃⠅⠢⠐⠌⡐⠄⠂⠌⡐⠠⢁⠐⠡⠈⠄⢈⠠⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⠤⠴⠒⠒⠉⢀⠐⠠⠀⠁⠠⠁⡀⠂⠄⠂⠀⠀⠀⠳⡄⠀⠀⠘⢯⢿ +⡉⣦⢿⡶⣏⠓⠁⠀⠀⢀⠔⠀⠀⢀⠐⡈⠄⠡⠈⠀⢀⣴⡾⠍⠀⠀⠠⠈⠄⡐⢀⠂⠌⡀⠁⠀⢠⡷⠁⠀⠠⠁⠀⡠⡔⣊⠆⠀⠀⠀⠠⠀⠀⠀⠀⠂⢀⠀⠰⢈⠡⡀⡑⠂⠌⡐⢉⠐⠠⢈⠐⠠⢀⠡⠀⠌⠀⠁⡀⠂⠀⠀⠀⠀⠀⣀⣠⣤⠶⠋⠛⠉⠁⠀⠠⠀⠂⠐⡈⠀⠐⠠⢀⠈⠄⠐⠀⠌⠀⠀⠀⠀⠀⡀⠙⢦⠀⠀⠀⠹ +⣟⣯⢏⠳⠈⠀⠀⢀⡔⠋⣠⡾⠉⠄⢂⠀⠂⠀⣠⡾⣟⡾⠁⠀⠀⠌⠠⠁⢂⠐⠠⠀⠀⠀⠀⢀⣿⡝⠀⠀⠀⢀⣾⠓⡜⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠐⠀⠠⠐⢂⠡⡐⢄⡉⠐⡀⠂⠌⠐⡀⠌⠀⠂⠀⠐⠀⠈⠀⠀⠀⣀⡤⠴⠖⠛⠉⠁⢀⠀⡐⠠⠀⠌⢀⠡⠀⢁⠂⠀⠁⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠠⠐⠀⠈⠓⡀⠀⠀ +⡟⠴⠉⢀⠀⢀⡴⠃⣠⣾⠟⠀⠐⠈⠀⢀⡰⣾⣽⣻⡝⠀⠀⠀⠌⠠⠁⠌⠠⠈⠀⠀⠀⠀⠀⣼⣯⠇⠀⠀⣴⡿⠂⡝⠂⠀⠀⠀⠀⠀⠈⡀⠂⠀⠀⠀⢈⠀⠄⠀⠒⡀⠂⠄⢁⠠⠁⠈⢀⠀⠀⠀⠀⠀⠀⣀⡤⠔⠢⠉⠁⠀⠄⠠⠀⠂⢈⠀⡐⢀⠀⠡⠀⠂⠀⠈⠀⠀⠀⣀⣀⣤⣴⣲⣶⣲⢍⡚⡴⣀⣀⠀⠀⠀⠁⠀⠐⠀⠀⠀ +⠊⠀⡐⠁⣠⠏⢀⣼⣟⠃⠀⠀⠀⣀⠶⢡⣟⡷⣯⠓⠀⠀⠠⠁⠌⠀⠁⢀⡀⠀⠀⠈⠄⠀⢰⣿⡽⠀⠀⣾⣯⠇⡱⠎⠀⠀⠀⠀⠀⠀⠀⠀⡐⢀⠀⠀⠀⠠⠀⠈⠄⢀⠈⠀⠂⠀⠀⠁⠀⠀⢀⡀⠐⠊⠉⢀⠀⡀⠄⠐⠈⠠⠈⠀⠄⠁⠂⠀⠀⠀⠈⠀⠀⢀⣀⣤⡴⣶⣻⡾⣟⣾⡽⣷⣻⣽⣯⣗⠣⣝⢦⢏⡴⣀⠀⠀⠀⠀⠀⠀ +⢠⠊⢀⡞⠁⣠⣿⡻⠌⠠⢁⣲⡞⠋⣴⣻⢯⣿⠁⠀⠀⠠⠁⠌⠀⠀⣴⣯⠁⠀⠀⠰⠀⠀⣾⢯⡃⢀⣼⣿⡞⠠⠑⠀⠀⠀⠀⠐⠀⠂⠀⠀⢀⠀⠀⠀⠀⠀⠀⠁⡀⢀⠐⠈⠀⠀⠀⠀⠀⠀⠄⠀⡐⠀⠡⠀⠐⢀⠠⠈⢀⠁⠄⠁⠈⠀⠀⢀⣀⢤⡴⣲⢯⡿⣽⣾⣻⡷⣟⣿⡽⣾⣻⡟⣷⣫⣷⣯⣳⢌⡚⡼⣱⢋⡯⣓⢦⡤⣄⡀ +⠁⢠⠏⠀⣼⣟⣷⠃⢌⡱⣾⠣⠉⣰⡿⣯⡿⡏⠀⠀⠌⠠⠁⠀⣀⣾⢯⠁⠀⠀⣰⢏⠀⢨⣟⣿⣀⡾⣟⣾⠅⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠈⡀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠐⠈⠀⠌⠀⡀⠐⠠⠁⠂⠠⠐⠀⠀⠀⠀⠀⣠⠤⣞⣳⡾⣯⢿⣟⡿⠽⣳⠿⣽⠻⠟⠚⠛⠁⠁⠀⠀⠉⢲⣯⣷⢿⡼⣑⢎⢧⠳⣍⠶⡳⢬⡹ +⣴⠋⠀⣾⣟⡞⠧⣈⣶⡟⠃⠀⣰⡿⣽⢳⡟⡇⠀⠀⠂⠀⡀⢶⣻⡽⠃⠀⠀⣸⣯⡆⠀⣼⣻⢮⣽⠃⣽⢿⡀⠂⠀⠀⠀⠀⢀⠠⠐⠀⠁⠀⠀⠀⢁⠀⠈⢦⣀⠀⠀⠀⠀⢀⠐⠈⠀⢀⠂⢁⠀⠂⠄⠁⠀⠀⠁⠀⠀⣀⠄⠀⠀⣼⢲⡿⣽⢿⡽⠿⠕⠊⠀⠐⠒⠉⠀⠀⠀⠀⠀⣀⡠⢤⡀⠀⢻⡷⣿⣯⢷⣏⢎⣎⠳⣌⡳⣍⠧⣝ +⠇⠀⣼⣻⢾⡙⣤⢿⡓⢨⠁⢠⣿⣟⡾⣿⡹⠀⠀⠀⣀⡖⠁⣼⢯⠇⠀⠀⢠⣿⣳⠁⠀⣿⡽⣟⡾⠐⣯⣿⠀⠀⠀⠀⡀⢂⠀⠐⠀⠡⠈⡀⠀⠀⠀⠈⠄⠀⠈⠉⠁⠀⠡⠀⢀⠐⠈⠀⠄⠂⠈⠀⠀⠀⠀⠀⢠⢒⡱⠌⠀⠀⣸⡼⣯⣟⣯⡟⠉⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⠾⣹⢧⣛⣧⣇⠀⠈⢻⣽⣾⣟⡾⣭⢎⡳⢥⣛⢬⡛⡼ +⠀⣼⠿⣝⡞⣴⠿⢃⡐⠃⢰⣿⣻⣼⠋⠁⠁⠀⢀⡼⡏⠀⢰⣿⡻⠀⢠⢠⣿⡽⠇⠀⢀⣿⣟⡯⠁⠐⣿⣎⠀⠀⠀⠁⡀⠠⢀⠁⠂⡀⢡⣠⣤⠄⠀⠀⠈⡐⠠⠀⠌⠐⠀⡁⢀⠂⠀⠁⠀⠀⠀⠀⠀⠀⠀⢀⢮⣱⠃⠀⠀⣰⢷⣻⢷⡫⠞⠀⠀⠀⠀⠀⠀⢼⡿⣽⠯⣟⢾⣻⡷⣟⣯⢿⣽⠂⠀⠈⢿⣾⣏⡿⣽⣻⡔⢣⢎⡧⢽⡱ +⣼⣯⣟⡾⣽⢏⠃⡜⠬⢡⣿⣾⣳⡟⠀⠀⠀⢀⡾⠋⠀⢀⣿⣳⠇⠀⣼⢯⣷⢻⠁⠀⢰⣟⣾⠃⢠⠘⣿⠆⠀⠀⢀⠁⠠⠐⠀⣠⢶⠽⠋⠁⠀⠀⠀⠀⠀⠀⠄⠡⠀⠌⠐⠀⠀⠀⢀⠤⠄⠀⠀⠀⠀⠀⢠⣏⠖⡇⠀⠀⣐⣯⢿⡯⠟⠀⠀⠀⠀⢀⠆⡂⠀⢘⣿⣝⡷⣫⣿⡝⣻⣽⢯⣿⣞⣟⢦⠀⠘⣯⣿⣽⣳⣻⣞⡱⢎⣝⡲⣝ +⣿⣾⣳⣟⠿⡀⡝⢬⠡⣿⣳⢯⡷⠁⣰⡇⢠⠟⠀⠀⠀⣼⡿⡝⠀⢠⣿⣻⡽⠊⠀⠀⢸⣟⡾⠁⡰⠀⡿⠀⠀⠀⠀⠂⢄⠢⠝⠃⠀⠀⠀⠀⠀⠯⡔⢣⠀⠀⠀⠂⠐⠀⠀⢀⢤⠰⣩⠞⠀⠀⠀⠀⠀⡰⣏⡜⡏⠀⠀⢠⣟⣾⣛⠎⠀⠀⠀⠀⡄⢣⠘⡄⠀⠈⢿⣾⣟⣿⢷⠂⠀⠻⣟⣾⣽⣻⢯⠀⠀⢻⣷⣯⣷⢻⡾⣽⣎⠮⡵⢎ +⣿⣞⣷⠯⡱⡘⡜⢢⡹⡷⣯⢿⡅⣹⢿⣽⠘⠀⠀⠀⣸⢯⣟⡇⠀⢸⡧⣟⡇⠀⡅⠀⢘⡿⡇⠀⢧⠀⠇⠀⠀⠠⠁⠜⠊⠁⠀⠀⠀⠀⠀⠀⠈⣳⢚⡥⢚⠤⣀⣀⠠⡰⡸⣌⢎⣗⢣⠏⠀⠀⠀⠀⢰⡝⣲⠍⠀⠀⠀⣾⢯⡷⠁⠀⠀⠀⠀⠀⠘⡄⢣⠜⣡⠀⠈⢿⡾⠏⠃⠀⡀⠀⢻⣽⣾⡽⣶⣒⠀⠈⢿⣾⣏⡿⣽⣷⣻⡼⣱⢫ +⣿⡾⣝⢣⠱⡑⣎⢡⠿⣽⢯⡟⣀⣿⣯⠃⠀⢀⠂⢀⣿⣟⡏⠀⠀⣻⡇⣿⡇⠀⠆⠀⠈⣿⡇⢀⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠘⡧⣞⡥⣚⢴⢪⡕⣣⠷⡜⠮⣜⡫⠄⠀⠀⠀⢠⢇⡻⡜⠀⠀⠀⣸⣿⡻⠀⠀⠀⠀⣠⠀⠀⠀⠈⣇⠚⣥⢒⡀⠀⠀⠀⢀⠖⡱⠀⠀⢿⡷⣿⣻⣧⠀⠀⣻⡷⣯⣻⢷⣯⢷⣷⢣⢏ +⣿⡽⢃⠦⣙⠲⠌⣞⡿⣏⣿⠰⣼⣻⠌⠀⢠⠋⠀⢸⣟⣾⠁⠀⠀⣿⠆⣿⡃⠀⡅⠀⠀⣚⢧⠠⢇⡄⠀⠀⠀⢀⠴⣉⠞⡀⠀⠀⠀⠂⠀⠀⠀⠈⢵⠺⣔⡱⢎⡳⣜⡡⢎⡭⢳⡍⡗⠀⠀⠀⢀⡞⣼⢱⠃⠀⠀⢰⡿⣞⠁⠀⠀⠀⠰⣀⠒⠀⠀⠀⠈⠳⢤⢣⡙⣜⢲⣼⣛⠮⡱⡁⠀⠀⢻⣿⢷⣏⠇⠀⢽⣻⣷⣻⣟⣾⣻⣯⡟⡼ +⣿⡝⢢⠱⣊⠵⣉⡾⣽⢧⡟⣰⣯⡛⠀⠀⡎⡅⠀⣾⣽⡞⠀⠀⠠⣿⠃⢸⡗⡠⠄⠀⠀⢐⢣⡙⠦⡀⠀⠀⠠⠜⣆⢧⣋⢷⣀⠀⠀⠀⠄⠁⠀⠀⢸⣋⠶⣩⢎⡵⣌⠳⣎⡜⢧⡝⠆⠀⠀⢀⣎⠾⣄⠏⠀⠀⢠⣟⡿⠀⠀⠀⠀⠀⡱⢈⠜⣀⠀⠀⠀⠀⠃⢧⡘⢬⠟⠎⣑⢊⠱⡱⠀⠀⠘⣯⣿⡃⠀⠀⣾⣽⣷⣻⣞⣷⣻⣷⣻⣘ +⣿⠘⣌⠣⡕⢪⢴⣻⣝⣻⠌⣷⢯⠃⠀⢢⠵⠀⠀⣿⡾⡅⠀⠀⠀⣿⡁⢢⠝⡴⠀⠀⠀⠀⢧⢚⡱⠀⠀⠀⠀⢩⠜⣶⢩⢞⡱⣆⠀⠀⠀⢀⠀⠀⠀⢭⣳⠱⣎⢲⣩⠳⣤⢋⠶⣙⠂⠀⠀⡸⣬⢓⠎⠀⠀⠀⣼⢯⠃⠀⢸⠀⠀⠀⡱⢈⡒⢌⡆⠀⠀⠀⠀⠐⠹⡌⢎⣷⠻⠞⣳⠱⡀⠀⠀⢻⡖⠁⢀⣶⣟⣾⢳⣽⢾⣳⣿⣳⣧⣳ +⣏⠞⣨⠓⣌⠳⣞⣳⡞⡷⢸⣽⡧⠀⡸⢡⠞⠀⢸⡿⣽⠂⠀⡁⠀⣿⠄⣘⢎⡱⠀⠀⠀⠀⢘⢦⡑⠀⠀⠀⠀⠰⢫⣜⢣⢎⠷⡜⢦⡀⠀⠀⠀⠀⠀⢸⠲⡭⣜⢣⡜⡳⢬⡙⡞⣭⠀⠀⢠⣓⠧⠉⠀⠀⠀⢰⣯⡏⠀⠀⣯⠀⠀⠀⢑⢢⠘⡆⠞⡤⠀⠀⠀⠀⠀⢙⠎⡥⢃⠶⣈⠧⡁⠀⠀⠀⠀⢠⣾⡷⣟⣯⣟⡾⣯⣓⣯⡷⡏⠃ +⣏⠞⡴⣋⠴⡩⣟⣵⡻⣅⢻⣾⠁⢰⡑⡫⢜⠀⢸⣟⣿⠀⠀⡀⠀⢿⣃⢈⠦⡁⠀⠀⠀⠀⠈⢦⡑⠀⠀⠀⢀⡭⢳⣌⢳⠪⣝⡹⢎⡵⡄⠀⠀⠀⠀⠀⢏⠷⣘⢦⡹⣱⠣⡝⣼⣡⠀⠀⡴⢋⠎⠀⠀⠀⢀⣾⣿⠀⠀⢣⣿⠀⠀⠀⠈⢢⠱⣌⠫⣔⢣⠄⠀⠀⠀⠀⢋⠖⣩⢒⡍⡲⡁⠀⠀⠀⣰⣿⣻⣽⡻⡾⣝⣻⢵⡯⣟⠃⠀⠀ +⣎⠳⡜⣆⠣⠵⣿⣼⡳⠎⣼⣻⠀⡱⢬⠱⢎⠄⢸⡿⣞⠀⠀⡀⠀⣏⠳⣌⠳⠀⠀⠀⠄⠀⠀⠣⠄⠀⠠⣜⠳⣜⢣⡜⢣⡛⣬⠓⣏⢶⣙⣆⠀⠀⠀⠀⠸⣩⢓⠮⣱⢣⢛⡜⢦⠇⠀⠀⠖⠀⠀⠀⠀⠀⣸⣿⢾⣀⣼⣷⣻⠀⠀⠀⠀⠀⠳⢌⠳⣈⠆⣏⠦⠀⠀⠀⠀⠘⡥⢊⡴⢡⠃⠀⠀⢰⣿⣞⣷⣟⣾⣟⡿⣽⣶⠛⠀⠀⠀⡀ +⣎⠷⣙⡬⢣⡹⣷⢾⡝⠲⣜⡯⠀⡱⢊⡵⢊⠆⠘⣿⣭⠀⠀⠀⠸⣜⡝⢦⡙⠀⠀⠀⠀⠀⠀⠘⡀⠀⠰⣍⠻⣜⢆⡺⢥⡛⡴⢫⡜⣞⢲⡬⢳⡄⠀⠀⠀⢡⡏⢧⢳⡩⢞⡸⢭⠞⠀⣠⢄⠀⠀⠀⣠⡴⡟⣾⢿⡿⢯⣷⡿⡄⠀⠀⠀⠀⠘⢌⡳⢄⢫⡔⣩⢓⠦⣀⠀⠀⠘⣱⠸⣡⠂⠀⣰⣿⣟⡾⣽⠞⠃⠉⣠⡿⠊⠀⣀⣴⣳⣿ +⣎⠷⣌⠳⣅⠺⣽⢯⣏⠱⣎⡕⠀⡵⣉⠖⣩⠚⡄⢻⡷⣀⠀⠀⢹⢆⡛⢦⡑⠀⠀⠀⠀⠀⠀⠀⢀⠀⠐⠸⢫⡜⢧⡹⣆⢳⡜⣣⠜⣆⠧⣝⡣⢞⣤⠀⠀⠀⢹⣎⠳⡜⣬⢓⡭⢞⡡⢎⡯⣞⡿⣟⣷⣻⣽⢯⣿⣽⣻⣯⢿⡅⠀⠘⡄⠀⠀⠀⠱⡊⠵⡘⠤⢋⠲⣅⢚⠤⣀⢌⠇⡐⠀⢰⣟⣷⣻⠝⠁⠀⠀⣾⣽⠃⢠⡾⣽⣳⡿⣽ +⣎⢗⣎⠻⣌⠓⣯⣟⡮⢱⣚⡤⠀⢖⡡⢎⡅⢫⡜⣡⢏⡖⠀⠀⢘⣎⢳⣃⠆⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠈⠓⠳⢍⡳⢮⡱⢫⡜⢮⡱⣙⡎⢾⡱⣄⠀⠐⢎⡳⣝⢢⡍⢶⡩⡝⢮⣑⣻⣽⢿⣽⣳⣯⢿⡾⣽⣳⢿⣯⣷⠀⠀⢻⣤⠀⠀⠀⠘⠡⡙⠜⣣⠓⡌⢎⡚⠤⠋⠂⠀⢠⡿⣽⠞⠁⠀⠀⠀⣼⣳⢿⣚⣯⢟⣧⢿⣽⣳ +⡘⢮⡜⡳⣌⠳⡸⣿⡜⡡⢞⡄⠀⢣⠞⣰⢊⡥⣚⠤⣫⢜⡁⠀⢸⡜⣣⠞⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠲⣙⢧⣚⠵⣊⡕⢺⢥⠳⣍⢶⡀⠈⡼⣘⢧⡚⣥⢚⡝⢦⠳⣼⢯⡿⣞⡷⣯⡿⣽⣳⣯⢿⣹⣿⡀⠀⠐⣯⢷⣄⠀⠀⠀⠈⠘⠤⠛⠌⠃⠉⠀⣀⠄⢀⣿⢿⠁⠀⠀⠀⠀⢠⣿⡽⣷⣻⢞⣻⡼⠏⠃⠁ +⢈⢳⣜⣱⣍⢣⣇⢹⣧⢱⣋⡖⠀⢣⢚⣤⣃⡖⣭⢲⢱⣎⡆⠀⢈⡞⣥⢛⠀⠀⠘⣭⢋⣷⣓⡞⣤⠀⢠⣄⣀⡀⠀⠀⠀⠀⠀⠈⠑⣎⣯⢳⣼⣙⣮⣱⣭⣖⣳⣤⢓⣭⣶⡙⣴⢋⣼⣃⡟⣼⣯⣿⣽⣛⣷⣻⣷⣻⣞⣿⣻⣾⣵⡂⠀⢹⡟⣯⣷⣤⡀⠀⠀⠀⠀⢀⣠⣴⣾⡏⢀⣼⣯⠁⠀⣼⡀⠀⠀⣼⣷⣿⣳⣯⣟⣯⣷⣴⣤⣆ +⠈⢿⡩⢧⡙⢧⡘⢧⠙⣏⡹⢇⠀⠸⡘⢧⡙⢼⣙⢏⠿⣙⢇⠀⠈⠁⠉⠈⠀⠀⠀⠉⠘⠁⠋⢻⣍⢃⣈⠽⣍⠻⢟⣣⠤⣀⠀⠀⠀⠈⠈⠀⢹⡻⢼⣣⠻⣜⣣⡝⢯⡝⣏⠻⣥⠻⣥⢛⡼⢯⣟⡿⣽⣻⣟⡿⣟⣯⢿⣽⣻⢿⣯⡇⠀⠈⠛⠋⠉⠉⠁⠀⢀⣠⣼⡿⣿⢯⣟⡇⣼⣻⠁⠀⣼⠁⠃⠀⠀⣿⣽⡿⣟⡿⣽⣟⡿⣿⣻⣽ +⡂⢸⡱⢎⡵⢣⠞⣂⠧⠰⣭⢳⠀⠐⡍⢖⡩⢖⡭⢎⡝⣎⢞⡀⠀⢰⢆⠦⠀⢠⣤⣀⣀⡀⠀⠀⠀⠀⠀⠉⠈⠉⠈⠈⠑⠁⠉⠁⠀⠀⠀⠀⠉⢳⣣⠮⡕⢦⠳⣜⢣⠞⣬⠳⣌⠳⣎⠳⣜⡿⣾⡽⣷⣻⢾⣽⣻⢾⣟⣾⡽⣯⣷⣧⠀⠀⠀⠀⠀⣠⣴⡿⣟⣯⠿⡽⣏⣽⢾⡽⣳⣿⣧⡿⣅⠂⠀⠀⢰⣟⣯⣟⣾⣻⢷⣯⣟⣿⣽⣻ +⣥⠀⢧⣋⠶⣙⠞⢤⢃⠣⢎⣳⠀⠀⠸⣘⢆⡏⢾⡱⠜⡬⢮⡅⠀⢈⡞⡣⠀⢸⢶⡽⣯⢟⡿⣷⣦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢾⡱⢦⡡⢟⡸⢣⡛⣬⢣⡛⡴⢫⠜⡳⣌⠳⣭⡿⣼⣻⢷⣯⢿⡾⣽⣻⣞⣷⡽⣷⣻⣖⠀⠀⠀⣀⣞⡽⣿⡽⣽⣞⣿⣳⣟⣮⣟⡿⣽⣳⣟⣿⢠⠁⠀⠀⢸⣿⣟⣾⣳⣟⡿⣾⡽⣿⣾⢿ +⣎⡄⠘⣬⢚⡥⣛⡔⢪⠱⣍⢖⡣⠀⠀⢣⠎⣼⢣⡝⣸⢡⡳⠆⠀⠀⡽⡁⠀⢸⣟⡿⣼⡹⢾⣝⣳⢯⣿⣻⢷⣶⣤⢄⣠⣀⣠⣤⣤⢶⣯⢶⣭⢣⡝⢪⢕⡣⡝⢦⣣⠝⡼⣡⢏⡵⣊⠷⣱⣻⢷⣫⣿⡽⣯⣟⣷⣯⣟⣾⣽⣻⣽⣻⣦⣤⣐⡿⣞⣿⣳⣟⣧⣿⣞⣷⣟⣾⣽⣻⢷⣯⢿⡍⡄⠀⠀⠀⣾⣟⣿⣞⣯⡿⣽⣳⢿⣿⣽⣿ +⡜⣲⠀⢣⡝⢲⡱⣌⢣⢣⡜⣪⠕⠀⠀⠈⡜⢦⣣⠝⣦⠓⣭⢳⠀⠀⠸⡅⠀⣞⣿⣽⣳⣟⡿⣾⣽⣻⢾⣽⣻⣞⡿⣟⣿⣻⣽⣳⢿⣟⢾⣟⣾⣿⣻⢷⣎⣶⡙⡎⡖⢫⠵⣡⢞⣲⡙⣎⢷⣯⣟⣳⡽⣯⣟⣾⡽⣾⣽⣞⣾⣳⢿⣷⡿⣾⣟⣿⢯⣷⢯⣟⣧⣿⣹⢾⡽⣽⢾⣭⣟⡿⣯⢓⠁⠀⠀⠀⣿⣿⣳⢯⡿⣽⢯⣟⣿⣽⣾⢿ +⠈⡵⢣⠀⠞⣥⢛⡴⣃⢇⡚⣥⡛⠆⠀⠀⢩⠲⣡⢛⡴⢋⡼⣣⠀⠀⠐⡁⠀⣾⣯⣷⢻⢾⡽⣷⣯⣟⡿⣞⣷⢯⡿⣽⣳⣟⣷⣻⣟⣾⣻⣞⡷⣯⣟⣯⡿⣞⣿⣳⣭⣣⢏⠥⢋⠶⣹⡘⢾⣳⠿⣽⣻⡽⣞⣷⣻⢷⣻⢾⣯⢿⡻⣞⡿⣽⣟⣯⣿⢿⣻⣿⢾⣳⣯⢿⡽⢯⣟⡾⣽⢿⡳⠚⠀⠀⠀⢀⣿⡿⡽⣯⣟⣿⣻⢾⣽⣾⢿⣻ +⠀⠘⡝⣆⠘⢬⡳⢼⠁⠀⠀⠀⠉⠃⠀⠄⠀⢳⠢⡝⣬⢃⠷⣙⠆⠀⠀⠀⠀⣿⣳⣯⢿⢯⡿⣷⢯⡿⣽⣻⢾⣻⣟⣯⣿⢾⣻⢷⣯⣟⡷⣿⡽⣿⢾⣳⣟⡿⣞⡷⣯⢿⣾⣛⣮⡞⡥⣚⡽⢯⣟⢯⣟⣽⣻⣽⣻⢿⣻⢿⣛⠟⣿⣻⡟⣽⡿⣯⣿⠏⠉⠙⢿⢻⣽⣻⢯⣟⣯⣟⣯⣿⠃⠆⠀⠀⠀⢠⣿⣿⣛⡷⣯⢷⣯⣟⣾⣟⣿⣿ +⡄⠀⠹⡜⣄⠸⣱⠃⠀⠀⢀⣴⣤⡄⠀⠀⠀⠈⢧⡙⣆⠫⣞⠭⡆⠀⠀⠀⢰⣻⣟⣞⣻⣞⡿⣽⣟⣿⣳⢿⣯⢷⣯⣷⣯⣿⣽⣾⣳⢯⣟⣷⣻⡽⣯⢷⡿⣽⢿⡽⣟⡿⣾⣟⢷⣻⡷⣟⡾⣟⣞⡿⣾⣞⣷⢯⡟⠻⠉⠀⠈⠘⡻⢷⣿⣟⣿⢿⣝⡢⠀⠀⠀⢿⣻⣽⣷⢻⣾⢾⣽⣾⡃⠀⢀⠀⠀⢰⣿⣯⢷⣻⣟⡿⣾⡽⣾⣟⣾⣿ +⣳⡀⠀⠹⡜⡤⠁⠀⠀⢠⢻⣼⣳⣿⣳⣄⡀⠀⠈⠝⣦⢛⡬⢳⢥⠀⠀⠀⠐⣿⡽⣯⢷⣾⣽⡷⣿⢾⣯⣿⡾⢿⠯⠷⠿⠻⠾⠿⠽⢿⣻⢾⡷⣿⢽⣯⢷⣯⣿⣻⣽⣟⡷⣿⢾⣷⣻⣽⣻⣽⣮⢷⣿⡞⠋⠁⠀⠀⡀⠄⠀⠀⠰⣯⣟⣾⣿⣻⣯⢇⣂⣀⠀⠐⣿⣿⣞⢻⣮⣟⡷⣯⠀⠠⢞⡅⠀⢸⣷⡿⣯⡷⣟⣿⣳⣟⣷⣻⣿⢾ +⢧⡻⡄⠀⠘⡵⠀⠀⠀⡹⢎⣷⢫⣾⢯⣿⡽⣄⠀⠀⠃⢯⠴⡩⢞⡄⠀⠀⣠⢿⣻⡵⣿⡽⠞⠟⠙⠋⠀⠁⠁⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠩⣽⡷⣿⢾⡽⣞⡷⣽⣾⣭⣿⡽⣞⣷⢧⡿⣵⡾⣽⡟⠊⠀⠀⡐⢀⠆⡐⠀⠀⠀⠀⡿⣭⣗⠛⠁⠈⠏⠒⡈⠁⠈⣿⣷⣛⣮⣷⢿⣝⠃⠀⠀⠈⠅⠀⢸⣿⣽⣷⣻⣟⣾⣳⣟⡾⣽⣾⣿ +⣏⡳⣝⣆⠀⠈⠀⠀⠀⢹⡹⣞⢧⣯⣛⢾⣳⣏⣦⠀⠀⠈⢖⣣⢋⡖⡀⠀⢹⡿⠝⠋⠁⢀⣀⢤⢀⡰⠂⠈⠁⠀⠀⠀⠀⠑⠈⠛⠖⡶⢆⣄⠀⠙⢹⣯⣗⣯⣿⡿⣽⣟⣾⡽⣯⢯⣏⡿⣯⠟⠃⠀⠀⠀⠀⡐⡈⠔⡁⠀⠀⠀⠀⣿⢿⡽⣆⠀⠀⠀⠀⠁⠀⠀⠈⣟⡿⣽⠾⣏⠎⠀⣰⣷⡀⠀⠀⢈⣿⣾⣗⡿⣾⣽⣳⣯⢿⣽⣳⣿ +⠊⢽⡺⣜⢧⡀⠀⠀⠀⢸⢇⡯⢯⣏⣟⡾⣷⣻⣗⢯⡀⠀⠀⠙⢮⡱⢆⠀⠈⡔⡦⠜⠃⠋⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠘⠁⠲⠽⣞⡿⠓⠉⢀⣼⣏⣷⣫⢿⣯⠿⠉⠀⠀⠀⠀⣀⠒⢠⠘⠠⠀⠀⢀⣰⡾⣿⢯⣿⣟⣦⣀⣀⣧⢾⠀⠀⣀⡩⢟⣿⡛⠀⠀⣰⣟⣾⢧⠀⠀⠀⣿⣷⣯⣟⡷⣯⢷⣯⢿⣞⣿⣽ +⢀⠀⠱⢫⠶⣝⡂⠀⠀⠸⣎⢽⣫⣟⡾⣽⣳⡟⣯⢗⡛⡄⠀⠀⠱⣙⢦⠄⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⢤⡀⠈⠁⢀⣾⣻⣾⡽⣾⡽⡟⠎⠁⢀⡐⠀⡀⢆⡐⠌⣀⠃⡅⠀⢀⣯⣷⢿⡟⣻⢞⣽⢯⢿⡿⣽⢿⣶⢿⣻⣷⠾⠑⠀⠀⣸⢿⣽⣞⣿⡆⠀⠀⣿⣿⡾⣽⣻⢽⣟⣾⣿⣻⢾⡽ +⢎⠲⣀⡀⠈⠉⠃⠀⠀⢸⡜⡲⣽⢾⡽⣯⢷⡻⣟⢯⡷⣤⠀⠀⠀⠘⠈⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣶⣾⢛⣉⣀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣄⣰⣯⠏⠀⢠⣾⢷⢯⠗⠛⠉⠀⢀⡠⠔⡂⢄⠢⢁⠢⡐⢌⠠⠒⠀⠀⢸⣾⢯⣯⣟⡷⣯⣟⣯⣻⡽⢯⣟⣾⣟⠷⠉⠀⢀⡀⠀⠀⠉⠺⡽⣞⢷⡀⠀⢻⣷⡿⣯⣟⡿⣾⣻⣾⡽⣓⠾ +⠌⢳⢡⡜⡱⢒⡄⠀⠀⢰⡹⡕⢮⡿⣾⡽⣷⣻⡽⣾⣟⡿⣆⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⢿⣻⠿⣽⣻⢾⣿⣻⢿⡿⣟⣯⢿⣽⣻⣟⢿⣽⣻⡷⠍⠀⢰⣯⢾⠉⠀⡀⠄⠒⡈⠤⣀⠣⠌⡐⠄⢃⠐⠁⠢⠌⡑⠀⠀⣾⣿⣻⣗⣯⢿⣳⣾⣳⣷⢿⣻⠻⠘⠁⠀⢠⣾⣭⣷⣆⠀⠀⡄⠀⠙⢿⠄⠀⢸⣿⣟⡷⣽⣾⣟⡷⣯⠗⡎⠀ +⣤⡀⠈⠐⠙⠦⠄⠀⠀⢰⣹⡙⢎⣿⢷⣻⢷⣯⢷⣛⣾⡝⡧⠀⠀⠀⠀⠀⠀⠀⠀⠹⡞⣽⣯⢏⡿⣧⢯⣿⣼⡽⣯⢿⡽⣯⣟⣾⣳⣯⢾⣧⣛⠶⠀⢀⣿⣯⣯⠀⠀⠁⠠⢡⠘⠤⢀⠒⠤⢁⠊⠤⡀⠀⠀⣁⠂⠀⢠⣿⡷⢿⡾⣽⣯⢷⣾⢿⡽⠋⠁⢀⣠⣴⣿⣳⢿⣳⣟⣮⡄⠀⠘⢤⡀⠀⠀⠀⣼⣿⢯⡿⣵⣟⣾⣽⣳⠛⠀⠀ +⠀⠉⠓⠶⠤⡀⠀⠀⠀⣰⢣⡝⣊⣿⢯⣟⣯⣞⣯⢷⣯⢽⡁⠀⠀⠀⠀⢠⢞⣣⠀⠀⠿⣼⣞⡯⣿⣽⣻⢾⣳⡿⣽⢯⣟⣷⣻⣞⡷⣯⣟⡾⣧⠈⠀⢸⣿⢾⣽⣂⠀⠀⠀⠃⠘⠀⠁⠊⠀⠡⠊⡐⠤⢁⠀⠀⠀⢀⣾⣻⣽⢯⡷⣏⣾⢯⡛⠊⠀⣀⣴⢫⣾⣱⢯⣿⣻⠉⠋⠛⠁⠀⠀⣾⣝⡆⠀⠀⣿⣯⣿⣽⣳⢯⣟⢾⣸⠁⠀⣸ +⢦⣤⣀⣀⠀⠀⠀⠀⠀⣧⠳⣜⢡⣿⣻⢮⣗⡿⣞⣯⣾⢳⠀⠀⠀⡀⠀⣎⠳⣜⣃⠀⠘⡱⢯⣷⣳⣏⡿⣯⢿⣽⢯⣟⡿⣾⡽⣯⣟⣳⣯⢿⣻⠀⠀⢾⣽⣻⡽⣷⣦⡀⠀⠀⠀⠀⠒⠦⣤⢀⡀⠀⠀⠀⠀⠀⣀⠀⠈⢷⣟⣿⣞⣿⠭⠃⠀⣠⣞⣷⣻⣛⣧⢿⣟⣾⢷⡄⠀⠀⠀⣤⣞⡿⣏⠇⠀⠀⣿⣟⣾⣳⣟⣻⡞⢧⠃⠀⢠⢻ +⡷⣞⡽⢮⠃⠀⠀⠀⢰⢣⡛⡜⡆⣿⣽⣛⡾⣽⣻⣭⡟⡆⠀⠀⠀⠀⠘⣬⢛⢦⡝⣂⠀⠈⢯⣻⢗⣯⢿⣽⢯⣟⡿⣞⣿⣳⣟⣯⢿⡝⣯⣿⠧⠀⠀⣹⣾⣳⡿⣟⣾⣟⣧⣤⣀⢀⣠⡶⣯⡷⣽⣳⣶⣶⣶⣻⣽⣢⠄⠀⠙⠾⡳⠃⠀⣠⢾⡿⣽⣞⣷⣻⣾⣟⠛⠚⠋⠀⠀⢰⣾⡿⣽⣟⠾⠁⠀⢀⣿⣿⣳⡟⣾⢽⣭⠓⠀⢠⣿⣻ +⣟⡾⣽⠋⠀⠀⠀⠀⣏⠖⡹⡜⣥⢻⡾⣭⢿⣽⣳⢯⡷⠂⠀⠀⣸⠀⠀⠸⣭⠲⣭⢓⡆⠀⠈⢷⣻⢮⡿⣽⣻⢾⣽⡻⣷⣏⣿⣞⢿⣻⠿⣽⣟⡀⠀⢿⣻⣽⡿⣟⣿⣞⣯⠷⠞⠿⣽⡿⣽⣛⡷⣫⢿⣼⣹⢯⡷⣟⣦⡳⢄⠀⠀⠀⣼⢯⣟⣵⣻⣞⣳⢿⣳⣿⣶⡶⣶⢶⣶⣿⣳⣿⢿⣽⠎⠀⠀⣼⣿⢾⣯⢿⣽⢻⡬⠃⠀⣾⢷⣿ +⡿⣜⠃⠀⠀⠀⠀⣜⡣⢋⡵⣙⠦⡿⣽⣏⣷⢻⣽⡏⡟⠀⠀⢀⢧⣃⠀⠀⠀⠻⡴⣋⡞⡥⠀⠀⢞⣻⢿⣷⣻⢿⡾⣟⣿⢾⣟⡾⣿⣻⢿⣻⠾⣥⠀⠈⣿⢯⡗⠈⠉⠎⡙⡄⠀⠀⢹⣟⡿⣝⣷⣻⣟⡾⣽⢯⣻⣽⣞⠧⠈⠀⣠⢟⣾⢧⣟⡾⣳⣯⣟⣯⢷⣻⢶⡽⣯⣟⣾⢳⣯⣿⣻⠞⠀⠀⣸⢿⣾⢿⣽⣻⣞⢧⡏⠀⢰⡿⣿⣻ +⡟⡜⠀⠀⠀⠀⣸⠖⣍⡓⢶⡩⢞⣽⢶⣻⣞⡿⣯⡗⡇⠀⠀⠈⢶⡩⢆⠀⠀⠀⠑⢣⢞⣱⢃⡀⠈⠞⠻⠞⠏⠛⠙⠋⠈⠉⠀⣹⡷⣟⠏⠓⠉⠀⠀⠀⠉⢿⣻⣆⠀⠀⠈⣟⣀⣠⣰⣿⣻⢾⣽⣳⢯⡿⣽⣳⣯⣷⠋⠀⠀⣰⢯⣟⡯⣟⣾⡽⣷⣟⣾⣽⣻⢯⣿⡽⣷⣻⣾⢯⡷⣯⠓⠀⠀⣰⣿⣟⡾⣯⡷⣟⣾⡝⠆⠀⣾⣿⣟⣿ +⡝⠀⠀⠀⠀⢠⡻⡜⢢⡛⢦⡝⣎⡿⣯⢷⣯⣾⢷⡹⠀⠀⢀⡀⠀⢫⡝⡄⠀⠱⡀⠀⠈⠧⢏⡲⠀⠀⠀⠀⠀⠀⣠⣤⣶⢿⣼⡽⠍⠁⠀⣀⣀⢠⣀⣀⠀⠀⢻⣞⣷⣢⢄⠀⠙⠯⣽⡾⣽⣾⡳⣟⣯⣽⡷⣿⣞⠃⠀⢀⣼⣳⡿⣾⣽⣻⣾⡽⣷⠿⣾⡽⣯⣿⢾⣽⣷⢿⣯⣿⠛⠀⠀⢀⣶⣟⣷⣹⣟⣷⣻⡽⣷⢻⠀⢠⣿⢷⣿⣻ +⠁⠀⠀⠀⢀⢧⡳⢍⢧⡙⢮⡜⡼⣽⡽⣞⣾⡽⠃⡀⠀⠀⢸⣷⡄⠀⠸⣱⡀⠀⠀⠀⠀⠀⠉⠘⢯⠄⠀⠠⣶⢻⣽⣷⣻⠿⠈⠁⢀⣴⡾⣾⡽⣶⣻⣾⠷⣄⠀⠘⠹⣯⣟⡷⡀⠀⠀⠘⣿⢶⣻⣭⣟⣳⡟⠧⠁⠀⣰⣾⣳⣯⣟⣮⢷⣻⣾⡽⣯⣿⣳⣟⣷⣹⣯⢟⣾⠛⠃⠁⠀⢀⣴⣿⢻⣞⣷⣻⣞⡷⣏⣿⣽⠣⠀⣼⢿⣯⡿⣿ +⠀⠀⠀⡠⢋⠶⣹⡘⢦⡙⡶⣩⢽⣧⣻⣽⡳⣟⡅⠀⠀⠀⡟⠓⠈⠀⠀⠀⠳⠄⠀⠀⠀⠀⠀⣀⠀⠈⠂⠀⠘⢯⢷⡽⠃⠀⢀⣼⣿⣻⣝⣳⢿⣹⢷⣫⣿⣞⣳⣆⡀⠀⠛⠾⣍⡷⣦⢶⡿⣯⣟⣾⣻⠗⠋⠀⢠⣞⡵⣻⣯⢿⣽⡛⠻⣿⣳⣿⣳⢷⣯⢿⡾⣟⠞⠛⠈⠀⢀⣤⣞⡿⣽⢼⣻⣟⣾⣳⣯⡿⣽⣾⣟⠃⠀⣿⡿⣾⢿⣿ +⠀⠀⡰⢡⢋⠖⣥⢛⡬⢳⡱⢽⣞⣳⢯⣞⣿⣱⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠈⠂⠀⠀⡴⣻⡽⣟⣶⣤⣀⠀⠈⠘⠀⢠⣾⢯⣟⡾⣧⢿⡽⣯⣟⣯⢷⡻⣞⣿⣾⢿⡶⣤⣀⠀⠉⠀⠋⠐⠈⠙⠈⠀⠀⡀⠈⢿⣽⣻⠷⠀⠉⠉⠁⠀⢘⡿⣽⣻⢿⡞⡟⠉⠀⠀⣀⣤⣞⢯⡷⣯⡽⣯⣟⣷⣻⢷⣻⡾⣽⢷⣻⠎⠀⢸⣯⣟⣿⣻⣽ +⠀⢬⡑⢣⠎⠼⣘⠧⣚⠵⣊⣿⡽⣻⢾⣽⣻⡆⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⢀⣀⠀⠀⠉⢷⣻⡽⣷⢯⢷⠃⠀⠀⣰⢟⡿⣞⣯⢿⡽⣯⣟⣷⣻⣞⣯⢿⣹⠾⣝⣿⡽⣷⣯⢷⣦⡀⠀⠀⠀⠠⢤⡶⣟⣿⡀⠈⠉⠙⠯⠀⠀⢶⣒⣾⣟⡿⡽⠋⠋⠀⠀⣀⡰⣿⡽⣞⣯⢿⣹⢷⣟⡷⣟⡾⣽⣻⣷⢿⣯⠟⠁⠀⣠⣿⡟⣾⣳⢿⣽ +⠈⢦⡙⢆⢎⡱⢭⡚⢥⠳⣹⣾⣽⣻⠾⣽⢿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣞⣷⡶⣄⠀⢹⡿⣽⠫⠂⠀⠀⣼⣟⣾⣽⣻⣞⣯⣟⣷⣻⡞⣷⣻⢾⣯⣟⡿⣽⢾⣝⣳⣯⣟⣷⣭⣷⣤⣀⠀⠀⠻⢟⣾⡽⣄⠀⠠⢄⣀⣤⡞⠿⠚⠉⠀⠀⢀⣤⣖⣿⣽⣻⡳⣿⣝⡾⣯⡟⣿⣞⣿⡽⣿⣻⡽⡟⠋⠀⢀⣠⣾⢿⡵⣿⣳⣯⡟⠎ +⠀⠀⠈⠘⠢⠙⢆⠻⣌⣳⣟⣾⣱⢯⡽⣟⡯⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⢿⡽⣞⡯⣟⣿⣻⢧⣞⢿⡀⠁⠀⠀⣼⢿⣯⡷⣞⣷⣻⢾⡽⣞⣷⣻⢷⡯⣟⡾⣭⡿⣽⣟⡾⣷⣟⡾⣯⢻⣾⣳⣯⣏⢦⡄⡀⠈⠛⠽⢆⠀⠈⠉⠀⠀⢀⣀⡤⣶⢯⡿⣞⡿⣞⡷⣯⣟⡷⣯⣟⣶⡿⣽⡾⡿⣝⠳⠉⠀⠀⣠⣴⣿⣻⡽⣯⣟⣷⡻⠜⠁⠀ +⣠⢀⠀⠀⠀⠀⠈⠀⠘⠓⠻⣽⢯⣿⢻⣏⡇⡇⠀⠀⠀⠀⠀⣴⡾⣿⣹⢯⡽⣾⣝⡾⣵⣻⣏⡾⠉⠀⠀⠀⣾⢯⡿⣷⣻⣽⣾⡽⣯⢿⣽⣞⡷⣯⣟⣾⣽⣳⣿⣳⣯⢿⡷⣯⢿⣽⣳⣯⣷⡿⣯⢯⣽⡻⣴⢤⣀⠀⠀⢀⣠⡶⣽⣻⠾⣽⣛⢿⡼⣽⢯⡿⣽⣳⣯⣟⡿⡽⢏⡟⠡⠙⠀⠀⢀⣤⣶⡿⣟⣿⣞⡷⣻⢷⣻⣞⡷⣤⣶⢿ +⢧⣋⢯⡓⡶⡤⣄⣀⠀⠀⠀⠀⠈⠘⠣⣛⠼⣅⠀⠀⠀⣀⡾⣷⡿⣿⣹⢯⣟⡷⣯⣟⣿⣳⡯⠁⠀⠀⠀⣼⢯⣿⣹⢯⣷⣻⢾⣽⢯⣟⡾⣽⣻⣽⣛⣾⣽⣳⢯⡷⣯⡿⣽⢯⣟⡾⣽⢻⠞⡉⠁⠉⠉⠁⠉⠃⢋⡟⣻⢏⡿⡽⣟⣯⣿⢶⡿⣯⣟⣯⣿⠻⠻⠍⢳⠍⠣⠁⠉⠀⣀⣠⣴⣾⣿⣻⣾⢻⣟⡷⣯⢿⡽⣯⢷⡾⣝⡳⣿⣿ +⢧⡹⢦⣙⡱⢳⣍⢮⣝⡲⢤⣀⡀⠀⠀⠀⠙⠂⠀⠀⠀⠙⣻⣽⣳⣯⢟⣯⡿⣽⠷⣯⣷⠿⠁⠀⠀⠀⣸⠏⢿⣞⣷⣻⢾⣽⣻⣞⣯⢿⣹⢯⣗⣯⢿⡽⣶⣟⡿⣽⣻⣽⡻⢯⢯⡝⢮⠳⠉⠐⠉⠁⠀⠀⢀⡀⣀⠀⠀⠉⠐⠙⠞⢲⡱⣎⢻⡱⣍⠠⠬⠓⠓⠈⠁⠀⣀⣤⢶⣟⣷⣻⣟⢾⡽⣷⣫⡿⣯⢿⡽⣏⢿⣽⣫⢿⣅⢻⡷⣿ +⢣⠝⢦⠣⣝⠲⣬⢓⡬⣝⣣⠽⣸⠕⣦⢀⠀⠀⠀⠀⠀⠀⢵⢯⣷⣫⣟⠾⣽⣫⣟⡿⣽⠃⠀⠀⠀⡰⠏⠀⣼⣻⠾⣽⡻⣜⣿⣹⡾⣟⢯⣟⡾⡽⢯⡟⣧⢿⣻⡽⢟⢧⡻⣝⠚⠈⠁⠀⠀⠀⠀⠢⡙⢎⡱⠜⡤⢋⠖⡲⢄⣄⣀⡀⠀⠀⠀⠁⠀⠀⣀⣀⣤⣤⣶⣿⣽⣯⡿⣾⣻⣽⣮⣿⣻⣷⣻⡽⣯⢿⣽⣫⢟⣶⢯⣟⡮⢳⣟⣿ +⡑⠎⡆⠓⣌⠳⣡⠳⡜⢦⡱⢫⡕⡻⣔⢫⡳⣆⡄⠀⠀⠀⠈⠻⣰⠿⣼⣻⢧⢿⣼⣻⠁⠀⠀⠀⠀⠀⢠⣾⢿⡽⣫⢷⣻⡽⣞⠷⢩⣽⢻⣞⡷⣿⣏⡿⣟⡾⣣⢽⠫⠎⠁⠀⠀⠀⠐⢿⠀⠀⠀⠀⠈⠑⠨⢓⡌⢣⢚⡱⢊⡔⢮⣿⡿⣷⣾⣶⡷⣿⣽⣻⣞⡷⣿⣽⣻⣼⣟⡷⣯⢷⣯⢷⣻⢾⣵⣻⣽⣻⣞⡷⣯⣟⡿⣾⡕⣫⢾⣿ +⡘⡱⢈⠳⢄⠳⣄⢣⠙⢦⡙⡷⣘⠗⣎⠷⡳⡼⣘⢧⢆⡀⠀⠀⠈⠛⠃⢿⣯⣷⣻⠇⠀⠀⠀⠀⢠⣼⣻⣼⡿⣾⢽⣳⡻⠗⢉⣴⣟⣾⡽⣾⡽⣷⠯⠟⢣⠏⠑⠈⠀⠀⠀⠈⢀⡀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠃⠘⠡⠚⠼⠷⠟⣿⢳⡿⡽⢷⡟⡿⣾⣟⣿⣽⣷⡿⣾⣿⣻⡿⣾⡿⣽⣻⣞⡷⣯⣗⣯⢟⡾⣹⢻⡵⢏⡹⣟⣿ +⡱⢡⢋⠦⡩⠖⣌⠲⣉⠆⡉⠖⢭⡛⣬⢳⠳⣍⡳⢎⡧⠉⠀⠀⠀⠀⠀⠁⠘⠋⠏⠀⠀⠀⠀⠠⠛⢾⣟⣯⣿⢯⠗⠃⠁⣤⣟⣯⣿⢯⣟⣷⡙⠀⠁⠀⠀⠀⡠⠐⠀⠀⠤⠊⢷⡡⠀⣻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣼⣻⢾⣟⣾⢿⣟⣷⡿⣟⣿⣽⡿⣷⣿⣻⣷⣻⣮⣿⢾⣵⣿⣼⣦⣷⣯⣿ diff --git a/homes/data/ascii-art/fox-12.txt b/homes/data/ascii-art/fox-12.txt new file mode 100644 index 0000000..7545fe2 --- /dev/null +++ b/homes/data/ascii-art/fox-12.txt @@ -0,0 +1,31 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⢻⡄⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠞⠀⠀⣷⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢸⠳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠀⠀⠀⢻⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⡇⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣞⣽⠀⠀⠀⠀⢸⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⢃⠣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣆⠀⠀⠀⡰⢹⠋⠀⠀⠀⠀⠀⠸⡇⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠸⡄⠑⢄⠀⠀⠀⠀⠀⣀⣤⡤⢤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠜⣇⣠⠊⠀⢨⠆⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⡇⠀⠀⠑⢦⣀⡴⠋⠁⠀⠀⠀⠀⠈⠙⠓⠤⣤⣀⡀⠀⢀⣠⠞⠀⢸⠁⠀⠀⢸⠂⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⡇⠀⠀⠀⠀⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⣇⠀⠀⡟⠀⠀⠀⠀⠀⠀⢰⡇⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⣄⠀⢣⢰⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢠⡾⡀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡾⠁⠳⣸⣿⠀⠀⠀⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣧⠞⡇⠇⠀⠀⠀⠀⠀⠀⠾⠴⠒⢲⠀ +⠀⠀⠀⠀⣤⢄⡀⣇⠀⠀⠈⢿⢂⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣯⣾⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠀ +⠀⠀⠀⠀⢿⠀⠈⠉⠀⠀⠀⠸⣮⡇⠀⠀⠀⠘⠢⣀⠀⠀⠀⣀⡤⠤⠐⠒⠚⠉⠉⠉⠙⠒⠠⠜⢋⢹⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠀⠀ +⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⠀⢡⡈⢳⡄⠀⠀⠀⠀⠀⠀⠀⢠⣵⡀⠀⠀⠀⢰⣾⡽⠟⠒⠂⠀⠘⢌⠀⠀⠀⠀⠀⠀⠀⠀⣀⠄⢿⡀⠀⠀ +⠀⠀⠀⠀⠀⠈⠢⡀⠀⠀⠀⠀⠀⢳⢦⣻⡄⠀⢀⣰⠤⡄⠀⠘⣿⠇⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣄⡀⠱⡤⠄⠀⠀⠀⠀⠐⣅⠀⠀⣹⠆⠀ +⠀⠀⠀⠀⠀⢀⡼⠁⠀⠀⠀⠀⠀⠀⢣⣹⡿⠖⢻⣟⠈⠁⠀⠀⠈⡆⠀⠀⠀⠀⣰⣿⠿⣿⡏⣿⣿⣿⣷⣷⡇⠀⠀⠀⠀⠀⠈⠲⢎⡁⠀⠀ +⠀⠀⠀⠀⠀⠛⠤⠤⠤⣶⠀⠀⠀⠀⢀⣏⣔⣾⣿⣿⣿⣴⣄⠀⠀⠁⠀⠀⠀⠀⣿⠁⠘⣿⣧⠻⣿⣿⠟⣁⠉⠢⣀⡀⠀⠀⢀⣠⠞⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣀⠞⡇⠀⣸⣾⡟⢻⡇⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⢿⠀⠀⠘⣻⡗⢻⢅⠤⠭⣒⠂⠀⠙⡄⢳⢁⡼⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⡟⡻⣿⣿⠁⢻⣧⡻⣿⣿⣿⠇⠀⢀⡀⠀⠀⠀⠀⠀⠀⠘⣿⠟⢣⡢⠀⠀⠤⠤⠄⠀⢳⠀⠋⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠟⠁⢨⠉⠀⠀⡟⠛⠋⠉⡠⠀⢿⣿⡿⠁⠀⡤⠀⠀⠀⠀⠀⠀⡎⢀⣴⣤⣄⣄⠀⠀⠘⡀⡇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠋⠀⠀⢸⠀⠀⠀⠗⠀⠀⠀⢣⡀⠀⣹⢄⣀⠴⠁⠀⠀⠀⠀⠀⢀⣴⡌⢿⣿⣿⡇⠀⠀⢠⡁⢻⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣀⣴⡿⠀⠀⢠⡄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣷⣼⣿⣿⠏⠀⢀⢾⠙⣄⢧⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣠⡾⢻⠋⠀⠀⠀⠈⡫⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣠⣿⣿⣿⣿⣿⡿⠋⠁⢀⡴⠋⢈⠀⠈⢢⡳⡀⠀⠀ +⠀⠀⠀⢀⣾⠋⡠⠃⠀⠀⠀⢀⠞⠀⢧⡆⠀⠀⣀⠵⠤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣁⡀⢀⡴⢋⡔⡠⠋⠀⠀⠀⢳⡌⢦⠀ +⠀⠀⢠⡿⠁⡴⠁⠀⠀⢀⡔⠁⠀⠀⠀⠡⡴⠋⠀⠀⠀⠀⠈⠉⢱⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣯⣿⣿⣿⡟⠋⠁⠀⠀⠀⠀⠀⠀⠀⡟⡀⣧ +⠀⠀⣟⠁⡜⠁⠀⠀⡰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡁⠙⢦⠀⠀⠀⠀⢠⠏⢹⣟⠛⠛⠛⢉⡙⠻⡆⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⢸ +⠀⢸⠸⡼⠀⠀⢀⠎⠀⢀⣴⣶⣶⣶⣶⣄⣀⡀⠀⠀⠀⠀⢀⡟⢦⠀⢧⠀⠀⠀⡼⠀⠸⠂⠀⣰⡾⠿⡞⢦⠹⣠⣶⣶⣾⣶⣦⡀⢰⠟⢀⡿ +⠀⢸⡼⠀⠀⣠⠃⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣏⠉⠉⡆⠉⠉⢦⠈⡆⢸⠤⠤⠤⡗⡆⠀⠀⢰⢣⢱⣔⠘⠮⢽⣻⣿⣿⣿⣿⣿⣿⡏⣀⡾⠁ +⠀⣸⠁⠀⠀⠁⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⢰⠀⢠⣛⣄⠃⡼⠀⠀⠀⢿⠀⠀⠀⠘⠚⢾⣿⣤⡶⣼⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀ +⠀⡏⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⠀⢀⠟⠈⣠⠁⠀⠀⠀⠘⡄⢨⡇⠀⠀⠈⠀⢋⡻⠋⣸⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀ +⢸⠁⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡘⢴⣾⠀⡴⠁⠀⠀⠀⠀⠀⣿⡀⠀⠀⢀⣀⠀⠀⠀⢠⡿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ +⢸⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣰⠃⠊⣠⠞⠀⠀⠀⠀⠀⠀⠀⢿⠇⠀⠀⠈⣿⠀⠀⠀⠘⠛⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ diff --git a/homes/data/ascii-art/fox-13.txt b/homes/data/ascii-art/fox-13.txt new file mode 100644 index 0000000..02432e5 --- /dev/null +++ b/homes/data/ascii-art/fox-13.txt @@ -0,0 +1,15 @@ +⠀⠀⢠⠔⢆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠏⢆⠀⠀⠀⠀ +⠀⠀⡜⠀⠈⢶⡀⠀⠀⠀⠀⢠⠆⠀⠀⣠⠾⠉⠀⢈⠀⠀⠀⠀ +⠀⢀⡄⠀⠀⠘⡌⢢⣆⣀⣴⣷⣷⣾⡏⣋⡭⡕⠂⢸⡇⠀⠀⠀ +⠀⢸⡇⠠⠀⠈⡀⠀⠉⠻⢿⣿⣯⠭⠹⡿⣎⠁⣠⣸⠇⠀⠀⠀ +⠀⠀⡁⠐⢃⠠⣱⠀⡀⠄⠈⠙⢿⣷⣤⣵⣜⣣⣼⣽⡄⠀⠀⠀ +⠀⠀⢱⠄⠺⢥⠘⡼⠁⢀⡠⠴⠆⠉⠻⢿⠿⣏⢉⡟⠃⠀⠀⠀ +⠀⠀⢰⡏⣑⠒⠸⠁⠀⢊⣠⡤⣴⠀⢆⢰⠶⣽⣿⣾⠀⠀⠀⠀ +⠀⠀⠰⣿⣷⣶⡄⣀⣠⢾⣿⡿⢸⠄⢀⣺⣇⠿⡯⠿⡤⠀⠀⠀ +⠀⠀⢐⣾⠒⠈⠆⠀⠈⠉⠒⠀⠀⠈⠀⠈⢀⣂⡵⡈⢑⡀⠀⠀ +⠀⠀⠼⣏⣆⣂⠤⡀⠀⠀⠀⠐⠆⠀⠀⠸⢷⣶⠞⠈⢓⡂⠀⠀ +⠀⠀⠈⠙⣾⠀⣀⣒⣦⣀⡀⠀⠈⠠⣌⢁⠤⡦⡤⠳⠘⠀⠀⠀ +⠀⠀⠀⠈⠉⢁⣨⣁⢿⠟⠝⡷⣶⡦⢬⣐⡪⠟⠀⠀⠀⠀⠀⠀ +⠀⠀⢀⣀⡄⠮⠛⠏⠄⠆⠀⠈⠉⠉⠹⠻⠖⢴⢠⢄⢀⠀⠀⠀ +⢀⡴⠟⠋⠀⠀⠀⠤⠁⠐⠤⠀⠀⠀⠀⠔⠉⠓⢒⡈⢹⢷⡄⠀ +⢰⠃⠀⠀⠀⠀⢘⡖⠂⠀⠀⠀⠀⠀⠀⠲⠀⠀⠀⠐⠑⡄⠙⣄ diff --git a/homes/data/ascii-art/fox-14.txt b/homes/data/ascii-art/fox-14.txt new file mode 100644 index 0000000..5296f4e --- /dev/null +++ b/homes/data/ascii-art/fox-14.txt @@ -0,0 +1,56 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡄⠀⠀⠉⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡈⠀⢰⠀⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⢴⠀⠀⠀⢃⠀⠀⠀⠀⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠀⠀⠀⠀⠀⠄⠀⠀⠀⡿⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⢍⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⢀⠀⣈⣢⢔⠀⣀⢄⠀⡀⡐⡵⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⠀⠑⠀⠀⠠⠁⠀⢀⢒⢦⠀⢤⡐⠱⡘⢦⡡⠵⢝⢷⡄⠀⢃⢱⠘⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢣⡀⠀⠑⣧⠁⠀⢸⠀⣀⢧⠸⣟⣤⠷⣼⠙⡄⠹⢫⡷⡀⡀⡌⣇⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⣀⢠⠁⢸⣾⣹⠽⣿⠎⢇⠸⢿⣾⢿⣿⣿⠒⣏⡇⢣⠱⢰⢸⡆⠈⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢉⣧⣶⣻⠁⣯⡦⠀⠀⠘⠀⠈⠁⠊⠀⠈⡀⢹⣿⣸⡟⡜⡌⣿⡀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣏⣿⡏⡌⣼⣿⢶⡆⢀⠀⠀⠀⠀⠀⠀⠀⢨⡄⠀⠀⠁⡇⣿⣧⠀⠐⣧⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢽⣻⢿⡔⣼⢟⠂⠐⠛⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⣠⣾⣷⣿⣿⢇⠀⣿⢫⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠙⡎⢹⣾⡦⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⣿⣏⠏⢹⠸⢸⢠⠛⢸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⢸⠿⢿⣧⣄⡀⠀⣀⣀⣀⣠⣴⣶⣾⣿⣿⣿⣿⣇⠚⠃⠜⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢂⠐⠀⡆⢀⠀⠀⠈⡀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠐⠒⠀⠒⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠜⠀⢂⢃⠈⡔⠀⠀⠀⠀⠀⢄⣘⣿⣿⣿⣿⣿⣿⠿⠛⣽⠿⠁⠀⠄⠀⠀⠀⠀⠀⠈⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠁⠀⠸⣄⡉⠁⠀⠀⠀⢠⠊⣿⠟⢻⠟⣛⢉⣐⡲⢎⠀⠀⠀⠀⠈⠢⠄⠀⠀⠀⠀⠀⢂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠂⠀⠀⠀⣆⠴⣿⣞⡵⠋⠁⠀⠈⠙⠳⣷⣄⠀⠀⠀⠀⠀⠘⣶⣄⡠⢀⠀⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡞⡧⡀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⣤⣄⣠⣤⣤⣿⣿⣿⣷⣾⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢐⠖⠁⠀⠀⠒⠄⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠑⡄⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⠀⠀⠼⣿⣿⡷⢄⠀⠀⠀⣀⠄⢊⣼⣿⣿⣿⡿⢃⡼⠁⠙⠻⡛⠛⠛⠻⠿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢄⠀⠀⠌⣰⣿⣿⣿⣤⣉⣉⣁⣠⣶⣿⣿⣿⣿⠟⢠⠞⠀⠀⠀⠀⠈⢂⠀⠀⠀⠘⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣏⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠑⠠⡀⠀⠈⢿⣿⠏⠀⢉⣦⡀⠀⠀⠀⠀⠀⠀⠀⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡉⠻⢿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⢜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣱⢶⣻⣵⣶⣿⣿⣿⣧⢀⡠⢔⢶⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠦⡀⡏⠙⠻⠿⣿⡟⠁⠀⠀⠀⢨⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣵⣿⣿⣿⣿⣿⣿⣿⠟⣩⣤⡿⠃⠀⠀⠀⢠⠀⠀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠃ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡴⠁⡇⠀⠀⠀⠀⠉⠢⣀⠀⠀⠀⠳⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⢟⠟⣻⡫⠗⠉⠀⠀⠀⠀⠀⠘⡄⡆⠈⡀⡔⠀⠀⠀⡠⠁⠀⠀⠀⠀⢀⡌⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠃⠀⡇⠀⠀⠀⠀⠀⠀⣠⣿⣶⣤⢴⠛⠲⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⠟⠛⣩⠖⡿⠐⠁⠀⠀⠀⠀⠀⢀⠀⠀⠀⣱⣡⣀⠈⠀⠀⠀⠈⠀⠀⠀⠀⠀⢀⣮⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠇⠀⣀⣼⣤⣤⣀⣀⣤⣾⣿⣿⡏⣠⣾⡛⠒⠂⠈⣀⠀⣠⣾⣿⣿⣿⡟⢁⣴⡪⠒⠁⠀⠀⠀⠀⠀⠀⠀⣀⠾⠒⠀⠁⠀⠘⠺⣯⡶⡄⠀⠀⠀⠀⠐⠊⠐⡺⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣴⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⣾⣩⠴⠓⠀⠀⠈⣾⣿⣿⣿⣿⣿⣯⠾⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⠄⢉⠀⡄⠀⠀⠀⠀⠀⠀⢧⣘⡄⠀⠀⠀⢀⡴⠊⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠛⢿⣿⣿⡿⠿⠿⢿⠋⠀⢀⡤⠖⠛⡟⢲⣿⡏⠉⣁⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⢹⡁⠀⠀⡨⠉⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠉⠀⠀⠀⠀⢀⠤⠞⠁⢀⢀⣠⣧⣽⣿⣿⣿⠟⠛⢿⠛⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⠉⠃⢂⠀⠀⢀⣶⠁⣀⣤⣶⣾⣿⣿⣿⣿⣿⡿⠁⠀⠀⠈⢆⠀⠀⠈⠐⢄⠀⢀⡀⠀⠀⠀⠀⠀⡀⢸⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢦⣦⣴⣦⣷⣄⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠘⡆⠀⠀⠀⠀⠀⠈⠀⠀⠀⠂⠉⠀⢨⠉⠋⢍⠐⢄⠀⠀⠀⠀⠀⠀⠀⠀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢿⣿⡟⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡌⢇⠀⠀⠀⠀⠀⢐⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢸⣿⣿⣿⣿⣿⡟⢋⠉⠉⠀⠀⠀⠀⢀⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⠀⣀⠤⠔⠂⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠈⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⢰⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⢇⠚⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣇⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡂⢠⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⠇⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⢸⢧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣴⣿⣿⣿⡿⠛⢷⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠘⠉⠐⠠⠄⣀⡀⠀⢀⡀⡖⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⡿⠋⠁⠀⠀⠈⢃⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣀⣴⣾⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⢢⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠴⣞⣫⣶⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣠⣴⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢲⡀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠪⢂⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⣅⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⠿⠛⢿⣿⣿⣷⠀⠀⢀⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡛⣿⡀⠀⠀⠙⣻⣿⣷⡾⠛⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣷⣀⣠⣴⠿⠋⠁⢀⣴⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢫⡉⠉⠀⢀⣠⣶⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣦⣤⣶⣿⣿⡿⠋⣼⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡿⠋⣠⣾⣿⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠟⠉⣀⠔⢹⠟⠁⠀⢻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣉⡠⠊⠁⠸⠀⠀⠘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-2.txt b/homes/data/ascii-art/fox-2.txt new file mode 100644 index 0000000..2033bc0 --- /dev/null +++ b/homes/data/ascii-art/fox-2.txt @@ -0,0 +1,18 @@ +⠀⠀⠀⠀⣀⡀ +⠀⠀⠀⠀⣿⠙⣦⠀⠀⠀⠀⠀⠀⣀⣤⡶⠛⠁ +⠀⠀⠀⠀⢻⠀⠈⠳⠀⠀⣀⣴⡾⠛⠁⣠⠂⢠⠇ +⠀⠀⠀⠀⠈⢀⣀⠤⢤⡶⠟⠁⢀⣴⣟⠀⠀⣾ +⠀⠀⠀⠠⠞⠉⢁⠀⠉⠀⢀⣠⣾⣿⣏⠀⢠⡇ +⠀⠀⡰⠋⠀⢰⠃⠀⠀⠉⠛⠿⠿⠏⠁⠀⣸⠁ +⠀⠀⣄⠀⠀⠏⣤⣤⣀⡀⠀⠀⠀⠀⠀⠾⢯⣀ +⠀⠀⣻⠃⠀⣰⡿⠛⠁⠀⠀⠀⢤⣀⡀⠀⠺⣿⡟⠛⠁ +⠀⡠⠋⡤⠠⠋⠀⠀⢀⠐⠁⠀⠈⣙⢯⡃⠀⢈⡻⣦ +⢰⣷⠇⠀⠀⠀⢀⡠⠃⠀⠀⠀⠀⠈⠻⢯⡄⠀⢻⣿⣷ +⠀⠉⠲⣶⣶⢾⣉⣐⡚⠋⠀⠀⠀⠀⠀⠘⠀⠀⡎⣿⣿⡇ +⠀⠀⠀⠀⠀⣸⣿⣿⣿⣷⡄⠀⠀⢠⣿⣴⠀⠀⣿⣿⣿⣧ +⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⠇⠀⢠⠟⣿⠏⢀⣾⠟⢸⣿⠀⠀ +⠀⢠⣿⣿⣿⣿⠟⠘⠁⢠⠜⢉⣐⡥⠞⠋⢁⣴⣿⣿⠃ +⠀⠀⣾⢻⣿⣿⠃⠀⠀⡀⢀⡄⠁⠀⠀⢠⡾⠁ +⠀⠀⠃⢸⣿⡇⠀⢠⣾⡇⢸⡇⠀⠀⠀⡞ +⠀⠀⠀⠈⢿⡇⡰⠋⠈⠙⠂⠙⠢ +⠀⠀⠀⠀⠈⢧ diff --git a/homes/data/ascii-art/fox-3.txt b/homes/data/ascii-art/fox-3.txt new file mode 100644 index 0000000..f78d108 --- /dev/null +++ b/homes/data/ascii-art/fox-3.txt @@ -0,0 +1,8 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀, +⠀⠀⠀⠀⠀⠀⠀⠀⠀/|\ +⠀⠀⠀⠀⠀⠀⠀⠀/⠀|⠀| +,____,-'⠀__⠀⠀'-,-.-. +'-.⠀⠀⠀⠀_(⠀/⠀(⠀⠀⠀⠀⠀⠀⠀\-. +⠀⠀⠀'-.(_/\⠀/⠀_⠀⠀⠀⠀⠀⠀.⠀⠀) +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀a.'⠀\'⠀''⠀⠀,- +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀'._/,⠀-⠀' diff --git a/homes/data/ascii-art/fox-4.txt b/homes/data/ascii-art/fox-4.txt new file mode 100644 index 0000000..f998b80 --- /dev/null +++ b/homes/data/ascii-art/fox-4.txt @@ -0,0 +1,32 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░⠀⠀░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░██⠀⠀⠀⠀⠀⠀⠀⠀░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +██░░░░██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██░░██⠀⠀⠀⠀⠀⠀░░⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +██░░░░██░░░░████⠀⠀⠀⠀⠀⠀██████░░░░░░██⠀⠀⠀⠀░░░░██████████████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +██░░⠀⠀⠀⠀████░░░░██████░░░░░░░░░░░░░░██░░░░░░██░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +██░░░░⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀██░░⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░██░░░░░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀██░░⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀ +⠀⠀██░░░░⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀██░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀ +⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀⠀⠀██░░░░░░░░░░████░░░░░░░░██⠀⠀ +⠀⠀⠀⠀████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀██░░░░░░████░░░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░██░░░░░░░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀██████░░░░░░░░░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀⠀⠀██░░██░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░██ +⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░⠀⠀⠀⠀██░░░░░░░░░░░░░░░░░░░░░░░░░░░░██ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀░░██████░░░░░░░░░░░░░░⠀⠀⠀⠀██░░⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░░░██ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████░░░░░░░░░░⠀⠀⠀⠀██⠀⠀░░⠀⠀░░⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀████⠀⠀░░⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░⠀⠀░░░░░░░░░░██⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████████████████████⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░██⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░██⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀████████⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-5.txt b/homes/data/ascii-art/fox-5.txt new file mode 100644 index 0000000..eca024d --- /dev/null +++ b/homes/data/ascii-art/fox-5.txt @@ -0,0 +1,29 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀████ +⠀⠀⠀⠀⠀⠀██⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀██⠀⠀██ +⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀████⠀⠀██░░░░░░⠀⠀░░⠀⠀░░⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀██ +⠀⠀⠀⠀⠀⠀████⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░⠀⠀░░⠀⠀██⠀⠀⠀⠀██⠀⠀⠀⠀████ +⠀⠀⠀⠀⠀⠀██▒▒██⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░░░░░████⠀⠀██⠀⠀⠀⠀██▒▒██ +⠀⠀⠀⠀⠀⠀██▒▒▒▒██⠀⠀⠀⠀⠀⠀⠀⠀██████████████████████⠀⠀⠀⠀██▒▒▒▒██ +⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒██⠀⠀⠀⠀░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀██▒▒▒▒██⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒██⠀⠀░░░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒██░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒▒▒▒▒██░░░░░░░░░░░░░░░░░░░░██▒▒▒▒▒▒██⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒▒▒██░░░░░░░░░░░░░░░░░░░░░░░░██▒▒▒▒██⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██▒▒██░░░░░░░░░░░░░░░░░░░░░░░░░░██▒▒██⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀██░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀██░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀██░░░░░░░░██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀██░░░░░░░░░░░░██░░██████░░░░░░░░░░░░░░██████░░██⠀⠀⠀⠀⠀⠀ +⠀⠀██░░░░░░░░░░░░██░░░░░░░░██░░░░░░░░░░██░░░░░░░░██⠀⠀⠀⠀⠀⠀ +⠀⠀██░░░░░░░░░░░░░░██░░░░░░░░██░░░░░░██░░░░░░░░██░░██⠀⠀⠀⠀ +██░░░░░░░░░░░░░░░░░░██░░░░░░░░⠀⠀⠀⠀░░⠀⠀░░░░░░██░░░░██⠀⠀⠀⠀ +██░░░░░░░░░░░░░░░░░░░░████░░⠀⠀⠀⠀████⠀⠀⠀⠀████░░░░░░░░██⠀⠀ +██░░░░░░░░░░██░░░░░░░░░░░░████⠀⠀⠀⠀⠀⠀⠀⠀██░░░░░░░░░░░░██⠀⠀ +⠀⠀██░░░░░░░░██░░░░░░░░██████████████████████░░░░░░░░██⠀⠀ +⠀⠀██░░░░░░░░░░████░░░░░░⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀██⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀░░░░░░██⠀⠀ +⠀⠀⠀⠀████████████████████████████████████████████████⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-6.txt b/homes/data/ascii-art/fox-6.txt new file mode 100644 index 0000000..faac0a9 --- /dev/null +++ b/homes/data/ascii-art/fox-6.txt @@ -0,0 +1,23 @@ +⠀⠀⠀⠀⠀⠀⠀⣀⡈⢯⡉⠓⠦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠻⣉⠹⠷⠀⠀⠀⠙⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢈⡇⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⡇⠀⠹⠝⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⣠⠞⠀⣀⣠⣤⣤⠄⠀⠀⢠⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠚⠢⠼⠿⠟⢛⣾⠃⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⡴⣻⠃⠀⠀⠀⠀⢸⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⣰⢻⡷⠁⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢰⢽⡟⠁⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡆⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢸⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠘⢧⣳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣷⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠈⣷⣱⡀⠀⠀⠀⠀⣸⠀⠀⠀⠈⢻⣦⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢸⣷⡙⣆⠀⠀⣾⠃⠀⠀⠀⠀⠈⢽⡆⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠸⡇⢷⡏⠃⢠⠇⠀⠀⣀⠄⠀⠀⠀⣿⡖⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⡇⢨⠇⠀⡼⢀⠔⠊⠀⠀⠀⠀⠀⠘⣯⣄⢀⠀ +⠀⠀⠀⠀⠀⠀⠀⢰⡇⣼⡀⣰⣷⠁⠀⠀⠀⠀⠀⠀⠀⠀⣇⢻⣧⡄ +⠀⠀⠀⠀⣀⣮⣿⣿⣿⣯⡭⢉⠟⠛⠳⢤⣄⣀⣀⣀⣀⡴⢠⠨⢻⣿ +⠀⠀⢀⣾⣿⣿⣿⣿⢏⠓⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢨⣿ +⠀⣰⣿⣿⣿⣿⣿⣿⡱⠌⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢭⣾⠏ +⣰⡿⠟⠋⠛⢿⣿⣿⣊⠡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣼⡿⠋⠀ +⠋⠁⠀⠀⠀⠀⠈⠑⠿⢶⣄⣀⣀⣀⣀⣀⣄⣤⡶⠿⠟⠋⠁⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-7.txt b/homes/data/ascii-art/fox-7.txt new file mode 100644 index 0000000..9975938 --- /dev/null +++ b/homes/data/ascii-art/fox-7.txt @@ -0,0 +1,29 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠴⣄⠀⠀⠀⠀⣀⣀⣀⠤⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣏⠀⠋⠀⠀⢀⣨⡭⠽⠿⢯⡛⢿⡑⢦⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠘⢦⡤⠤⢖⣉⣁⣀⠀⠀⠀⠙⡄⠱⡀⠹⡄⠀⠀⠀⠀ +⠀⠀⣀⠀⠀⠀⢀⠜⣁⠴⠚⠉⣁⣀⡀⠑⡀⠀⠀⠀⠀⡇⠀⠹⡄⠀⠀⠀ +⠀⢺⠉⠃⠀⢠⡿⠚⣁⣤⠞⠉⣠⠤⠬⣷⡀⠀⠀⠀⠀⠇⠀⢀⣷⠀⠀⠀ +⠀⠀⠙⠒⣲⠟⠓⠋⣵⠋⠀⠀⠈⠁⠀⠈⢧⠀⠀⠀⠀⠀⠀⡼⠀⣇⠀⠀ +⠶⠤⠤⠖⢡⠶⣄⡜⠁⠀⠀⠀⠀⠀⠰⠖⣾⠀⠀⠀⠀⠀⡜⠀⠀⢸⠀⠀ +⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠀⠀⠀⠀⠊⠀⠀⠀⢸⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠊⠁⠀⠀⠀⠀⠀⠀⠀⢀⣠⠴⠛⣉⡗ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⢰⠋⣡⡶⠛⠉⠁⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⢀⣠⠤⢤⣤⣤⡾⠀⣏⣄⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠀⠀⠀⠰⠛⠉⠉⠉⠛⠉⠀⠀⣿⠀⡆⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠖⠚⡟⡆⢿⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠀⠀⢀⣾⣍⣀⠀⣸⠇⢹⠈⢦⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠈⠸⡄⠈⠉⠁⠀⠀⢣⣠⠃⠀ +⠀⠀⠀⠀⣰⢷⡀⠀⠀⠀⠀⠀⠹⣆⠀⠀⠀⠀⢳⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢻⠀⠉⠍⠳⠤⠤⠤⢶⡄⣇⠀⠀⠀⠀⢱⡀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢷⡀⠀⠀⠀⠀⡴⠋⠀⢹⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢇⣀⣀⣴⡄⠉⠲⠶⠚⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠸⡄⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⡴⠃⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣙⡶⣄⠀⢀⡘⣆⠀⠀⣶⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣠⠶⠒⠒⠋⠉⠁⠀⠈⣹⠻⠏⣻⠇⠀⢘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣼⣥⡶⠋⠉⠉⠉⠉⠉⠉⠁⢠⡞⠁⣠⡶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⠟⠁⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-8.txt b/homes/data/ascii-art/fox-8.txt new file mode 100644 index 0000000..44bd8c4 --- /dev/null +++ b/homes/data/ascii-art/fox-8.txt @@ -0,0 +1,42 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⢟⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⡇⣸⣸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⡟⢸⡷⣯⣼⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⣆⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⢏⣷⠏⠀⠸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⠙⠁⢿⡀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⢡⡟⢻⠀⠀⠀⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣾⡿⠟⢻⡇⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⢡⣸⠁⠈⠀⠀⢠⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⠋⠀⠀⢸⡇⠀⠀⣼⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡇⣾⢿⡀⠀⠀⠀⣼⣿⣿⣿⣀⣀⡟⠦⣄⠀⠀⠀⠀⠀⢀⡾⣿⡿⠁⠀⠀⠀⢸⡇⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⣿⠀⠙⢀⣠⠴⠛⠉⠁⠀⠀⠉⠉⠁⠀⠛⢦⡀⠀⣰⠟⣧⣿⠃⠀⠀⠀⠴⠛⢛⣷⠀⢹⣿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⠀⢻⡆⠐⠻⣿⡷⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⡇⠀⠀⠀⠀⠀⢀⣾⠋⠀⣿⡿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⠀⣻⣤⠾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⠀⠀⠀⠀⠐⠶⣿⠁⠀⢠⣿⠇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣇⣰⠏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠀⠀⣼⠇⠀⠰⣱⣿⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⢀⣠⠞⠁⠀⢀⣼⣿⠇⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⡋⠀⠀⣠⣴⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢠⠞⠁⠀⢠⣞⡋⢹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣶⡿⢿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⣠⠏⠀⠀⢠⡏⠀⠱⢼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⠶⣄⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢀⡀⠀⠀⠀⠀⢴⡛⢀⠀⠀⠋⣇⣀⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠑⣄⢸⡄⠀⠀⠀⠀⠀⠀⠘⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠸⡏⠓⠶⢤⡀⠀⣟⠛⠛⠙⠳⠮⣍⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⠈⣸⡗⠀⠀⠀⠀⠀⠀⠀⠸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣧⠀⠀⠀⠈⠙⠚⢦⣄⡀⠀⠀⠈⠓⠲⠖⠒⢒⣲⣴⡤⣤⣀⠀⠀⠀⣙⣦⣤⣯⡤⠤⠤⢤⣄⡀⠀⠀⠀⠹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠈⢧⠀⠀⠀⠀⠀⠀⠀⠉⠓⠢⢤⡀⢰⡀⠀⠘⠛⠉⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠐⠺⣧⣤⣤⣤⡿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣶⣾⣧⡀⠀⣠⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⣦⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠈⠳⠤⣀⠈⠀⠀⠀⢰⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠴⠎⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠲⠴⠇⠈⠳⢦⣄⣀⠉⠙⠛⢿⣿⣿⣿⣿⠀⢀⣀⣀⣤⡴⣶⡞⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡆⠉⠉⠁⠒⠒⠛⠛⠋⠉⣿⠛⠋⠁⠀⠀⠀⠹⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠁⠀⠀⠀⢄⠀⠀⠀⢀⠄⣷⠀⠀⠀⠀⠀⠀⠀⠈⠛⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠇⠀⠀⠀⠀⠀⠑⢤⠔⠁⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⢀⠔⠁⠱⢄⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠐⠁⠀⠀⠀⠀⠁⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠤⣴⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠝⣆⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠈⠀⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⣀⠸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣤⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⠀⢀⡀⠀⠀⠀⠀⠀⢦⡀⣯⠛⠛⠀⠀⠀⠀⢠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⡄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡄⣼⠁⠀⠀⠀⠀⠀⠀⣹⠃⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣹⡀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡆⠀⠀⠀⡆⠀⠀⣿⠀⠀⠀⠀⠀⠀⢀⣿⢃⣀⠴⠶⠒⠀⠀⠀⠀⠀⠀⠀⢳⣷⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡠⠴⣶⡒⠲⣾⣇⠀⢀⡾⠀⠀⢀⡇⠀⠀⠀⠀⠀⣀⣾⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⡤⠒⠉⠁⠀⠀⢈⣉⡷⣾⣿⣦⣾⣧⠀⠀⣸⣷⣦⣤⣤⣶⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⡏⠲⣄⡀⠀ +⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠈⠛⢻⣿⣿⣿⣿⣷⣤⣿⣾⢼⣿⣿⣷⣾⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠈⣿⢿⣦ +⠀⠀⠀⢀⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣮⣿⣿⢿⣥⣾⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⢹⠀⠀⡛⣿⠋ +⠀⠀⢠⡏⣀⣀⡠⠤⠖⠀⠀⠀⠀⠀⠀⠀⠲⣿⣿⣿⣿⣿⣿⣿⡿⣿⣯⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡴⠋⠀⡿⠀⠀⡿⣿⠀ +⠀⠀⣟⠿⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣹⣿⣿⣿⣮⣻⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⢀⣀⠤⠴⠾⠋⠀⠀⣼⠃⢀⣤⣿⣿⠀ +⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣿⣿⣿⣿⡗⣿⣟⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⣴⠋⠀⣾⡷⠋⠁⠀ +⠀⠀⠛⠛⠛⠛⠒⠒⠒⠒⠂⠠⠤⠤⠤⠤⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⢀⣤⠿⠷⠒⠛⠉⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠛⠛⠻⣿⣿⣿⣿⠟⠋⢻⣿⣿⣿⣿⣿⣇⣿⣿⣿⣿⠿⠟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/fox-9.txt b/homes/data/ascii-art/fox-9.txt new file mode 100644 index 0000000..5093188 --- /dev/null +++ b/homes/data/ascii-art/fox-9.txt @@ -0,0 +1,23 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠋⠛⢶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠉⠻⠷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡾⠋⢡⣀⠈⠙⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⠠⢤⣀⠀⠀⠈⢳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠈⠀⡁⢻⡓⠘⢿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡇⠀⠾⠄⠀⠀⠀⣿⣿⣟⡲⣤⡀⠀⠀⠀⠀⣰⣯⣤⠎⠰⡇⠀⣳⠀⠀⢻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠀⠰⠦⣤⣀⠀⠈⠏⢿⡑⣌⡟⣦⡀⠀⣴⡟⠾⠓⠒⠒⠦⡀⢹⣇⠀⠘⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡆⣸⣾⣿⣿⣦⣄⡀⠈⣿⡈⣻⡏⢽⣾⢻⠁⢀⠀⠀⢀⣠⣝⣭⣿⠀⠀⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡍⠉⠵⢾⡗⠉⢧⢀⠻⣷⣿⣇⡾⠃⠘⠀⣄⠐⠀⠶⢟⣿⣿⣿⠀⠀⣿⣿⡱⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡻⣦⡀⠸⢯⠃⠈⠟⠀⠇⠀⠻⠃⠀⠀⢸⡿⠛⢰⣾⣿⣿⣿⠋⠀⣸⣿⡿⢽⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣟⡙⢶⡮⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠁⢀⣾⢹⣿⠋⠛⠀⢠⣥⣿⡄⠘⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠌⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠼⠉⠈⠀⠀⠀⠀⢸⣅⣿⠿⠂⢸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡆⠀⣀⣀⣀⣼⡿⠻⠀⠁⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠃⠀⠀⠀⠀⠀⠀⠀⢀⣠⠀⠀⠀⠀⠀⠀⠀⠀⠉⠣⣿⣍⣭⣉⠀⠀⠭⠖⢦⣼⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢷⡆⠀⠀⠀⠀⠀⣸⣿⡶⡶⢤⣄⣀⣸⢧⠀⠀⠀⠑⣦⣀⢪⡑⠦⡀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠾⡟⠀⠀⠀⠀⣠⣿⡿⠿⠷⠚⠉⠁⢉⠻⢽⣟⣀⠀⠀⠙⣦⡙⣷⡈⠣⡀⠸⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣾⠃⠀⠀⢠⣴⣿⡉⠉⠀⠀⠀⠀⠐⠛⠓⠀⠘⠛⠿⣶⡄⢹⣷⡜⣧⠀⠈⠀⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⠃⠀⠀⠀⢹⡆⢿⡆⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠙⢦⠻⡹⡌⢧⡀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠏⠀⠀⠀⠀⠀⣸⣷⣻⣷⣄⣤⠴⠒⠀⠠⠴⠤⠆⠀⠀⢦⣀⠀⠀⢳⡿⢿⡏⠳⣶⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣁⣀⠀⠀⣀⣀⣼⣯⣽⣿⠙⠿⠛⣠⣴⡄⠀⠀⠀⠐⠀⠀⢠⢹⠀⠀⠀⠓⢸⢧⠀⢹⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣧⣽⣿⣿⠞⠋⠙⠛⠋⠿⢁⣠⣴⣋⣡⡤⠤⠤⠤⠤⠤⠤⣀⡈⢳⡇⠀⠀⠀⠸⣿⠀⣼⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣉⠀⠀⢀⣀⣤⣶⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠳⢤⡀⠀⠀⢹⣰⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠻⠟⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⢧⣾⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/moon-1.txt b/homes/data/ascii-art/moon-1.txt new file mode 100644 index 0000000..1d71b47 --- /dev/null +++ b/homes/data/ascii-art/moon-1.txt @@ -0,0 +1,14 @@ +⠀⠀⠀⠀⠀⠀⠀⣀⣤⡴⠶⠿⠛⢏⡿⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⢀⡴⣞⠯⠉⠈⠀⣠⡶⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣠⣴⠟⠙⠈⣎⡹⠂⣴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢠⣯⡟⢚⣀⠀⠀⠀⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⡿⡃⢋⣌⠂⠈⠆⡠⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣸⢿⠎⢰⡈⠀⠈⠀⣹⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣸⣿⡄⠷⣠⠀⠀⠀⡸⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢹⣾⣿⣷⣛⠀⠀⠀⣜⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠸⣿⢻⣏⠸⡃⠀⠀⠈⢹⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢻⣿⡮⣠⣗⠒⠤⠀⠀⠹⣳⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣼⢿⣗⣧⣦⢤⠇⢀⣤⣄⠙⣿⡦⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⠄ +⠀⠀⠈⠛⢏⣷⣶⣜⣤⣈⠂⠜⠀⢀⣀⡉⡭⠯⠖⠲⠒⢶⢖⣯⠟⠁⠀ +⠀⠀⠀⠀⠀⠙⠻⣿⣿⣷⣷⣯⣔⡿⣃⠦⡵⣠⠠⢤⣤⠿⠋⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠓⠿⠽⣷⣿⣾⡿⠞⠛⠉⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/nixos-small.txt b/homes/data/ascii-art/nixos-small.txt new file mode 100644 index 0000000..477d907 --- /dev/null +++ b/homes/data/ascii-art/nixos-small.txt @@ -0,0 +1,7 @@ +⠀⠀\\⠀⠀\\⠀//⠀⠀ +⠀==\\__\\/⠀// +⠀⠀⠀//⠀⠀⠀\\//⠀ +==//⠀⠀⠀⠀⠀//== +⠀//\\___//⠀⠀⠀ +//⠀/\\⠀⠀\\==⠀ +⠀⠀//⠀\\⠀⠀\\⠀⠀ diff --git a/homes/data/ascii-art/puppy-1.txt b/homes/data/ascii-art/puppy-1.txt new file mode 100644 index 0000000..9dbc902 --- /dev/null +++ b/homes/data/ascii-art/puppy-1.txt @@ -0,0 +1,10 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣄⢀⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡿⠀⠀⠀⠀ +⠀⠀⠀⠀⣀⣀⣤⠖⠛⠉⠉⠉⠉⠉⠙⠒⠦⣿⣏⣀⠀⠀⠀⠀ +⠀⠀⣠⠞⠁⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢵⡄⠀⠀ +⠀⢰⣯⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⣿⠀⠀ +⠀⠈⣇⢀⢠⠇⠀⣶⡶⠄⠀⠀⠀⢠⣶⡶⠀⠀⣸⣀⣼⠟⠀⠀ +⠀⠀⠙⠛⠾⡆⠀⠙⠛⠃⠀⠀⠀⠀⠙⠋⠀⠀⣹⠟⠁⠀⠀⠀ +⢀⡴⠚⠉⠛⢿⠀⠀⠀⠀⢿⣿⠆⠀⠀⠀⠀⢀⣿⠋⠉⠉⢳⡄ +⢾⡀⡄⠀⣄⡼⠻⢧⠤⣤⠤⠤⣤⣠⣦⣾⠶⠞⢿⣤⡄⣠⣀⡷ +⠈⠙⠛⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀ diff --git a/homes/data/ascii-art/puppy-2.txt b/homes/data/ascii-art/puppy-2.txt new file mode 100644 index 0000000..999c84d --- /dev/null +++ b/homes/data/ascii-art/puppy-2.txt @@ -0,0 +1,18 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠤⣄⣀⡤⠤⠤⡀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⡀⠀⡎⠀⠀⠀⠉⠀⠀⠀⠙⡄⠀ +⠀⢠⠖⠉⠓⢦⡏⠉⢆⡤⠒⠋⠉⠁⠀⠀⠀⠀⠈⠑⠃⠀⠀⠀⠀⠀⠀⠀⠀⠱⠀ +⢠⠃⠀⠀⠀⠀⠀⠀⢨⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ +⡜⠀⠀⠀⠀⠀⠀⠀⡜⠀⠀⢠⠆⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⡇ +⡇⠀⠀⠀⠀⠀⠀⡸⠁⠀⠰⠥⠤⡄⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀⠀⠀⠀⠀⡇ +⡃⠀⠀⠀⠀⠀⢠⠃⠀⠀⠀⠀⢸⡁⠀⠀⡴⠀⠀⠀⠀⠀⠀⠣⢄⡀⠀⠀⠀⠀⡇ +⡇⠀⠀⠀⠀⢀⠏⠀⠀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢲⠒⠒⠋⠁ +⢱⠀⠀⢀⡴⠁⢠⡤⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡤⣔⠖⠋⠁⠀⠘⣆⠀⠀⠀ +⠀⠉⢩⠃⠀⠀⠀⠉⠃⠚⠭⣆⡀⠀⠀⠀⠀⠀⠈⠓⠉⠀⠀⠀⠀⠀⠠⡞⠁⠀⠀ +⠀⠰⠧⠤⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢆⠀⠀ +⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⡯⠗⠀⠀⠀⠀⠀⠀⠀⠀⢠⠖⠚⠀⠀ +⠀⠀⠀⢸⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⢀⠀⠀⠀⠀⠀⢨⠀⠀⠀⠀ +⠀⠀⠀⠈⠉⠉⠁⡇⠀⠀⠀⠀⢦⡀⢀⡤⢄⣀⣀⡴⢋⣀⡤⠖⠊⠉⠙⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠛⠉⠉⣉⠭⠉⠋⡏⠀⠀⢀⡇⠈⠓⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⡴⠁⠀⠀⠀⠙⠒⠒⠉⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢀⡜⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/puppy-3.txt b/homes/data/ascii-art/puppy-3.txt new file mode 100644 index 0000000..d808ad7 --- /dev/null +++ b/homes/data/ascii-art/puppy-3.txt @@ -0,0 +1,35 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣻⠟⠛⠛⠳⣯⡓⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣞⡿⠋⠀⠀⠀⠀⠀⠻⣮⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⣀⢴⣿⣭⣭⣟⠶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⡿⠁⠀⠀⠀⠀⡀⠀⠀⠘⢷⡹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⣰⣻⠟⠁⠀⠀⠈⠻⢦⡑⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣞⡾⠁⠀⠀⠀⠀⢠⡿⠀⠠⠀⠈⢷⡹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣸⣳⠏⠀⠀⠀⠀⠀⠀⠈⠹⣦⡓⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣞⣾⠁⠀⠀⠀⠀⢀⣿⠃⢀⠁⠠⡀⠈⣷⣹⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢠⣯⡟⠀⠀⠀⣤⠀⠀⠀⠀⠀⠈⠻⣮⡣⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡜⣼⠃⠀⠀⠀⠀⠀⣼⡟⢀⠠⠐⠀⢡⠀⠘⣷⢳⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣼⣿⠃⠀⣴⠀⠹⣷⡀⠀⠀⠀⠀⠀⠈⢷⣜⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠏⠀⠀⠀⠀⠀⢰⣿⠀⠄⠂⠐⡈⠀⢃⠀⢹⣎⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⡟⣿⠀⠀⠏⠀⡀⠻⣷⡀⠀⠀⠀⠀⠀⠈⢻⣌⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣏⡿⠀⠀⠀⠀⠀⠀⣸⡟⠀⠰⠀⠂⠡⢀⠸⡀⠈⣿⢿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢸⣟⡏⠀⣠⠂⠐⠀⡀⠙⣿⡄⠀⠀⠀⠀⠀⠀⠙⣧⡳⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⠃⠀⠀⠀⠀⠀⠀⣿⠇⡂⠁⠄⡁⠐⠠⠀⢡⠀⠸⣏⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢸⣿⡇⠀⣟⠀⠠⠁⠀⠄⡈⢿⣆⠐⠀⠀⠀⠀⠀⠈⢿⡜⢦⣀⣤⢴⣖⣶⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⣿⠀⡇⠈⡐⠀⠌⠐⠠⠘⡆⠀⢿⣼⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢸⣿⡇⠀⡯⠀⢂⠠⠁⠠⠀⠌⢿⣆⠀⠀⠀⠀⠀⠀⣀⣿⣾⡿⠛⠋⠉⠉⢹⡄⠀⢠⡿⠀⠀⠀⠀⠀⠀⠀⠀⣿⡄⣠⣐⡀⠁⠌⠠⢁⠀⢣⠀⠸⣏⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢸⣿⡇⠀⢃⠐⠀⠄⠠⠁⡐⠈⡈⣿⡆⠀⠀⢀⣴⠿⠛⠉⢸⡇⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⢟⠛⢻⡧⠐⠈⡐⠠⢀⠂⠆⠀⣿⣽⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⢸⣿⡇⠀⠀⠂⢈⠀⢂⠐⠀⢂⠐⢸⣧⠀⠀⠀⠀⠀⠐⠀⢸⡁⠀⠀⠀⠀⠈⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣧⣴⣤⡀⠂⢂⠀⡃⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠘⣿⡇⠀⠀⠡⠀⠂⠄⠂⢡⣾⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⣟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠋⠉⠉⣿⡇⠀⠡⠀⢸⠀⠈⣧⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⡿⣿⠀⠠⠁⠐⠠⠐⠠⡘⢿⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣇⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡟⠀⢈⠐⠠⠈⠀⠀⣿⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⣿⣿⠀⠀⡃⢀⠂⠀⣿⡿⠛⠿⠶⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠘⣧⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠈⢷⡀⢀⠈⠄⠐⡀⠀⢼⡾⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢿⣿⡇⠀⡇⠀⡀⠂⢹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡇⠀⠀⠀⠀⠀⠈⠳⣄⡀⠀⢀⣾⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠈⢿⡄⠢⠐⠠⠀⠀⢸⡇⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⢸⣿⣧⠀⠰⠀⠠⠐⠀⠹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠶⣾⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠘⢿⣄⠂⠐⠀⠀⣼⢧⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠈⣿⣿⠀⠘⠄⠐⠀⠌⢠⡿⠀⠀⠀⠀⣀⣤⣦⣶⣤⣴⠏⠀⣀⣤⣴⣶⣶⣶⣦⣤⡀⠀⠀⠙⢿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠜⣿⡀⠈⠀⢠⣿⣿⠁⢀⡀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠸⣿⣇⠀⠻⡀⠈⠀⣿⠃⠀⠀⢠⣾⣿⣿⡿⢿⣿⠏⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠉⢿⡛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠐⠘⣿⣀⣴⣿⣿⣿⣿⣿⣭⣟⢦⣀⣀⣀⠀⠀ +⠀⠀⠀⢻⣻⣆⠀⠱⣀⢩⣿⠀⠀⠀⠠⠟⠋⠁⠀⣰⠃⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠈⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⡟⠙⣿⣿⠁⠀⢹⣿⡿⠿⣯⡻⡆ +⠀⠀⠀⠈⢻⣻⣦⠀⠉⢸⡗⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠀⠈⠛⠿⣿⣿⣿⠿⠛⠉⠀⠀⠀⠀⣀⠀⠀⠈⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡶⠀⣿⣿⡀⠐⠈⢁⠠⠀⣼⣇⡇ +⠀⠀⠀⠀⠀⠙⢽⡷⣦⣽⡇⠀⠀⠀⠀⠀⠀⠀⢰⡇⢀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣝⣿⡼⣿⣧⡐⠈⣠⣤⢾⣫⠟⠁ +⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⠇⠀⠀⠀⠀⠀⠀⠀⢸⠇⠘⣧⠀⠀⠀⠀⠀⢀⣾⣧⣄⣀⢀⣀⣠⣾⠋⠀⠀⠀⠀⠙⢦⣀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣻⡇⠀⠘⢿⣿⣛⡿⠷⠋⠁⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⡾⣿⠀⠀⠀⠀⠀⠀⠀⢠⡟⠀⠀⠈⠳⣶⣤⡴⣾⢿⡹⢮⡝⣯⢻⣽⣿⣿⣄⠀⠀⠀⠀⠀⠀⠉⠓⠦⣤⣄⣀⣀⣠⣤⠿⢻⡞⣷⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢀⣾⣷⣿⠀⠀⠀⠀⠀⣀⡴⠋⠀⠀⠀⠀⠀⠹⣷⡹⣎⢷⡹⢧⣻⣼⠿⣿⣄⠉⠙⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢻⣽⣧⣤⣀⣀⣠⡴⠞⠋⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣯⣞⣭⣻⣟⣷⡀⢀⠛⢿⡄⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣶⣶⣶⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠈⢿⣿⡿⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠻⣧⡈⠐⢈⣡⣾⠏⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣯⠿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠘⢿⣓⣶⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠛⠋⠁⠀⠀⠀⠀⠀⠀⠶⠛⠉⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣺⣿⣿⣻⢦⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣧⠀⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⣾⠹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠛⣯⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣷⡿⠀⠘⠻⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠁⠀⢿⣸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⡇⠀⠀⠖⠀⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⢶⠀⠀⢸⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠙⠒⠒⠒⠖⠶⠦⠤⠤⢤⡤⣤⠤⣤⢤⡤⣤⢤⡤⠤⠤⠤⠴⠶⠒⠒⠒⠒⠊⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/data/ascii-art/woman-with-gun.txt b/homes/data/ascii-art/woman-with-gun.txt new file mode 100644 index 0000000..79b2713 --- /dev/null +++ b/homes/data/ascii-art/woman-with-gun.txt @@ -0,0 +1,27 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⢤⣀⠀⠀⢀⣤⣾⢿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣀⡼⠟⠋⠉⢝⠃⢸⣛⣇⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠋⠰⠀⠀⠀⠈⢧⣀⠹⠹⣆⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡇⢀⡇⠀⢠⡀⠀⠘⣿⡌⠇⣿⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⢁⡾⢳⣦⠘⣟⣆⡀⣿⣷⢠⢺⡇⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣽⣧⡀⠀⠀⢀⣴⣞⡛⣿⣿⣿⡟⢿⠿⠁⠉⠛⢉⣿⣿⡟⢳⣿⠿⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣦⣤⣤⣼⣿⣿⣿⣿⣿⠛⠿⣿⣿⣿⣿⣿⣷⣾⡇⠀⠀⠠⠿⣯⣿⣷⣾⣟⣀⣤⡀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠿⢿⣿⠿⠿⠆⠀⠙⢿⣿⣿⠿⢿⣿⣦⣤⣴⣾⡿⣻⡿⠛⣿⣶⣾⡧⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠳⠶⣤⣀⣀⠀⠙⠷⣀⣼⣿⣿⣿⣿⣥⣾⣿⣧⣼⣿⣿⣿⣷⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣻⣿⠑⢦⡀⠈⠻⢧⣿⣿⠋⠼⢿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠉⣿⡷⢤⡀⠀⠉⠛⠚⣁⣌⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠔⠛⠓⢿⠇⠀⢠⣀⡴⠛⢦⣄⠀⢀⣨⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠘⣶⣀⣼⣿⣉⠙⠚⢿⡿⠿⣄⣿⣏⢻⣿⣿⣿⣿⠃⣏⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⣤⡀⠀⠈⢧⠈⣟⣿⣤⡀⠠⡇⠀⠀⣿⣿⡆⠻⣿⡿⠻⢾⠋⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⣠⠞⠉⣿⣦⡀⢸⠀⠹⣝⡻⣿⣿⠃⠀⠀⣸⣿⠣⡄⠹⣆⠀⠘⢇⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠞⠙⢄⠀⣠⡴⠚⠁⠀⠀⢛⣹⣿⣎⠀⠀⠀⠑⠚⡛⠀⠀⠀⣹⣿⡷⠄⠀⠈⢷⣄⠈⣷⠀⠀ +⠀⠀⠀⠀⠀⢀⣤⣤⣀⡴⠋⠀⣀⣴⠾⠋⠁⠀⠀⠀⠀⠀⡼⣻⣿⣿⣧⡀⠀⠀⢠⠇⠤⣀⣠⣿⣿⡀⠀⠀⠀⢸⠏⠀⣿⡄⠀ +⣴⣶⣶⣶⣶⣿⣿⣿⣿⣤⣀⣬⡟⠁⠀⠀⠀⠀⢰⡶⠤⠞⣿⣿⣻⣿⣿⣷⣄⢀⡞⠀⠀⣰⡿⢻⣿⡿⢿⣷⡆⠀⣀⡴⠋⢙⣆ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠙⠲⢄⣉⣿⣿⡿⣿⣿⣿⣿⠇⠀⢰⣿⠳⣼⣿⠃⣠⠀⠙⣆⠀⠀⠀⢻⡟ +⠀⠉⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⢈⡝⠀⢠⣿⡇⠀⢻⡟⠚⠁⠀⠄⠈⢧⡴⠀⠈⣧ +⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣶⣴⣿⡉⠉⠙⠳⡀⠀⠀⠀⣒⣚⠡⢒⣶⡿ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣻⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠉⠲⠤⠤⣄⣸⡤⠔⠋⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/homes/modules/de/waybar/style.css b/homes/modules/de/waybar/style.css index 254e789..54ae077 100644 --- a/homes/modules/de/waybar/style.css +++ b/homes/modules/de/waybar/style.css @@ -37,6 +37,7 @@ tooltip label { #network, #workspaces, #taskbar, +#submap, #cpu, #pulseaudio, #privacy, @@ -74,6 +75,7 @@ right-side modules #cpu, #pulseaudio, #tray, +#submap, #privacy { margin: 4px 0px 4px 4px; } @@ -96,6 +98,10 @@ right-side modules border: none; } +#submap.name { + color: @colorfg; +} + /* connects the workspace and taskbar together :3 */ @@ -114,7 +120,7 @@ right-side modules */ #cpu { - margin: 4px 0 4px 0; + margin: 4px 0 4px 4px; border-radius: 32px 0px 0px 32px; } #memory { diff --git a/homes/modules/de/waybar/waybar.nix b/homes/modules/de/waybar/waybar.nix index 489a35f..d1da186 100644 --- a/homes/modules/de/waybar/waybar.nix +++ b/homes/modules/de/waybar/waybar.nix @@ -8,12 +8,18 @@ height = 20; modules-left = ["hyprland/workspaces" "wlr/taskbar" "custom/media"]; modules-center = ["clock"]; - modules-right = ["cpu" "memory" "network" "pulseaudio" "privacy" "tray"]; + modules-right = ["hyprland/submap" "cpu" "memory" "network" "pulseaudio" "privacy" "tray"]; # left "hyprland/workspaces" = { format = "{id}"; }; + "ext/workspaces" = { + # not enabled yet, hyprland and mango need two different configs ;-; + format = "{id}"; + ignore-hidden = true; + on-click = "activate"; + }; "wlr/taskbar" = { format = "{icon}"; icon-size = 12; @@ -33,6 +39,13 @@ }; # right + "hyprland/submap" = { + format = "{}"; + # always-on = true; + # default-submap = "normal"; + max-length = 12; + tooltip = false; + }; "cpu" = { format = " {usage}%"; interval = 1; @@ -84,11 +97,6 @@ # fixes spotify not showing up when "close button should minimize the Spotify window" is false show-passive-items = true; }; - - # i only enable this for debugging of window rules lol - "hyprland/window" = { - format = "{class} | {title}"; - }; }; }; diff --git a/homes/modules/programs/alacritty/alacritty.toml b/homes/modules/programs/alacritty/alacritty.toml new file mode 100644 index 0000000..d1535a3 --- /dev/null +++ b/homes/modules/programs/alacritty/alacritty.toml @@ -0,0 +1,12 @@ +[font] +size = 10 +normal = { family = "DepartureMono Nerd Font Mono", style = "Regular" } + +[general] +import = ["theme.toml"] + +[mouse] +hide_when_typing = true + +[scrolling] +history = 100000 diff --git a/homes/modules/programs/alacritty/default.nix b/homes/modules/programs/alacritty/default.nix new file mode 100644 index 0000000..4ee6e8e --- /dev/null +++ b/homes/modules/programs/alacritty/default.nix @@ -0,0 +1,10 @@ +{upkgs, ...}: { + programs.alacritty = { + enable = true; + package = upkgs.alacritty-graphics; + }; + + xdg.configFile."alacritty/alacritty.toml" = { + source = ./alacritty.toml; + }; +} diff --git a/homes/modules/programs/iamb/config.toml b/homes/modules/programs/iamb/config.toml index 1577437..88902fd 100644 --- a/homes/modules/programs/iamb/config.toml +++ b/homes/modules/programs/iamb/config.toml @@ -7,4 +7,4 @@ enabled = true show_message = false [image_preview] -protocol.type = "kitty" +protocol.type = "sixel" diff --git a/homes/modules/programs/neovim/init.lua b/homes/modules/programs/neovim/init.lua index 7ec6af4..0cddc5e 100644 --- a/homes/modules/programs/neovim/init.lua +++ b/homes/modules/programs/neovim/init.lua @@ -2,79 +2,32 @@ vim.g.mapleader = " " vim.opt.termguicolors = true -- use terminal colors vim.opt.relativenumber = true +vim.opt.number = true vim.opt.wrap = false vim.opt.colorcolumn = "80" require("plugins") require("lsp") +require("colors") -local uv = vim.loop -local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors" -local colors = {} +-- move windows :3 +vim.keymap.set("n", "", function() + vim.cmd("wincmd h") +end) +vim.keymap.set("n", "", function() + vim.cmd("wincmd j") +end) +vim.keymap.set("n", "", function() + vim.cmd("wincmd k") +end) +vim.keymap.set("n", "", function() + vim.cmd("wincmd l") +end) --- function to load colors -local function load_colors() - local new_colors = {} - for line in io.lines(colorscheme_filepath) do - table.insert(new_colors, line) - end - - -- ensure the table has enough entries to avoid indexing issues - if #new_colors >= 18 then - colors = new_colors - require("base16-colorscheme").setup({ - base00 = colors[17], - base01 = colors[1], - base02 = colors[3], - base03 = colors[3], - base04 = colors[5], - base05 = colors[8], - base06 = colors[5], - base07 = colors[8], - base08 = colors[18], - base09 = colors[4], - base0A = colors[11], - base0B = colors[5], - base0C = colors[6], - base0D = colors[7], - base0E = colors[6], - base0F = colors[16], - }) - - -- set colors for blink.cmp's completion menu - vim.api.nvim_set_hl(0, "BlinkCmpMenu", { bg = colors[17] }) - vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { bg = colors[17], fg = colors[13] }) - vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { bg = colors[15], fg = colors[17] }) - vim.api.nvim_set_hl(0, "BlinkCmpScrollBarThumb", { bg = colors[18] }) - vim.api.nvim_set_hl(0, "BlinkCmpKind", { bg = colors[17], fg = colors[14] }) - vim.api.nvim_set_hl(0, "BlinkCmpLabel", { bg = colors[17], fg = colors[18] }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { bg = colors[17], fg = colors[18] }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelDetail", { bg = colors[17], fg = colors[18] }) - vim.api.nvim_set_hl(0, "BlinkCmpLabelDescription", { bg = colors[17], fg = colors[18] }) - else - print("Error: Not enough colors in file") - end -end - --- initial load -load_colors() - --- vim.defer_fn(load_colors, 1) - --- set up a file watcher -local function watch_colorscheme() - local handle - handle = uv.new_fs_event() - if handle then - uv.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _) - if err then - print("Error watching colorscheme file:", err) - return - end - -- debounce by adding a slight delay before reloading - vim.defer_fn(load_colors, 100) - end) - end -end - -watch_colorscheme() +-- splits <3 (i love splits sm) +vim.keymap.set("n", "s", function() + vim.cmd("split") +end) +vim.keymap.set("n", "v", function() + vim.cmd("vsplit") +end) diff --git a/homes/modules/programs/neovim/lua/colors.lua b/homes/modules/programs/neovim/lua/colors.lua new file mode 100644 index 0000000..b9f663f --- /dev/null +++ b/homes/modules/programs/neovim/lua/colors.lua @@ -0,0 +1,220 @@ +local colorscheme_filepath = "/home/aurora/.cache/nvim/neovim-colors" +local colors = {} + +local function hex_to_int(hex) + hex = hex:gsub("#", "") + return tonumber(hex:sub(1, 2), 16) * 0x10000 + tonumber(hex:sub(3, 4), 16) * 0x100 + tonumber(hex:sub(5, 6), 16) +end + +-- TODO: change to use lab color space +local function blend_colors(c1, c2, t) + local r1 = math.floor(c1 / 0x10000) + local g1 = math.floor((c1 % 0x10000) / 0x100) + local b1 = c1 % 0x100 + + local r2 = math.floor(c2 / 0x10000) + local g2 = math.floor((c2 % 0x10000) / 0x100) + local b2 = c2 % 0x100 + + return math.floor(r1 + (r2 - r1) * t) * 0x10000 + + math.floor(g1 + (g2 - g1) * t) * 0x100 + + math.floor(b1 + (b2 - b1) * t) +end + +-- function to load colors +local function load_colors() + local new_colors = {} + for line in io.lines(colorscheme_filepath) do + table.insert(new_colors, line) + end + + -- ensure the table has enough entries to avoid indexing issues + if #new_colors == 18 then + colors = new_colors + require("base16-colorscheme").setup({ + base00 = colors[18], + base01 = colors[1], + base02 = colors[3], + base03 = colors[3], + base04 = colors[5], + base05 = colors[8], + base06 = colors[5], + base07 = colors[8], + base08 = colors[17], + base09 = colors[4], + base0A = colors[11], + base0B = colors[5], + base0C = colors[6], + base0D = colors[7], + base0E = colors[6], + base0F = colors[16], + }) + + -- colors ------------------------------------------------------------------ + + local color_00 = colors[1] + local color_01 = colors[2] + local color_02 = colors[3] + local color_03 = colors[4] + local color_04 = colors[5] + local color_05 = colors[6] + local color_06 = colors[7] + local color_07 = colors[8] + + local color_08 = colors[9] + local color_09 = colors[10] + local color_10 = colors[11] + local color_11 = colors[12] + local color_12 = colors[13] + local color_13 = colors[14] + local color_14 = colors[15] + local color_15 = colors[16] + + local fg = colors[17] + local bg = colors[18] + + local bg_90 = blend_colors(hex_to_int("#000000"), hex_to_int(bg), 0.90) + + -- blink.cmp --------------------------------------------------------------- + + vim.api.nvim_set_hl(0, "BlinkCmpMenu", { bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpMenuBorder", { fg = color_12, bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpMenuSelection", { fg = bg, bg = color_14 }) + vim.api.nvim_set_hl(0, "BlinkCmpScrollBarThumb", { bg = fg }) + vim.api.nvim_set_hl(0, "BlinkCmpKind", { fg = fg, bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpLabel", { fg = fg, bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelMatch", { fg = fg, bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelDetail", { fg = fg, bg = bg }) + vim.api.nvim_set_hl(0, "BlinkCmpLabelDescription", { fg = fg, bg = bg }) + + -- telescope :3 ------------------------------------------------------------ + + vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePromptNormal", { bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopeResultsNormal", { bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePreviewNormal", { bg = bg_90 }) + + vim.api.nvim_set_hl(0, "TelescopeBorder", { fg = color_15, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePromptBorder", { fg = color_15, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopeResultsBorder", { fg = color_15, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePreviewBorder", { fg = color_15, bg = bg_90 }) + + vim.api.nvim_set_hl(0, "TelescopePromptTitle", { fg = color_15, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopeResultsTitle", { fg = color_15, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePreviewTitle", { fg = color_15, bg = bg_90 }) + + vim.api.nvim_set_hl(0, "TelescopePromptPrefix", { fg = color_14, bg = bg_90 }) + vim.api.nvim_set_hl(0, "TelescopePromptCounter", { fg = color_13, bg = bg_90 }) + + -- gitsigns.nvim ----------------------------------------------------------- + + vim.api.nvim_set_hl(0, "GitSignsAdd", { fg = color_13 }) + vim.api.nvim_set_hl(0, "GitSignsChange", { fg = color_11 }) + vim.api.nvim_set_hl(0, "GitSignsDelete", { fg = color_09 }) + + local blame_palette = { + color_13, + color_11, + color_09, + color_06, + color_05, + color_04, + color_03, + color_12, + } + + local blame_group = vim.api.nvim_create_augroup("GitSignsBlameColors", { clear = true }) + + local function get_heatmap_palette() + local c1 = hex_to_int(color_13) -- old + local c2 = hex_to_int(color_14) -- recent + + local palette = {} + for i = 0, 7 do + palette[i] = blend_colors(c1, c2, i / 7) + end + + return palette + end + + local heatmap_palette = get_heatmap_palette() + + local function set_blame_colors() + local highlights = vim.api.nvim_exec2("highlight", { output = true }).output + + local i = 1 + for hl_name in highlights:gmatch("(GitSignsBlameColor%.[%x]+)") do + local color = blame_palette[(i - 1) % #blame_palette + 1] + vim.api.nvim_set_hl(0, hl_name, { fg = color }) + i = i + 1 + end + + i = 1 + for hl_name in highlights:gmatch("(GitSignsColorTemp%.fg%.[%d]+)") do + local color = heatmap_palette[(i - 1) % #heatmap_palette + 1] + vim.api.nvim_set_hl(0, hl_name, { fg = color }) + i = i + 1 + end + end + + set_blame_colors() + + vim.api.nvim_create_autocmd("FileType", { + group = blame_group, + pattern = "gitsigns-blame", + callback = function() + set_blame_colors() + end, + }) + + -- fyler.nvim -------------------------------------------------------------- + + vim.api.nvim_set_hl(0, "FylerBlue", { fg = color_06 }) + vim.api.nvim_set_hl(0, "FylerGreen", { fg = color_02 }) + vim.api.nvim_set_hl(0, "FylerGrey", { fg = color_08 }) + vim.api.nvim_set_hl(0, "FylerRed", { fg = color_01 }) + vim.api.nvim_set_hl(0, "FylerYellow", { fg = color_03 }) + + vim.api.nvim_set_hl(0, "FylerFSDirectoryIcon", { fg = color_06 }) + vim.api.nvim_set_hl(0, "FylerFSDirectoryName", { fg = fg }) + vim.api.nvim_set_hl(0, "FylerFSFile", { fg = color_15 }) + vim.api.nvim_set_hl(0, "FylerFSLink", { fg = color_08 }) + + vim.api.nvim_set_hl(0, "FylerGitAdded", { fg = color_04 }) + vim.api.nvim_set_hl(0, "FylerGitConflict", { fg = color_03 }) + vim.api.nvim_set_hl(0, "FylerGitDeleted", { fg = color_03 }) + vim.api.nvim_set_hl(0, "FylerGitIgnored", { fg = color_08 }) + vim.api.nvim_set_hl(0, "FylerGitModified", { fg = color_05 }) + vim.api.nvim_set_hl(0, "FylerGitRenamed", { fg = color_05 }) + vim.api.nvim_set_hl(0, "FylerGitStaged", { fg = color_04 }) + vim.api.nvim_set_hl(0, "FylerGitUnstaged", { fg = color_05 }) + vim.api.nvim_set_hl(0, "FylerGitUntracked", { fg = color_06 }) + + vim.api.nvim_set_hl(0, "FylerWinPick", { fg = color_15, bg = fg }) + else + print("Error: Not enough colors in file") + end +end + +-- initial load +load_colors() + +-- vim.defer_fn(load_colors, 1) + +-- set up a file watcher +local function watch_colorscheme() + local handle + handle = vim.loop.new_fs_event() + if handle then + vim.loop.fs_event_start(handle, colorscheme_filepath, {}, function(err, _, _) + if err then + print("Error watching colorscheme file:", err) + return + end + -- debounce by adding a slight delay before reloading + vim.defer_fn(load_colors, 100) + end) + end +end + +watch_colorscheme() diff --git a/homes/modules/programs/neovim/lua/lsp/capabilities.lua b/homes/modules/programs/neovim/lua/lsp/capabilities.lua index 7e9957b..8f70f9f 100644 --- a/homes/modules/programs/neovim/lua/lsp/capabilities.lua +++ b/homes/modules/programs/neovim/lua/lsp/capabilities.lua @@ -38,7 +38,7 @@ function M.on_attach(_, bufnr) end -- TODO: someone who knows the builtin versions of these to do instead help me out please. nmap("D", vim.lsp.buf.type_definition, "Type [D]efinition") - nmap("e", vim.diagnostic.open_float, "Show [E]rror") + nmap("E", vim.diagnostic.open_float, "Show [E]rror") -- See `:help K` for why this keymap nmap("K", vim.lsp.buf.hover, "Hover Documentation") diff --git a/homes/modules/programs/neovim/lua/lsp/completion.lua b/homes/modules/programs/neovim/lua/lsp/completion.lua index 2e485d9..b408f23 100644 --- a/homes/modules/programs/neovim/lua/lsp/completion.lua +++ b/homes/modules/programs/neovim/lua/lsp/completion.lua @@ -15,7 +15,22 @@ return { blink.setup({ keymap = { - preset = "default", + [""] = { "show", "show_documentation", "hide_documentation" }, + [""] = { "hide", "fallback" }, + [""] = { "select_and_accept", "fallback" }, + + [""] = { "select_prev", "fallback_to_mappings" }, + [""] = { "select_next", "fallback_to_mappings" }, + [""] = { "select_prev", "fallback" }, + [""] = { "select_next", "fallback" }, + + [""] = { "scroll_documentation_up", "fallback" }, + [""] = { "scroll_documentation_down", "fallback" }, + + [""] = { "snippet_forward", "fallback" }, + [""] = { "snippet_backward", "fallback" }, + + [""] = { "show_signature", "hide_signature", "fallback" }, }, appearance = { diff --git a/homes/modules/programs/neovim/lua/lsp/indentation.lua b/homes/modules/programs/neovim/lua/lsp/indentation.lua index b7b65ac..5deae31 100644 --- a/homes/modules/programs/neovim/lua/lsp/indentation.lua +++ b/homes/modules/programs/neovim/lua/lsp/indentation.lua @@ -1,5 +1,5 @@ vim.api.nvim_create_autocmd("FileType", { - pattern = "lua", + pattern = { "lua", "nix", "gleam" }, callback = function() vim.opt_local.shiftwidth = 2 vim.opt_local.tabstop = 2 @@ -7,11 +7,14 @@ vim.api.nvim_create_autocmd("FileType", { end, }) -vim.api.nvim_create_autocmd("FileType", { - pattern = "nix", - callback = function() - vim.opt_local.shiftwidth = 2 - vim.opt_local.tabstop = 2 - vim.opt_local.expandtab = true +vim.api.nvim_create_autocmd("User", { + pattern = "TelescopePreviewerLoaded", + callback = function(args) + local ft = args.data.filetype + if vim.tbl_contains({ "lua", "nix", "gleam", "rust" }, ft) then + vim.bo.shiftwidth = 2 + vim.bo.tabstop = 2 + vim.bo.expandtab = true + end end, }) diff --git a/homes/modules/programs/neovim/lua/lsp/lsp.lua b/homes/modules/programs/neovim/lua/lsp/lsp.lua index fd8bd1b..230033a 100644 --- a/homes/modules/programs/neovim/lua/lsp/lsp.lua +++ b/homes/modules/programs/neovim/lua/lsp/lsp.lua @@ -1,88 +1,110 @@ local servers = {} -servers.lua_ls = { - settings = { - Lua = { - formatters = { - ignoreComments = false, +if nixCats("lang.lua.lsp") then + servers.lua_ls = { + settings = { + Lua = { + formatters = { + ignoreComments = false, + }, + signatureHelp = { enable = true }, + diagnostics = { + globals = { "nixCats", "vim" }, + -- disable = { 'missing-fields' }, + }, + workspace = { + -- make the server aware of the neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, + }, + }, + telemetry = { enabled = false }, + }, + } +end + +if nixCats("lang.nix.lsp") then + servers.nil_ls = { + settings = {}, + } +end + +if nixCats("lang.rust.lsp") then + local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD") + servers.rust_analyzer = { + cmd = { rust_analyzer_cmd }, + settings = { + server = { + -- For debugging rust-analyzer, to see log location do :LspInfo in neovim + -- extraEnv = { {["RA_LOG"]="project_model=debug"} }, + }, + cargo = { + allFeatures = false, + allTargets = false, + buildScripts = { enable = true }, + target = "x86_64-unknown-linux-gnu", }, - signatureHelp = { enable = true }, diagnostics = { - globals = { "nixCats", "vim" }, - -- disable = { 'missing-fields' }, - }, - workspace = { - -- make the server aware of the neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, + enable = true, }, }, - telemetry = { enabled = false }, - }, -} + } +end -servers.nil_ls = { - settings = {}, -} +if nixCats("lang.zig.lsp") then + servers.zls = { + settings = {}, + } +end -local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD") -servers.rust_analyzer = { - cmd = { rust_analyzer_cmd }, - settings = { - server = { - -- For debugging rust-analyzer, to see log location do :LspInfo in neovim - -- extraEnv = { {["RA_LOG"]="project_model=debug"} }, - }, - cargo = { - allFeatures = false, - allTargets = false, - buildScripts = { enable = true }, - target = "x86_64-unknown-linux-gnu", - }, - diagnostics = { - enable = true, - }, - }, -} +if nixCats("lang.elixir.lsp") then + local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") + servers.elixirls = { + cmd = { elixir_ls_cmd }, + settings = {}, + } +end -servers.zls = { - settings = {}, -} +if nixCats("lang.gleam.lsp") then + servers.gleam = { + settings = {}, + } +end -local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD") -servers.elixirls = { - cmd = { elixir_ls_cmd }, - settings = {}, -} +if nixCats("lang.haskell.lsp") then + servers.hls = { + settings = {}, + } +end -servers.gleam = { - settings = {}, -} - -servers.hls = { - settings = {}, -} - -local java_home = os.getenv("JAVA_HOME") -servers.jdtls = { - settings = { - java = { - contentProvider = { preferred = "fernflower" }, - configuration = { - runtimes = { - { - name = "OpenJDK 17", - path = os.getenv("OPENJDK_17"), - }, - { - name = "OpenJDK 21", - path = os.getenv("OPENJDK_21"), +if nixCats("lang.java.lsp") then + local java_home = os.getenv("JAVA_HOME") + servers.jdtls = { + settings = { + java = { + contentProvider = { preferred = "fernflower" }, + configuration = { + runtimes = { + { + name = "OpenJDK 17", + path = os.getenv("OPENJDK_17"), + }, + { + name = "OpenJDK 21", + path = os.getenv("OPENJDK_21"), + }, }, }, }, }, - }, -} + } +end + +if nixCats("lang.protobuf.lsp") then + servers.protols = { + settings = {}, + } +end -- Taken from nixCats example: -- If you were to comment out this autocommand diff --git a/homes/modules/programs/neovim/lua/plugins/comment.lua b/homes/modules/programs/neovim/lua/plugins/comment.lua index cf45027..caae704 100644 --- a/homes/modules/programs/neovim/lua/plugins/comment.lua +++ b/homes/modules/programs/neovim/lua/plugins/comment.lua @@ -8,13 +8,13 @@ return { line = "cc", block = "bc", }, - opLeader = { + opleader = { line = "c", block = "b", }, extra = { - above = "c0", - below = "bo", + above = "c", + below = "co", eol = "cA", }, }) diff --git a/homes/modules/programs/neovim/lua/plugins/format.lua b/homes/modules/programs/neovim/lua/plugins/format.lua index 2097d75..800fde7 100644 --- a/homes/modules/programs/neovim/lua/plugins/format.lua +++ b/homes/modules/programs/neovim/lua/plugins/format.lua @@ -1,8 +1,53 @@ +vim.keymap.set("n", "P", function() + vim.api.nvim_exec_autocmds("User", { pattern = "ConformProject" }) + vim.cmd("ConformProject") +end, { noremap = true, silent = true }) + +vim.api.nvim_create_user_command("ConformProject", function() + local conform = require("conform") + local root = vim.fn.getcwd() + + -- respects .gitignore + local handle = io.popen(string.format("cd %s && git ls-files --cached --others --exclude-standard", root)) + + if not handle then + vim.notify("Failed to scan project files", vim.log.levels.ERROR) + return + end + + local files = {} + for file in handle:lines() do + table.insert(files, vim.fn.fnamemodify(file, ":p")) + end + handle:close() + + -- format each file + -- TODO: maybe run each formatter on the directory instead as it may be faster + -- although that would actually mean we can't count what files were formatted so i don't know + local formatted_count = 0 + for _, filepath in ipairs(files) do + local bufnr = vim.fn.bufadd(filepath) + vim.fn.bufload(bufnr) + + local ok, err = conform.format({ bufnr = bufnr }) + if ok then + formatted_count = formatted_count + 1 + -- Save the buffer + vim.api.nvim_buf_call(bufnr, function() + vim.cmd("write") + end) + end + end + + vim.notify(string.format("Formatted %d files", formatted_count), vim.log.levels.INFO) +end, {}) + -- docs -> https://github.com/stevearc/conform.nvim return { { "conform.nvim", enabled = nixCats("format") or false, + event = "User ConformProject", -- also will load when we format the entire project yayayayy :333 keys = { { "p", desc = "Format File (pretty :3)" }, }, @@ -12,9 +57,12 @@ return { conform.setup({ formatters_by_ft = { lua = nixCats("lang.lua.format") and { "stylua" } or nil, - nix = nixCats("lang.nix.format") and { "nixfmt" } or nil, + nix = nixCats("lang.nix.format") and { "alejandra" } or nil, rust = nixCats("lang.rust.format") and { "rustfmt", lsp_format = "fallback" } or nil, haskell = nixCats("lang.haskell.format") and { "ormolu" } or nil, + proto = nixCats("lang.protobuf.format") and { "buf" } or nil, + toml = nixCats("lang.toml.format") and { "taplo" } or nil, + sql = nixCats("lang.sql.format") and { "sqlfluff" } or nil, }, format_on_save = { timeout_ms = 500, diff --git a/homes/modules/programs/neovim/lua/plugins/fyler.lua b/homes/modules/programs/neovim/lua/plugins/fyler.lua index 2737b78..023f7f3 100644 --- a/homes/modules/programs/neovim/lua/plugins/fyler.lua +++ b/homes/modules/programs/neovim/lua/plugins/fyler.lua @@ -4,12 +4,12 @@ return { cmd = { "Fyler" }, keys = { { - "tf", + "e", function() return require("fyler").toggle({ kind = "split_right" }) end, mode = { "n" }, - desc = "Open [F]yler", + desc = "Open File [E]xplorer (Fyler)", }, }, load = function(name) diff --git a/homes/modules/programs/neovim/lua/plugins/git.lua b/homes/modules/programs/neovim/lua/plugins/git.lua new file mode 100644 index 0000000..46ee0e2 --- /dev/null +++ b/homes/modules/programs/neovim/lua/plugins/git.lua @@ -0,0 +1,93 @@ +return { + { + "vim-fugitive", + enabled = nixCats("git.merge") or false, + cmd = { "Git", "Gvdiffsplit" }, + }, + { + "resolve-nvim", + enabled = nixCats("git.merge") or false, + event = { "BufReadPre", "BufNewFile" }, + after = function(plugin) + require("resolve").setup({ + default_keymaps = false, + on_conflicts_resolved = function(info) + -- NOTE: am not sure if i wanna stage files automatically + -- local filepath = vim.api.nvim_buf_get_name(info.bufnr) + -- vim.fn.system({ "git", "add", filepath }) + -- vim.notify("conflicts resolved :3 file staged yayayayy <3", vim.log.levels.INFO) + vim.notify("conflicts resolved :3", vim.log.levels.INFO) + end, + }) + end, + }, + { + "gitsigns.nvim", + enabled = nixCats("git.gitsigns") or false, + after = function(plugin) + require("gitsigns").setup({ + signs = { + add = { text = "┃" }, + change = { text = "┇" }, + delete = { text = "_" }, + topdelete = { text = "‾" }, + changedelete = { text = "~" }, + untracked = { text = "╎" }, + }, + signs_staged = { + add = { text = "┃" }, + change = { text = "┇" }, + delete = { text = "_" }, + topdelete = { text = "‾" }, + changedelete = { text = "~" }, + untracked = { text = "╎" }, + }, + on_attach = function(bufnr) + local gitsigns = require("gitsigns") + + -- toggle git blame + vim.keymap.set("n", "gb", function() + local wins = vim.api.nvim_list_wins() + for _, win in ipairs(wins) do + local buf = vim.api.nvim_win_get_buf(win) + local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) + if ft == "gitsigns-blame" then + vim.api.nvim_win_close(win, true) + return + end + end + vim.cmd("Gitsigns blame") + end) + + vim.keymap.set("n", "bl", gitsigns.toggle_current_line_blame) + + vim.keymap.set("n", "]c", function() + if vim.wo.diff then + vim.cmd.normal({ "]c", bang = true }) + else + gitsigns.nav_hunk("next") + end + end) + + vim.keymap.set("n", "[c", function() + if vim.wo.diff then + vim.cmd.normal({ "[c", bang = true }) + else + gitsigns.nav_hunk("prev") + end + end) + + vim.keymap.set("n", "hs", gitsigns.stage_hunk) + vim.keymap.set("n", "hu", gitsigns.undo_stage_hunk) + + vim.keymap.set("n", "hS", gitsigns.stage_buffer) + vim.keymap.set("n", "hU", gitsigns.reset_buffer_index) + + vim.keymap.set("n", "hi", gitsigns.toggle_current_line_blame) + + vim.keymap.set("n", "hp", gitsigns.preview_hunk_inline) + end, + }) + end, + }, +} diff --git a/homes/modules/programs/neovim/lua/plugins/init.lua b/homes/modules/programs/neovim/lua/plugins/init.lua index 62de146..cceea69 100644 --- a/homes/modules/programs/neovim/lua/plugins/init.lua +++ b/homes/modules/programs/neovim/lua/plugins/init.lua @@ -6,4 +6,5 @@ require("lze").load({ { import = "plugins.mini-hipatterns" }, { import = "plugins.format" }, { import = "plugins.comment" }, + { import = "plugins.git" }, }) diff --git a/homes/modules/programs/neovim/lua/plugins/telescope.lua b/homes/modules/programs/neovim/lua/plugins/telescope.lua index a61f19c..9feae5b 100644 --- a/homes/modules/programs/neovim/lua/plugins/telescope.lua +++ b/homes/modules/programs/neovim/lua/plugins/telescope.lua @@ -1,6 +1,7 @@ return { { "telescope.nvim", + enabled = nixCats("telescope.enable") or false, cmd = { "Telescope" }, keys = { { @@ -51,10 +52,25 @@ return { mode = { "n" }, desc = "[T]elescope search [B]uffers", }, + { + "th", + function() + return require("telescope.builtin").highlights() + end, + mode = { "n" }, + desc = "[T]elescope [H]ighlights", + }, }, load = function(name) vim.cmd.packadd(name) - vim.cmd.packadd("telescope-fzf-native.nvim") + + if nixCats("telescope.fzf") then + vim.cmd.packadd("telescope-fzf-native.nvim") + end + + if nixCats("telescope.zf") then + vim.cmd.packadd("telescope-zf-native.nvim") + end end, after = function(plugin) local telescope = require("telescope") @@ -62,6 +78,8 @@ return { telescope.setup({ defaults = { + border = true, + borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, mappings = { i = { [""] = actions.move_selection_previous, -- move to prev result @@ -72,7 +90,13 @@ return { }, }) - pcall(telescope.load_extension, "fzf") + if nixCats("telescope.fzf") then + telescope.load_extension("fzf") + end + + if nixCats("telescope.zf") then + telescope.load_extension("zf-native") + end end, }, } diff --git a/homes/modules/programs/neovim/nixcats.nix b/homes/modules/programs/neovim/nixcats.nix index a90113f..8394405 100644 --- a/homes/modules/programs/neovim/nixcats.nix +++ b/homes/modules/programs/neovim/nixcats.nix @@ -2,16 +2,14 @@ # https://github.com/BirdeeHub/nix-wrapper-modules { inputs, - spkgs, mpkgs, ... -}: -let - inherit (inputs.nixcats) +}: let + inherit + (inputs.nixcats) utils ; -in -{ +in { imports = [ inputs.nixcats.homeModule ]; @@ -32,244 +30,284 @@ in ]; # see the packageDefinitions below. # This says which of those to install. - packageNames = [ "auroranvim" ]; + packageNames = ["auroranvim"]; luaPath = "${./.}"; # the .replace vs .merge options are for modules based on existing configurations, # they refer to how multiple categoryDefinitions get merged together by the module. # for useage of this section, refer to :h nixCats.flake.outputs.categories - categoryDefinitions.replace = - { - pkgs, - settings, - categories, - extra, - name, - mkNvimPlugin, - ... - }@packageDef: - { - lspsAndRuntimeDeps = with pkgs; { - general = [ - ripgrep - fd - ]; - treesitter = [ - tree-sitter - ]; - lang = { - lua = { - lsp = [ lua-language-server ]; - format = [ stylua ]; - }; - nix = { - lsp = [ - nil - nix-doc # TODO: i forgot what this is for - ]; - format = [ nixfmt ]; - }; - rust = { - lsp = [ - cargo - mpkgs.rust-analyzer - ]; - format = [ rustfmt ]; - }; - zig = [ - spkgs.zls # FIX: using spkgs version as zls is broken rn ;-; - ]; - elixir = [ - elixir-ls - ]; - gleam = [ - gleam - ]; - haskell = { - lsp = [ haskell-language-server ]; - format = [ ormolu ]; - }; - java = [ + categoryDefinitions.replace = { + pkgs, + settings, + categories, + extra, + name, + mkNvimPlugin, + ... + } @ packageDef: { + lspsAndRuntimeDeps = with pkgs; { + general = [ + ripgrep + fd + ]; + treesitter = [ + tree-sitter + ]; + lang = { + lua = { + lsp = [lua-language-server]; + format = [stylua]; + }; + nix = { + lsp = [nil]; + format = [alejandra]; + docs = [nix-doc]; # TODO: i forgot how to integrate this into neovim + }; + rust = { + lsp = [cargo mpkgs.rust-analyzer]; + # nightly rustfmt has nicer features :3 + format = [(rustfmt.override {asNightly = true;})]; + }; + zig = { + lsp = [zls]; + # TODO: needs formatter field + }; + elixir = { + lsp = [elixir-ls]; + # TODO: needs formatter field + }; + gleam = { + lsp = [gleam]; + # TODO: needs formatter field + }; + haskell = { + lsp = [haskell-language-server]; + format = [ormolu]; + }; + java = { + lsp = [ jdt-language-server javaPackages.compiler.openjdk17 javaPackages.compiler.openjdk21 ]; + # TODO: needs formatter field }; - }; - - startupPlugins = with pkgs.vimPlugins; { - general = [ - lze - plenary-nvim - nvim-notify - nvim-web-devicons - base16-nvim - mini-nvim - ]; - treesitter = [ - nvim-treesitter-textobjects - nvim-treesitter.withAllGrammars - ]; - }; - - optionalPlugins = with pkgs.vimPlugins; { - general = [ - ]; - ui = [ - dressing-nvim - ]; - qol = [ - undotree - mini-hipatterns - ]; - telescope = [ - telescope-nvim - telescope-fzf-native-nvim - telescope-ui-select-nvim - ]; - fyler = [ - fyler-nvim - ]; - lsp = [ - nvim-lspconfig - ]; - completion = [ - blink-cmp - nvim-cmp - luasnip - friendly-snippets - cmp_luasnip - cmp-buffer - cmp-path - cmp-nvim-lua - cmp-nvim-lsp - cmp-cmdline - cmp-nvim-lsp-signature-help - cmp-cmdline-history - lspkind-nvim - ]; - format = [ - conform-nvim - ]; - comment = [ - comment-nvim - ]; - lang = { - java = [ - nvim-jdtls - ]; + protobuf = { + lsp = [protols]; + format = [buf]; }; - }; - - # shared libraries to be added to LD_LIBRARY_PATH - # variable available to nvim runtime - sharedLibraries = { - general = with pkgs; [ - # libgit2 - ]; - }; - - environmentVariables = { - lang = { - rust.lsp = { - # it literally won't see the rust-analyzer provided to it - # if you don't use an envrionment variable to tell it - RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer"; - }; - elixir.lsp = { - ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh"; - }; - java.lsp = { - JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}"; - OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}"; - OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}"; - }; + toml = { + format = [taplo]; + }; + bash = { + lsp = [bash-language-server]; + }; + sql = { + format = [sqlfluff]; }; - }; - - extraWrapperArgs = { - test = [ - ''--set CATTESTVAR2 "It worked again!"'' - ]; - }; - # lists of the functions you would have passed to - # python.withPackages or lua.withPackages - - # get the path to this python environment - # in your lua config via - # vim.g.python3_host_prog - # or run from nvim terminal via :!-python3 - extraPython3Packages = { - test = _: [ ]; - }; - # populates $LUA_PATH and $LUA_CPATH - extraLuaPackages = { - test = [ (_: [ ]) ]; }; }; + startupPlugins = with pkgs.vimPlugins; { + general = [ + lze + plenary-nvim + nvim-notify + nvim-web-devicons + base16-nvim + mini-nvim + ]; + treesitter = [ + nvim-treesitter-textobjects + nvim-treesitter.withAllGrammars + ]; + }; + + optionalPlugins = with pkgs.vimPlugins; { + general = []; + ui = [ + dressing-nvim + ]; + qol = [ + undotree + mini-hipatterns + ]; + telescope = { + enable = [ + telescope-nvim + telescope-ui-select-nvim + ]; + fzf = [telescope-fzf-native-nvim]; + zf = [telescope-zf-native-nvim]; + }; + fyler = [ + fyler-nvim + ]; + lsp = [ + nvim-lspconfig + ]; + completion = [ + blink-cmp + nvim-cmp + luasnip + friendly-snippets + cmp_luasnip + cmp-buffer + cmp-path + cmp-nvim-lua + cmp-nvim-lsp + cmp-cmdline + cmp-nvim-lsp-signature-help + cmp-cmdline-history + lspkind-nvim + ]; + format = [ + conform-nvim + ]; + comment = [ + comment-nvim + ]; + git = { + merge = [ + resolve-nvim + vim-fugitive + ]; + gitsigns = [ + gitsigns-nvim + ]; + }; + lang = { + java = [ + nvim-jdtls + ]; + }; + }; + + # shared libraries to be added to LD_LIBRARY_PATH + # variable available to nvim runtime + sharedLibraries = { + general = with pkgs; [ + # libgit2 + ]; + }; + + environmentVariables = { + lang = { + rust.lsp = { + # it literally won't see the rust-analyzer provided to it + # if you don't use an envrionment variable to tell it + RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer"; + }; + elixir.lsp = { + ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh"; + }; + java.lsp = { + JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}"; + OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}"; + OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}"; + }; + }; + }; + + extraWrapperArgs = {}; + # lists of the functions you would have passed to + # python.withPackages or lua.withPackages + + # get the path to this python environment + # in your lua config via + # vim.g.python3_host_prog + # or run from nvim terminal via :!-python3 + extraPython3Packages = {}; + # populates $LUA_PATH and $LUA_CPATH + extraLuaPackages = {}; + }; + # see :help nixCats.flake.outputs.packageDefinitions packageDefinitions.replace = { # these are the names of your packages # you can include as many as you wish. - auroranvim = - { pkgs, ... }: - { - # they contain a settings set defined above - # see :help nixCats.flake.outputs.settings - settings = { - wrapRc = true; - # IMPORTANT: - # your alias may not conflict with your other packages. - aliases = [ - "auroravim" - "auravim" - "foxyvim" - "avix" - "fvix" - "auim" - ]; + auroranvim = {pkgs, ...}: { + # they contain a settings set defined above + # see :help nixCats.flake.outputs.settings + settings = { + wrapRc = true; + # IMPORTANT: + # your alias may not conflict with your other packages. + aliases = [ + "auravim" + "foxyvim" + "avix" + "fvix" + ]; + }; + # and a set of categories that you want + # (and other information to pass to lua) + categories = { + general = true; + + ui = true; + qol = true; + + telescope = { + enable = true; + + # only enable one at a time + fzf = false; + zf = true; }; - # and a set of categories that you want - # (and other information to pass to lua) - categories = { - general = true; - ui = true; - qol = true; - telescope = true; - fyler = true; - lsp = true; - completion = true; - treesitter = true; - format = true; - comment = true; + fyler = true; - lang = { - lua = { - lsp = true; - format = true; - }; - nix = { - lsp = true; - format = true; - }; - rust = { - lsp = true; - format = true; - }; - zig = true; - elixir = true; - gleam = true; - haskell = { - lsp = true; - format = true; - }; - java = true; - }; + lsp = true; + completion = true; + treesitter = true; + + format = true; + comment = true; + + git = { + merge = false; # not really setup yet.. ", + "constants": [], + }, + "modules": [ + { + "type": "title", + "format": "╭─────╯ {user-name}@{host-name} ╰───────────────╌╌╌┄┄┄┈┈┈", + "outputColor": "cyan", + }, + { + "type": "os", + "key": "│ os", + "keyColor": "cyan", + "format": "{name} {version}", + }, + { + "type": "kernel", + "key": "│ kernel", + "keyColor": "cyan", + "format": "{sysname} {arch} - {release}", + }, + { + "type": "uptime", + "key": "│ uptime", + "keyColor": "cyan", + }, + { + "type": "packages", + "key": "│ pkgs", + "keyColor": "cyan", + }, + { + "type": "cpu", + "key": "│ cpu", + "keyColor": "magenta", + "temp": true, + "format": "{name} {cores-physical}c/{cores-logical}t @ {freq-max} ({temperature})", + }, + { + "type": "gpu", + "key": "│ gpu{1}", + "keyColor": "magenta", + "driverSpecific": false, + "detectionMethod": "pci", + "temp": true, + "percent": { + "green": 50, + "yellow": 80, + "type": 0 + }, + "format": "{name} ({temperature}) [{type}]", + }, + { + "type": "memory", + "key": "│ memory", + "keyColor": "magenta", + }, + { + "type": "swap", + "key": "│ swap", + "keyColor": "magenta", + }, + { + "type": "disk", + "key": "│ disk({1})", + "keyColor": "magenta", + }, + { + "type": "shell", + "key": "│ shell", + "keyColor": "green", + }, + { + "type": "terminal", + "key": "│ term", + "keyColor": "green", + }, + { + "type": "wm", + "key": "│ wm", + "keyColor": "green", + }, + { + "type": "terminalfont", + "key": "│ font", + "keyColor": "green", + "format": "{name}", + }, + { + "type": "locale", + "key": "│ locale", + "keyColor": "green", + }, + { + "type": "title", + "format": "├─────────────────────────────────────────╌╌╌┄┄┄┈┈┈", + "outputColor": "red", + }, + { + "type": "command", + "key": "│", + "keyWidth": 3, + "keyColor": "red", + "shell": "bash", + "text": "for i in {0..7}; do printf \"\\e[4%dm \\e[0m\" $i; done", + }, + { + "type": "command", + "key": "│", + "keyWidth": 3, + "keyColor": "red", + "shell": "bash", + "text": "for i in {0..7}; do printf \"\\e[10%dm \\e[0m\" $i; done", + }, + { + "type": "title", + "format": "╰─────────────────────────────────────────╌╌╌┄┄┄┈┈┈", + "outputColor": "red", + }, + ] +} diff --git a/homes/modules/shell/zsh.nix b/homes/modules/shell/zsh.nix index d1c9849..ab20164 100644 --- a/homes/modules/shell/zsh.nix +++ b/homes/modules/shell/zsh.nix @@ -14,16 +14,22 @@ ]; initContent = '' - # yazi wrapper!!! - function yazi() { - local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXX")" cwd - command yazi "$@" --cwd-file="$tmp" - IFS= read -r -d ''' cwd < "$tmp" - [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" - rm -f -- "$tmp" - } + # yazi wrapper!!! + function yazi() { + local tmp="$(mktemp -p "/run/user/$UID" -t "yazi-cwd.XXXXXXXX")" cwd + command yazi "$@" --cwd-file="$tmp" + IFS= read -r -d ''' cwd < "$tmp" + [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" + rm -f -- "$tmp" + } - hyfetch # oh i'm so gay!! :3 + # oh i'm so gay!! :3 + function hf() { + local queer_flags=('genderfae' 'lesbian' 'xenogender' 'transgender' 'transfeminine' 'transbian' 'pansexual') + local ascii_art=('fox-1.txt' 'fox-2.txt' 'fox-3.txt' 'blackhole-1.txt' 'butterfly-4.txt' 'butterfly-7.txt' 'flower-3.txt' 'flower-4.txt') + hyfetch --ascii-file="$XDG_DATA_HOME/ascii-art/$ascii_art[RANDOM % $#ascii_art + 1]" --preset="$queer_flags[RANDOM % $#queer_flags + 1]" --args="--config themes/laimu.jsonc" + } + hf ''; shellAliases = { @@ -50,7 +56,7 @@ # open nix develop with preferred shell # description: nd = nix develop - nd = "nix develop -c $SHELL"; + nd = "[[ -f ./flake.sh ]] && ./flake.sh -c $SHELL || nix develop -c $SHELL"; # description: cdns = change directory [to] nix settings cdns = "cd ~/.nix"; @@ -65,9 +71,6 @@ # upgrades the system upgrade = "cdns && nix flake update && nh os switch ./ --accept-flake-config"; - # kitty's ssh command (to fix xterm and other stuff qwq) - kssh = "kitty +kitten ssh"; - # pipes are prettyyyy!!!! :3333 pipes1 = "pipes.sh -r 1024 -p 8 -f 30"; pipes2 = "pipes.sh -r 4096 -p 16 -f 100"; diff --git a/homes/modules/themeing/wallust/templates/alacritty-template.toml b/homes/modules/themeing/wallust/templates/alacritty-template.toml new file mode 100644 index 0000000..c1a06de --- /dev/null +++ b/homes/modules/themeing/wallust/templates/alacritty-template.toml @@ -0,0 +1,27 @@ +[colors.primary] +background = '{{ background }}' +foreground = '{{ foreground }}' + +[colors.cursor] +cursor = '{{ cursor }}' +text = '{{ cursor }}' + +[colors.normal] +black = '{{ color0 }}' +red = '{{ color1 }}' +green = '{{ color2 }}' +yellow = '{{ color3 }}' +blue = '{{ color4 }}' +magenta = '{{ color5 }}' +cyan = '{{ color6 }}' +white = '{{ color7 }}' + +[colors.bright] +black = '{{ color8 }}' +red = '{{ color9 }}' +green = '{{ color10 }}' +yellow = '{{ color11 }}' +blue = '{{ color12 }}' +magenta = '{{ color13 }}' +cyan = '{{ color14 }}' +white = '{{ color15 }}' diff --git a/homes/modules/themeing/wallust/templates/foot-template.ini b/homes/modules/themeing/wallust/templates/foot-template.ini new file mode 100644 index 0000000..a8093e2 --- /dev/null +++ b/homes/modules/themeing/wallust/templates/foot-template.ini @@ -0,0 +1,24 @@ +[colors] +alpha=1.000000 +alpha-mode=default +background={{ background | strip }} +foreground={{ foreground | strip }} +selection-background={{ foreground | strip }} +selection-foreground={{ background | strip }} +regular0={{ color0 | strip }} +regular1={{ color1 | strip }} +regular2={{ color2 | strip }} +regular3={{ color3 | strip }} +regular4={{ color4 | strip }} +regular5={{ color5 | strip }} +regular6={{ color6 | strip }} +regular7={{ color7 | strip }} +bright0={{ color8 | strip }} +bright1={{ color9 | strip }} +bright2={{ color10 | strip }} +bright3={{ color11 | strip }} +bright4={{ color12 | strip }} +bright5={{ color13 | strip }} +bright6={{ color14 | strip }} +bright7={{ color15 | strip }} +urls={{ color13 | strip }} diff --git a/homes/modules/themeing/wallust/templates/mango-template.conf b/homes/modules/themeing/wallust/templates/mango-template.conf new file mode 100644 index 0000000..0ff2dea --- /dev/null +++ b/homes/modules/themeing/wallust/templates/mango-template.conf @@ -0,0 +1,11 @@ +# background color of the root window +rootcolor=0x{{ color12 | strip }}ff + +# inactive window border +bordercolor=0x{{ color0 | strip }}ff + +# active window border +focuscolor=0x{{ color14 | strip }}ff + +# urgent / alerted window border +urgentcolor=0x{{ color10 | strip }}ff diff --git a/homes/modules/themeing/wallust/templates/neovim-template b/homes/modules/themeing/wallust/templates/neovim-template index 433a3eb..f405ce1 100644 --- a/homes/modules/themeing/wallust/templates/neovim-template +++ b/homes/modules/themeing/wallust/templates/neovim-template @@ -14,5 +14,5 @@ {{ color13 }} {{ color14 }} {{ color15 }} -{{ background }} {{ foreground }} +{{ background }} diff --git a/homes/modules/themeing/wallust/wallust.toml b/homes/modules/themeing/wallust/wallust.toml index ff82190..cccd8d5 100644 --- a/homes/modules/themeing/wallust/wallust.toml +++ b/homes/modules/themeing/wallust/wallust.toml @@ -13,12 +13,18 @@ equibop.target = "~/.config/equibop/themes/base16-colors.css" equicord.template = "discord-template.css" equicord.target = "~/.config/Equicord/themes/base16-colors.css" -kitty.template = "kitty-template.conf" -kitty.target = "~/.config/kitty/theme.conf" - hyprland.template = "hyprland-template.conf" hyprland.target = "~/.config/hypr/colors.conf" +mango.template = "mango-template.conf" +mango.target = "~/.config/mango/colors.conf" + +foot.template = "foot-template.ini" +foot.target = "~/.config/foot/theme.ini" + +alacritty.template = "alacritty-template.toml" +alacritty.target = "~/.config/alacritty/theme.toml" + waybar.template = "waybar-template.css" waybar.target = "~/.config/waybar/colors.css" diff --git a/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf b/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf index 076c602..d396c7e 100644 --- a/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf +++ b/homes/modules/wm/hyprland/hypr/keybinds/virtual.conf @@ -1,7 +1,7 @@ # a submap for emulating keys/buttons/functions on the keyboard or mouse -bind = $mod+shift+alt, a, submap, virtual -submap = virtual +bind = $mod+shift, c, submap, cursor +submap = cursor # exit submap bind = , escape, submap, reset @@ -38,6 +38,6 @@ binde = alt, e, exec, wlrctl pointer scroll -15 0 # scroll left binde = alt, y, exec, wlrctl pointer scroll 0 15 # scroll right # catches all other keys and keeps us in the submap -bind = , catchall, submap, virtual +bind = , catchall, submap, cursor submap = reset diff --git a/homes/modules/wm/hyprland/hypr/windowrules.conf b/homes/modules/wm/hyprland/hypr/windowrules.conf index 1d2c078..1ef1d8c 100644 --- a/homes/modules/wm/hyprland/hypr/windowrules.conf +++ b/homes/modules/wm/hyprland/hypr/windowrules.conf @@ -1,10 +1,19 @@ # window rules +# ---------------------------------------------------------------------------- # +# terminal - blur +windowrule { + name = terminal-blur + match:class = ^(foot|Alacritty)$ + match:fullscreen = false + opacity = 0.95 +} + # ---------------------------------------------------------------------------- # # task manager windowrule { - name = task-manager - match:class = ^(kitty)$ + name = terminal-manager + match:class = ^(foot|Alacritty)$ match:title = ^(btop)$ float = true center = true @@ -15,33 +24,13 @@ windowrule { # terminal filechooser windowrule { name = terminal-filechooser - match:class = ^(kitty)$ + match:class = ^(foot|Alacritty)$ match:title = ^(filechooser)$ float = true center = true size = (monitor_w*0.85) (monitor_h*0.85) } -# ---------------------------------------------------------------------------- # -# yazi explorer -#windowrule { - #name = yazi - #match:class = ^(kitty)$ - #match:title = ^(yazi)$ - #float = true - #center = true - #size = (monitor_w*0.85) (monitor_h*0.85) -#} - -# ---------------------------------------------------------------------------- # -# kitty - blur -windowrule { - name = kitty-blur - match:class = ^(kitty)$ - match:fullscreen = false - opacity = 0.95 -} - # ---------------------------------------------------------------------------- # # imhex - blur windowrule { @@ -59,3 +48,13 @@ windowrule { match:fullscreen = false opacity = 0.97 } + +# ---------------------------------------------------------------------------- # +# spotify - blur +windowrule { + name = spotify-blur + match:class = ^(spotify)$ + match:initial_class = ^(spotify)$ + match:fullscreen = false + opacity = 0.93 +} diff --git a/homes/modules/wm/hyprland/hyprland.nix b/homes/modules/wm/hyprland/hyprland.nix index 49570e5..6cf6034 100644 --- a/homes/modules/wm/hyprland/hyprland.nix +++ b/homes/modules/wm/hyprland/hyprland.nix @@ -4,10 +4,6 @@ package = null; portalPackage = null; - plugins = [ - #inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling - ]; - xwayland.enable = true; extraConfig = '' @@ -23,8 +19,8 @@ "$mod" = "SUPER"; # applications - "$terminal" = "kitty"; - "$explorer" = "kitty -e yazi"; + "$terminal" = "alacritty"; + "$explorer" = "alacritty -e yazi"; "$browser" = "zen-twilight"; # menu @@ -64,18 +60,18 @@ layout = "dwindle"; }; - plugin = { - # options at https://github.com/hyprwm/hyprland-plugins/tree/main/hyprscrolling - hyprscrolling = { - fullscreen_on_one_column = false; - column_width = 1.0; - }; - }; - dwindle = { preserve_split = true; }; + scrolling = { + fullscreen_on_one_column = true; + column_width = 0.9; + wrap_focus = true; + wrap_swapcol = true; + direction = "right"; + }; + decoration = { rounding = 8; @@ -111,7 +107,7 @@ force_no_accel = false; # not recommended to turn on }; - cursor.no_hardware_cursors = true; + # cursor.no_hardware_cursors = true; misc = { enable_anr_dialog = false; @@ -130,6 +126,12 @@ "alt, tab, exec, pkill -x rofi || rofi -modi window -show window -show-icons" "$mod, v, exec, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy" + # manage windows / session + "$mod+alt, c, killactive" + "$mod, f, fullscreen" + "$mod, x, togglefloating" + "$mod+Alt, Delete, exit" # exit hyprland + # screenshots # todo: add active monitor "$mod, s, exec, grim -g \"\$(slurp -d)\" - | wl-copy" # region @@ -137,7 +139,7 @@ "$mod+ctrl, s, exec, grim - | wl-copy" # all monitors # hyprpicker - "$mod, n, exec, hyprpicker -v" + "$mod, n, exec, hyprpicker | wl-copy" # hyprlock "$mod+alt, y, exec, hyprlock" # task manager @@ -152,12 +154,8 @@ "Shift_R, XF86AudioPlay, exec, playerctl shuffle toggle" "Shift_R, XF86AudioNext, exec, playerctl loop track" - # manage windows / session - "$mod+alt, c, killactive" - "$mod, f, fullscreen" - "$mod, x, togglefloating" - "$mod, i, togglesplit" - "$mod+Alt, Delete, exit" # exit hyprland + # dwindle layout keybinds + "$mod, i, layoutmsg, togglesplit" # move focus "$mod, h, movefocus, l" @@ -278,26 +276,29 @@ ]; layerrule = [ - #"blur, aurorashell" - #"ignorealpha 0.7, aurorashell" + #"blur, aurorashell" + #"ignorealpha 0.7, aurorashell" - "blur on, match:namespace waybar" - "ignore_alpha 0, match:namespace waybar" + "blur on, match:namespace waybar" + "ignore_alpha 0, match:namespace waybar" - "blur on, match:namespace rofi" - "xray on, match:namespace rofi" - "ignore_alpha 0, match:namespace rofi" + "blur on, match:namespace rofi" + "xray on, match:namespace rofi" + "ignore_alpha 0, match:namespace rofi" ]; env = [ - "EDITOR,auravim" - "XCURSOR_THEME,Bunny (Icy) and Strawberries" "XCURSOR_SIZE,24" "HYPRCURSOR_THEME,Bunny (Icy) and Strawberries" "HYPRCURSOR_SIZE,24" "QT_QPA_PLATFORM,wayland" + + # makes portals work correctly + "QT_QPA_PLATFORMTHEME,xdgdesktopportal" + # the other option that might work :3 + #"QT_QPA_PLATFORMTHEME,flatpak" ]; }; }; diff --git a/homes/modules/wm/mango/default.nix b/homes/modules/wm/mango/default.nix new file mode 100644 index 0000000..af708ad --- /dev/null +++ b/homes/modules/wm/mango/default.nix @@ -0,0 +1,14 @@ +{inputs, ...}: { + imports = [ + inputs.mango.hmModules.mango + ]; + + wayland.windowManager.mango = { + enable = true; + }; + + xdg.configFile."mango" = { + recursive = true; + source = ./mango; + }; +} diff --git a/homes/modules/wm/mango/mango/config.conf b/homes/modules/wm/mango/mango/config.conf new file mode 100644 index 0000000..a8d543a --- /dev/null +++ b/homes/modules/wm/mango/mango/config.conf @@ -0,0 +1,248 @@ +################################################################################ +##### Monitors ///////////////////////////////////////////////////////////////// +################################################################################ + +# note: display stream compression pending for open source +# amd gpu driver and my monitor (VG279QM) only supports DP 1.2 +# so no >240hz atm + +# main monitor +monitorrule = name:DP-2,width:1920,height:1080,refresh:240,x:0,y:0 +# second monitor +monitorrule = name:DP-3,width:1920,height:1080,refresh:144,x:1920,y:0 +# third monitor (drawing tablet) +monitorrule = name:HDMI-A-2,width:2560,height:1440,refresh:60,x:3840,y:0 +# tv +monitorrule = name:HDMI-A-1,width:1920,height:1080,refresh:60,x:-1920,y:0 + +################################################################################ +##### Startup ////////////////////////////////////////////////////////////////// +################################################################################ + +exec-once = waybar +exec-once = waybar --config ~/.config/mango/waybar.jsonc +exec-once = awww-daemon + +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store +exec-once = wl-clip-persist --clipboard regular + +exec-once = playerctld daemon + +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY XDG_SESSION_TYPE=wayland XDG_CURRENT_DESKTOP=wlroots PATH + +################################################################################ +##### Themeing ///////////////////////////////////////////////////////////////// +################################################################################ + +borderpx = 2 + +gappih = 5 # inner gap horizontal +gappiv = 5 # inner gap vertical +gappoh = 10 # outer gap horizontal +# we set the bottom vertical gap by using an empty layer that defines an exclusive zone +gappov = 0 # outer gap vertical + +border_radius = 8 + +focused_opacity = 1.0 +unfocused_opacity = 1.0 + +blur = 1 +blur_layer = 1 +blur_optimized = 1 +blur_params_radius = 6 +blur_params_num_passes = 2 +blur_params_noise = 0.02 +blur_params_brightness = 0.9 +blur_params_contrast = 0.9 +blur_params_saturation = 1.2 + +cursor_size=24 +cursor_theme=Bunny (Icy) and Strawberries + +################################################################################ +##### Animations /////////////////////////////////////////////////////////////// +################################################################################ + +animations=1 +layer_animations=1 + +################################################################################ +##### Input //////////////////////////////////////////////////////////////////// +################################################################################ + +# keyboard stuff +repeat_rate = 50 +repeat_delay = 300 + +# mouse stuff +accel_profile = 0 + +################################################################################ +##### Keybinds ///////////////////////////////////////////////////////////////// +################################################################################ + +# applications +bind = SUPER, t, spawn, alacritty +bind = SUPER, e, spawn, alacritty -e yazi +bind = SUPER, r, spawn, zen-twilight + +# rofi +bind = SUPER, d, spawn_shell, pkill -x rofi || rofi -show drun -show-icons +bind = SUPER, v, spawn_shell, pkill -x rofi || cliphist list | rofi -dmenu | cliphist decode | wl-copy +bind = ALT, TAB, spawn_shell, pkill -x rofi || rofi -modi window -show window -show-icons + +# manage session +bind = SUPER+ALT, c, killclient +bind = SUPER+SHIFT, r, reload_config +bind = SUPER+ALT, delete, quit + +# screenshots +# grim - | wl-copy +bind = SUPER, s, spawn_shell, grim -g $(slurp -d) - | wl-copy +bind = SUPER+ALT, s, spawn_shell, grim -g $(slurp -o) - | wl-copy +bind = SUPER+CTRL, s, spawn_shell, grim - | wl-copy + +# task manager +bind = SUPER+CTRL, escape, spawn, task-manager.sh +bind = SUPER+CTRL, grave, spawn, task-manager.sh + +# color picker +bind = SUPER, n, spawn, hyprpicker -v +# lock screen +bind = SUPER+ALT, y, spawn, hyprlock + +# media keybinds +bind = NONE, XF86AudioMute, spawn, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bind = NONE, XF86AudioPlay, spawn, playerctl play-pause +bind = NONE, XF86AudioNext, spawn, playerctl next +bind = NONE, XF86AudioPrev, spawn, playerctl previous + +# needs to be `bind` for some reason, doesn't work otherwise +# if all of them are `bind` and not `binds`, it also doesn't work +# weird bug!! qwq +binds = Shift_R, XF86AudioPlay, spawn_shell, playerctl shuffle toggle +binds = Shift_R, XF86AudioNext, spawn, playerctl loop track + +bind = NONE, XF86AudioRaiseVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ +bind = NONE, XF86AudioLowerVolume, spawn, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%- + +binds = Shift_R, XF86AudioRaiseVolume, spawn, playerctl volume 0.05+ +binds = Shift_R, XF86AudioLowerVolume, spawn, playerctl volume 0.05- + +# window states +bind = SUPER, f, togglefullscreen +bind = SUPER+ALT, f, togglefakefullscreen +bind = SUPER, x, togglefloating + +# layouts +bind = SUPER, u, switch_layout + +# move focus - l/d/u/r +bind = SUPER, h, focusdir, left +bind = SUPER, j, focusdir, down +bind = SUPER, k, focusdir, up +bind = SUPER, l, focusdir, right + +# move focus - stack +bind = SUPER+SHIFT, j, focusstack, next +bind = SUPER+SHIFT, k, focusstack, prev + +# swap window - l/d/u/r +bind = SUPER+ALT, h, exchange_client, left +bind = SUPER+ALT, j, exchange_client, down +bind = SUPER+ALT, k, exchange_client, up +bind = SUPER+ALT, l, exchange_client, right + +# swap window - stack +bind = SUPER+SHIFT, h, exchange_stack_client, next +bind = SUPER+SHIFT, l, exchange_stack_client, prev + +# swap focused window with master +bind = SUPER, g, zoom + +# view tag +BIND = SUPER, 1, view, 1, 0 +BIND = SUPER, 2, view, 2, 0 +BIND = SUPER, 3, view, 3, 0 +BIND = SUPER, 4, view, 4, 0 +BIND = SUPER, 5, view, 5, 0 +BIND = SUPER, 6, view, 6, 0 +BIND = SUPER, 7, view, 7, 0 +BIND = SUPER, 8, view, 8, 0 +BIND = SUPER, 9, view, 9, 0 +BIND = SUPER, 0, view, 10, 0 +BIND = SUPER, minus, view, 11, 0 +BIND = SUPER, equal, view, 12, 0 + +# toggle tag on monitor +BIND = SUPER+ALT, 1, toggletag, 1, 0 +BIND = SUPER+ALT, 2, toggletag, 2, 0 +BIND = SUPER+ALT, 3, toggletag, 3, 0 +BIND = SUPER+ALT, 4, toggletag, 4, 0 +BIND = SUPER+ALT, 5, toggletag, 5, 0 +BIND = SUPER+ALT, 6, toggletag, 6, 0 +BIND = SUPER+ALT, 7, toggletag, 7, 0 +BIND = SUPER+ALT, 8, toggletag, 8, 0 +BIND = SUPER+ALT, 9, toggletag, 9, 0 +BIND = SUPER+ALT, 0, toggletag, 10, 0 +BIND = SUPER+ALT, minus, toggletag, 11, 0 +BIND = SUPER+ALT, equal, toggletag, 12, 0 + +# move window to tag +BIND = SUPER+SHIFT, 1, tag, 1, 0 +BIND = SUPER+SHIFT, 2, tag, 2, 0 +BIND = SUPER+SHIFT, 3, tag, 3, 0 +BIND = SUPER+SHIFT, 4, tag, 4, 0 +BIND = SUPER+SHIFT, 5, tag, 5, 0 +BIND = SUPER+SHIFT, 6, tag, 6, 0 +BIND = SUPER+SHIFT, 7, tag, 7, 0 +BIND = SUPER+SHIFT, 8, tag, 8, 0 +BIND = SUPER+SHIFT, 9, tag, 9, 0 +BIND = SUPER+SHIFT, 0, tag, 10, 0 +BIND = SUPER+SHIFT, minus, tag, 11, 0 +BIND = SUPER+SHIFT, equal, tag, 12, 0 + +# mouse binds :3 +mousebind = SUPER, btn_left, moveresize, curmove +mousebind = SUPER, btn_right, moveresize, curresize + +################################################################################ +##### Miscellaneous //////////////////////////////////////////////////////////// +################################################################################ + +# focus follows mouse cursor +sloppyfocus = 1 + +# automatically focus windows when they request activiation +focus_on_activate = 1 + +# scroll speed +axis_scroll_factor = 1.0 + +# disables hotarea for overview mode +enable_hotarea = 0 + +################################################################################ +##### Environment Variables //////////////////////////////////////////////////// +################################################################################ + +env = XCURSOR_THEME,Bunny (Icy) and Strawberries +env = XCURSOR_SIZE,24 + +env = QT_QPA_PLATFORM,wayland +env = QT_QPA_PLATFORMTHEME,xdgdesktopportal + +################################################################################ +##### Imports ////////////////////////////////////////////////////////////////// +################################################################################ + +# windowrules!!! <3 +source = ./windowrules.conf + +# layerrules :3 +source = ./layerrules.conf + +# colors generated from palette generator +source = ./colors.conf diff --git a/homes/modules/wm/mango/mango/layerrules.conf b/homes/modules/wm/mango/mango/layerrules.conf new file mode 100644 index 0000000..5ae4f70 --- /dev/null +++ b/homes/modules/wm/mango/mango/layerrules.conf @@ -0,0 +1,3 @@ +# ---------------------------------------------------------------------------- # +# slurp no blur +layerrule=noblur:1,layer_name:selection diff --git a/homes/modules/wm/mango/mango/waybar.jsonc b/homes/modules/wm/mango/mango/waybar.jsonc new file mode 100644 index 0000000..9ba22ad --- /dev/null +++ b/homes/modules/wm/mango/mango/waybar.jsonc @@ -0,0 +1,5 @@ +{ + "layer": "bottom", + "position": "bottom", + "height": 10, +} diff --git a/homes/modules/wm/mango/mango/windowrules.conf b/homes/modules/wm/mango/mango/windowrules.conf new file mode 100644 index 0000000..2a8afd7 --- /dev/null +++ b/homes/modules/wm/mango/mango/windowrules.conf @@ -0,0 +1,7 @@ +# ---------------------------------------------------------------------------- # +# i don't wanna minimise windows +windowrule = ignore_minimise + +# ---------------------------------------------------------------------------- # +# terminal - blur +windowrule = appid:^(foot|Alacritty)$, focused_opacity:0.95, unfocused_opacity:0.95 diff --git a/homes/modules/wm/river.nix b/homes/modules/wm/river.nix index 3fac1a0..877f3e7 100644 --- a/homes/modules/wm/river.nix +++ b/homes/modules/wm/river.nix @@ -1,16 +1,15 @@ -{spkgs, ...}: { +{...}: { wayland.windowManager.river = let layout = "rivertile"; in { enable = true; xwayland.enable = true; - package = spkgs.river-classic; # FIX: using spkgs version as zls is broken rn ;-; settings = let main = "Super"; # applications - terminal = "kitty"; + terminal = "alacritty"; browser = "firefox"; in { default-layout = "${layout}"; @@ -18,7 +17,7 @@ border-width = 1; spawn = [ - ''${layout}'' + "${layout}" "awww-daemon" "waybar" @@ -37,7 +36,7 @@ "${main} R" = ''spawn "${browser}"''; # move focused view to top of layout stack - "${main} N" = ''zoom''; + "${main} N" = "zoom"; # focus next/previous view "${main} J" = "focus-view previous"; diff --git a/homes/modules/wm/sway.nix b/homes/modules/wm/sway.nix index 36db54e..a878169 100644 --- a/homes/modules/wm/sway.nix +++ b/homes/modules/wm/sway.nix @@ -3,7 +3,7 @@ enable = true; config = rec { modifier = "Mod4"; # Mod4 = Super/Meta - terminal = "kitty"; + terminal = "alacritty"; # disable sway bar bars = []; diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix index 6bd53fe..0f2ab89 100644 --- a/hosts/arcturus/default.nix +++ b/hosts/arcturus/default.nix @@ -1,5 +1,4 @@ -{ config, lib, pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ./hardware-configuration.nix ]; @@ -14,7 +13,7 @@ }; boot = { - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = pkgs.linuxPackages_6_12; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -35,10 +34,6 @@ }; }; - systemd.services.systemd-networkd.environment = { - SYSTEMD_LOG_LEVEL = "debug"; - }; - systemd.network = { enable = true; @@ -117,7 +112,7 @@ users.users.foxora = { isNormalUser = true; - extraGroups = [ "wheel" ]; + extraGroups = ["wheel"]; packages = with pkgs; [ tree diff --git a/hosts/arcturus/hardware-configuration.nix b/hosts/arcturus/hardware-configuration.nix index 2cb46e2..b37a44d 100644 --- a/hosts/arcturus/hardware-configuration.nix +++ b/hosts/arcturus/hardware-configuration.nix @@ -1,32 +1,35 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266"; - fsType = "btrfs"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266"; + fsType = "btrfs"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/0213-F9A0"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/0213-F9A0"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200";} + ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/delphinus/configuration.nix b/hosts/delphinus/configuration.nix new file mode 100644 index 0000000..10d1bdb --- /dev/null +++ b/hosts/delphinus/configuration.nix @@ -0,0 +1,85 @@ +{ + config, + lib, + pkgs, + ... +}: { + imports = [ + ./hardware-configuration.nix + ]; + + networking.hostName = "delphinus"; + + boot = { + kernelPackages = pkgs.linuxPackages_latest; + loader = { + timeout = 10; + grub = { + enable = true; + forceInstall = true; + device = "nodev"; + extraConfig = '' + serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1; + terminal_input serial; + terminal_output serial + ''; + }; + }; + }; + + networking = { + networkmanager.enable = true; + useDHCP = false; + usePredictableInterfaceNames = false; + nftables.enable = true; + + firewall = { + enable = true; + allowedTCPPorts = [6767]; + allowedUDPPorts = []; + }; + }; + + time.timeZone = "Europe/Amsterdam"; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + users.users.fox = { + isNormalUser = true; + extraGroups = ["wheel"]; + packages = with pkgs; [ + tree + ]; + + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPGwai/gXJOJZQujpk0BSwdjSe2as3pT567bYhzjaQ4M aurora@nixarawrui" + ]; + }; + + services = { + openssh = { + enable = true; + + ports = [6767]; + settings = { + PasswordAuthentication = false; + PermitRootLogin = "no"; + AllowUsers = ["fox"]; + UseDns = false; # disable rDNS lookup + X11Forwarding = false; + }; + }; + }; + + environment.systemPackages = with pkgs; [ + neovim + git + wget + ]; + + system.stateVersion = "25.11"; +} diff --git a/hosts/delphinus/hardware-configuration.nix b/hosts/delphinus/hardware-configuration.nix new file mode 100644 index 0000000..b5f284f --- /dev/null +++ b/hosts/delphinus/hardware-configuration.nix @@ -0,0 +1,26 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/sda"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/sdb"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/lyra/default.nix b/hosts/lyra/default.nix index 499d59e..9a1f982 100644 --- a/hosts/lyra/default.nix +++ b/hosts/lyra/default.nix @@ -1,5 +1,4 @@ -{ config, lib, pkgs, ... }: -{ +{pkgs, ...}: { imports = [ ./hardware-configuration.nix ]; @@ -14,7 +13,7 @@ }; boot = { - kernelPackages = pkgs.linuxPackages_latest; + kernelPackages = pkgs.linuxPackages_6_12; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -23,11 +22,13 @@ networking = { networkmanager.enable = true; + nftables.enable = true; firewall = { allowedTCPPorts = [ 2222 ]; + allowedUDPPorts = []; }; }; @@ -40,7 +41,7 @@ PasswordAuthentication = false; PermitRootLogin = "no"; AllowUsers = ["foxora"]; - UseDns = false; # enables rDNS lookup + UseDns = false; # disable rDNS lookup X11Forwarding = false; }; }; @@ -57,7 +58,7 @@ users.users.foxora = { isNormalUser = true; - extraGroups = [ "wheel" ]; + extraGroups = ["wheel"]; packages = with pkgs; [ tree @@ -91,4 +92,3 @@ system.stateVersion = "25.11"; } - diff --git a/hosts/lyra/hardware-configuration.nix b/hosts/lyra/hardware-configuration.nix index 6dbf2fa..ca0abd6 100644 --- a/hosts/lyra/hardware-configuration.nix +++ b/hosts/lyra/hardware-configuration.nix @@ -1,32 +1,35 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/12CE-A600"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/12CE-A600"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; - swapDevices = - [ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; } - ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad";} + ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/hosts/nixarawrui/default.nix b/hosts/nixarawrui/default.nix index b07dbb5..88664b7 100644 --- a/hosts/nixarawrui/default.nix +++ b/hosts/nixarawrui/default.nix @@ -1,7 +1,8 @@ { - inputs, + lib, + config, + root, upkgs, - spkgs, ... }: { imports = [ @@ -19,10 +20,23 @@ efi.canTouchEfiVariables = true; }; - kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; + # kernelPackages = upkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v4; # TODO: idk make this a toggle or smth idfk - # kernelPackages = upkgs.linuxPackages_latest; + kernelPackages = upkgs.linuxPackages_zen; kernelModules = ["v4l2loopback"]; + kernelParams = [ + # force kernel to use dGPU + "amdgpu.primary=0000:03:00.0" + "video=PCI:0000:03:00.0:e" + "initcall_blacklist=simpledrm_platform_driver_init" + "fbcon=map:0" + + # stops kernel from setting power states on nvme drives because it keeps + # disconnecting my drive and my system locks up + "nvme_core.default_ps_max_latency_us=0" + "pcie_aspm=off" + "pcie_port_pm=off" + ]; extraModulePackages = with kernelPackages; [v4l2loopback]; # qemu @@ -49,13 +63,11 @@ allowedTCPPorts = [ 21110 # slimevr - 44949 # rquickshare ]; allowedUDPPorts = [ 6969 # slimevr 8266 # slimevr 35903 # slimevr - 44949 # rquickshare ]; }; @@ -84,10 +96,6 @@ environment.sessionVariables = { NIXOS_OZONE_WL = "1"; - - # makes portals work correctly - QT_QPA_PLATFORMTHEME = "xdgdesktopportal"; - #QT_QPA_PLATFORMTHEME = "flatpak"; # sometimes might need this }; xdg.portal = { @@ -133,6 +141,30 @@ services = { displayManager.sddm.enable = true; displayManager.sddm.wayland.enable = true; + # force sddm to be on the dGPU + displayManager.sddm.wayland.compositor = "weston"; + displayManager.sddm.settings = let + xcfg = config.services.xserver; + # from: https://github.com/NixOS/nixpkgs/blob/1ad2d2e524cb1e7b91ebebcd10d224105dd4e1f2/nixos/modules/services/display-managers/sddm.nix#L132-L143 + # as for some reason they do it like this and it makes it harder for me to set the option correctly for my gpu + # NOTE: ask butterfly if there is a better way <3 + westonIni = (upkgs.formats.ini {}).generate "weston.ini" { + libinput = { + enable-tap = config.services.libinput.mouse.tapping; + left-handed = config.services.libinput.mouse.leftHanded; + }; + keyboard = { + keymap_model = xcfg.xkb.model; + keymap_layout = xcfg.xkb.layout; + keymap_variant = xcfg.xkb.variant; + keymap_options = xcfg.xkb.options; + }; + }; + in { + Wayland = { + CompositorCommand = "${lib.getExe upkgs.weston} --shell=kiosk --drm-device=card0 -c ${westonIni}"; + }; + }; udisks2.enable = true; flatpak.enable = true; @@ -195,7 +227,15 @@ users.aurora = { isNormalUser = true; uid = 1000; - extraGroups = ["wheel" "disk" "input" "video" "audio" "networkmanager" "games"]; + extraGroups = [ + "wheel" + "disk" + "input" + "video" + "audio" + "networkmanager" + "games" + ]; shell = upkgs.zsh; @@ -209,6 +249,13 @@ }; }; + systemd.tmpfiles.rules = let + imagePath = root + "/homes/aurora/profile.png"; + in + lib.mkIf (builtins.pathExists imagePath) [ + "L+ /var/lib/AccountsService/icons/aurora - - - - ${imagePath}" + ]; + programs = { # nix-ld runs unpatched dynamic binaries on nixos :3 nix-ld.enable = true; @@ -236,8 +283,11 @@ portalPackage = upkgs.hyprland-git.xdg-desktop-portal-hyprland; }; + mango = { + enable = true; + }; + river-classic = { - package = spkgs.river-classic; # FIX: using spkgs version as zls is broken rn ;-; enable = true; }; @@ -258,7 +308,7 @@ alvr = { enable = true; - package = spkgs.alvr; + package = upkgs.alvr; openFirewall = true; }; @@ -274,7 +324,7 @@ fish.enable = true; silentSDDM = { - enable = false; + enable = true; theme = "rei"; }; }; @@ -285,6 +335,9 @@ # linux packages!!! linuxPackages.v4l2loopback + # weston is needed for sddm + weston + # android yay android-tools @@ -322,8 +375,6 @@ libxscrnsaver ]; }).run - - inputs.nix-alien.packages.${stdenv.hostPlatform.system}.nix-alien ]; system.stateVersion = "24.11"; diff --git a/overlays.nix b/overlays.nix index 1a50320..6214122 100644 --- a/overlays.nix +++ b/overlays.nix @@ -16,4 +16,20 @@ }); hyprland-git = inputs.hyprland-git.packages.${system}; + + vimPlugins = + (super.vimPlugins or {}) + // { + resolve-nvim = super.vimUtils.buildVimPlugin rec { + pname = "resolve-nvim"; + src = super.fetchFromGitHub { + owner = "spacedentist"; + repo = "resolve.nvim"; + rev = "1ed8bcc9ce7d43a0e8e05d0001c9cadb822d95a8"; + sha256 = "1h359zv3hcbg81plch1j1hs9nxpi719ygl2slkfdqigz406r9q86"; + }; + doCheck = false; + version = builtins.toString (src.lastModified or "master"); + }; + }; }) diff --git a/snow.nix b/snow.nix index c927050..8a63ff9 100644 --- a/snow.nix +++ b/snow.nix @@ -6,6 +6,7 @@ cerulean.mkNexus ./. (self: { modules = with inputs; []; base = inputs.nixpkgs; + homeManager = inputs.home-manager; groups = { servers = {}; @@ -21,9 +22,11 @@ cerulean.mkNexus ./. (self: { system = "x86_64-linux"; base = inputs.nixpkgs-unstable; + homeManager = inputs.home-manager-unstable; modules = with inputs; [ sddm-silent.nixosModules.default + inputs.mango.nixosModules.mango ]; }; @@ -47,7 +50,11 @@ cerulean.mkNexus ./. (self: { networking.hostName = "home-assistant"; - boot.kernelParams = ["console=ttyS0" "console=ttyS1" "8250.nr_uarts=2"]; + boot.kernelParams = [ + "console=ttyS0" + "console=ttyS1" + "8250.nr_uarts=2" + ]; systemd.services."serial-getty@ttyS1".enable = true; microvm = { @@ -55,9 +62,12 @@ cerulean.mkNexus ./. (self: { # needed to get interface working qemu.extraArgs = [ - "-monitor" "unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait" - "-chardev" "socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off" - "-serial" "chardev:serial1" + "-monitor" + "unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait" + "-chardev" + "socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off" + "-serial" + "chardev:serial1" ]; # memory cannot be 2GB so i doubled it and used 4GB: diff --git a/vms/home-assistant/default.nix b/vms/home-assistant/default.nix index 70bcd07..a4be467 100644 --- a/vms/home-assistant/default.nix +++ b/vms/home-assistant/default.nix @@ -1,5 +1,4 @@ -{ config, lib, pkgs, ... }: -{ +{pkgs, ...}: { services.home-assistant = { enable = true; configDir = "/var/lib/hass/hass"; @@ -12,30 +11,38 @@ "esphome" "met" "radio_browser" + "hassio" + "stream" + "cast" + "plex" + "dhcp" + "go2rtc" + "mobile_app" ]; - extraPackages = python3Packages: with python3Packages; [ - getmac - aiohue - numpy - aiodhcpwatcher - async-upnp-client - gtts - numpy - plexapi - pyipp - paho-mqtt - pyturbojpeg - ]; + extraPackages = python3Packages: + with python3Packages; [ + getmac + aiohue + numpy + aiodhcpwatcher + async-upnp-client + gtts + numpy + plexapi + pyipp + paho-mqtt + pyturbojpeg + ]; }; # configures the config directory to be mounted # correctly with the right permissions systemd.services.hass-permissions = { - wantedBy = [ "multi-user.target" ]; - after = [ "var-lib-hass.mount" ]; - requires = [ "var-lib-hass.mount" ]; - before = [ "home-assistant.service" ]; + wantedBy = ["multi-user.target"]; + after = ["var-lib-hass.mount"]; + requires = ["var-lib-hass.mount"]; + before = ["home-assistant.service"]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/hass/hass && chown hass:hass /var/lib/hass/hass'";