1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
pub(crate) const LUT_SIZE: usize = 5;

pub(crate) const CHARS: [char; LUT_SIZE] = ['#', '$', '%', '&', '@'];

pub(crate) const BLACK: &str = "\x1B[30m";
pub(crate) const RED: &str = "\x1B[31m";
// pub(crate) const BRIGHT_RED: &str = "\x1B[91m";
pub(crate) const GREEN: &str = "\x1B[32m";
// pub(crate) const BRIGHT_GREEN: &str = "\x1B[92m";
pub(crate) const YELLOW: &str = "\x1B[33m";
// pub(crate) const BRIGHT_YELLOW: &str = "\x1B[93m";
pub(crate) const BLUE: &str = "\x1B[34m";
// pub(crate) const BRIGHT_BLUE: &str = "\x1B[94m";
pub(crate) const MAGENTA: &str = "\x1B[35m";
// pub(crate) const BRIGHT_MAGENTA: &str = "\x1B[95m";
pub(crate) const CYAN: &str = "\x1B[36m";
// pub(crate) const BRIGHT_CYAN: &str = "\x1B[96m";
pub(crate) const WHITE: &str = "\x1B[37m";
// pub(crate) const BRIGHT_WHITE: &str = "\x1B[97m";

pub(crate) const VULKAN: &[&str] = &[
    r#"          ################                     "#,
    r#"      ##########################               "#,
    r#"    #############         ##########           "#,
    r#"   #########                     ######        "#,
    r#"   #######     ####      ####         ####     "#,
    r#"    #####      ####      ####            ###   "#,
    r#"     ####       ####    ####               ##  "#,
    r#"      ####      ####    ####                 # "#,
    r#"        ###      ####  ####                    "#,
    r#"          ##     ####  ####                    "#,
    r#"                  ########                     "#,
    r#"                  ########                     "#,
    r#"                   ######                      "#,
];

pub(crate) const VULKAN_STYLE: [&str; LUT_SIZE] = [RED, "", "", "", BLACK];

pub(crate) const APPLE: &[&str] = &[
    r#"                          ###                  "#,
    r#"                        ####                   "#,
    r#"                       ####                    "#,
    r#"              ####### ###  #######             "#,
    r#"            ########################           "#,
    r#"           ########################            "#,
    r#"          #######################              "#,
    r#"         #######################               "#,
    r#"         #######################               "#,
    r#"         ########################              "#,
    r#"          #########################            "#,
    r#"           ##########################          "#,
    r#"             ######################            "#,
    r#"              ###################              "#,
    r#"                ######    #####                "#,
];

pub(crate) const APPLE_STYLE: [&str; LUT_SIZE] = [WHITE, "", "", "", BLACK];

pub(crate) const GOOGLE: &[&str] = &[
    r#"                    #########                  "#,
    r#"                #################              "#,
    r#"              #####################            "#,
    r#"            &#########    #######              "#,
    r#"          &&&&#####          ##                "#,
    r#"         &&&&&&&#                              "#,
    r#"         &&&&&&&                               "#,
    r#"        &&&&&&&          $$$$$$$$$$$$$$        "#,
    r#"        &&&&&&&          $$$$$$$$$$$$$$        "#,
    r#"        &&&&&&&          $$$$$$$$$$$$$$        "#,
    r#"         &&&&&&&                $$$$$$$        "#,
    r#"         &&&&&&&%              $$$$$$$         "#,
    r#"          &&&&%%%%%          %$$$$$$$$         "#,
    r#"            &%%%%%%%%%    %%%%%$$$$$           "#,
    r#"              %%%%%%%%%%%%%%%%%%$$             "#,
    r#"                %%%%%%%%%%%%%%%%%              "#,
    r#"                    %%%%%%%%%%                 "#,
];

pub(crate) const GOOGLE_STYLE: [&str; LUT_SIZE] = [RED, BLUE, GREEN, YELLOW, BLACK];

pub(crate) const INTEL: &[&str] = &[
    r#"   $$$                                  ###    "#,
    r#"   $$$                                  ###    "#,
    r#"         ## ####     ###      ######    ###    "#,
    r#"   ###   #########   #####  ####  ####  ###    "#,
    r#"   ###   ###    ###  ###    ###    ###  ###    "#,
    r#"   ###   ###    ###  ###    ##########  ###    "#,
    r#"   ###   ###    ###  ###    ###         ###    "#,
    r#"   ###   ###    ###  ###     ########   ###    "#,
    r#"   ###   ###    ###   #####    ####     ###    "#,
];

pub(crate) const INTEL_STYLE: [&str; LUT_SIZE] = [WHITE, CYAN, "", "", BLACK];

pub(crate) const NVIDIA: &[&str] = &[
    r#"                      #########################"#,
    r#"                ######      ###################"#,
    r#"             ###      #####      ##############"#,
    r#"          ####   #####    #####     ###########"#,
    r#"        ####   ####   #       ####   ##########"#,
    r#"      ####   ####     ###     ####    #########"#,
    r#"       ####   ####    #########     ###########"#,
    r#"         ###    ###   #####      ####   #######"#,
    r#"          #####   ####       #####      #######"#,
    r#"            #####     ########       ##########"#,
    r#"                ######          ###############"#,
    r#"                      #########################"#,
];

pub(crate) const NVIDIA_STYLE: [&str; LUT_SIZE] = [GREEN, "", "", "", BLACK];

pub(crate) const AMD: &[&str] = &[
    r#"    ###     ###      ### #########    $$$$$$$$$"#,
    r#"   #####    #####  ##### ###    ###     $$$$$$$"#,
    r#"  ### ###   ############ ###     ###   $    $$$"#,
    r#" ###   ###  ###  ##  ### ###     ###  $$    $$$"#,
    r#"########### ###      ### ###    ###  $$$$$$$ $$"#,
    r#"###     ### ###      ### #########   $$$$$    $"#,
];

pub(crate) const AMD_STYLE: [&str; LUT_SIZE] = [WHITE, GREEN, "", "", BLACK];

pub(crate) const ARM: &[&str] = &[
    r#"          ###     ########   ###      ###      "#,
    r#"         #####    ###   ###  #####  #####      "#,
    r#"        ### ###   ########   ############      "#,
    r#"       ###   ###  ### ####   ###  ##  ###      "#,
    r#"      ########### ###   ###  ###      ###      "#,
    r#"      ###     ### ###    ### ###      ###      "#,
];

pub(crate) const ARM_STYLE: [&str; LUT_SIZE] = [RED, "", "", "", BLACK];

pub(crate) const MESA: &[&str] = &[
    r#"   ###      ### $$$$$$$$ %%%%%%%%     &&&      "#,
    r#"   #####  ##### $$$      %%          &&&&&     "#,
    r#"   ############ $$$$$$$$ %%%%%%%%   &&& &&&    "#,
    r#"   ###  ##  ### $$$            %%  &&&&&&&&&   "#,
    r#"   ###      ### $$$$$$$$ %%%%%%%% &&&     &&&  "#,
];

pub(crate) const MESA_STYLE: [&str; LUT_SIZE] = [BLUE, RED, GREEN, WHITE, BLACK];