1#[cfg(test)]
21macro_rules! test_string {
22 ($val:expr,$i:expr) => {
23 if let Ok(string) = std::str::from_utf8($i) {
24 assert!(
25 !string.contains("\n"),
26 "New line detected at index [{}]",
27 $val
28 );
29 assert!(
30 string.trim() == string,
31 "Trailing whitespace detected at [{}]",
32 $val
33 )
34 } else {
35 panic!("Invalid unicode detected at [{}]", $val)
36 }
37 };
38}
39
40#[cfg(test)]
41macro_rules! test {
42 ($array:path) => {
43 for (val, i) in $array.into_iter().enumerate() {
44 test_string!(val, i)
45 }
46 };
47}
48
49pub mod positive_emotions {
50 pub const JOY: [&[u8]; 85] = [
52 b"(* ^ \xCF\x89 ^)",
53 b"(\xC2\xB4 \xE2\x88\x80 ` *)",
54 b"\xD9\xA9(\xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95\xEF\xBD\xA1)\xDB\xB6",
55 b"\xE2\x98\x86*:.\xEF\xBD\xA1.o(\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6)o.\xEF\xBD\xA1.:*\xE2\x98\x86",
56 b"(o^\xE2\x96\xBD^o)",
57 b"(\xE2\x8C\x92\xE2\x96\xBD\xE2\x8C\x92)\xE2\x98\x86",
58 b"<(\xEF\xBF\xA3\xEF\xB8\xB6\xEF\xBF\xA3)>",
59 b"\xE3\x80\x82.:\xE2\x98\x86*:\xEF\xBD\xA5'(*\xE2\x8C\x92\xE2\x80\x95\xE2\x8C\x92*)))",
60 b"\xE3\x83\xBD(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)\xEF\xBE\x89",
61 b"(\xC2\xB4\xEF\xBD\xA1\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2\xEF\xBD\xA1`)",
62 b"(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3)",
63 b"\xEF\xBD\x80;:\xE3\x82\x9B;\xEF\xBD\x80;\xEF\xBD\xA5(\xC2\xB0\xCE\xB5\xC2\xB0 )",
64 b"(o\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5o)",
65 b"(\xEF\xBC\xA0\xEF\xBC\xBE\xE2\x97\xA1\xEF\xBC\xBE)",
66 b"\xE3\x83\xBD(*\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xEF\xBE\x89",
67 b"(o_ _)\xEF\xBE\x89\xE5\xBD\xA1\xE2\x98\x86",
68 b"(^\xE4\xBA\xBA^)",
69 b"(o\xC2\xB4\xE2\x96\xBD`o)",
70 b"(*\xC2\xB4\xE2\x96\xBD`*)",
71 b"\xEF\xBD\xA1\xEF\xBE\x9F( \xEF\xBE\x9F^\xE2\x88\x80^\xEF\xBE\x9F)\xEF\xBE\x9F\xEF\xBD\xA1",
72 b"( \xC2\xB4 \xCF\x89 ` )",
73 b"(((o(*\xC2\xB0\xE2\x96\xBD\xC2\xB0*)o)))",
74 b"(\xE2\x89\xA7\xE2\x97\xA1\xE2\x89\xA6)",
75 b"(o\xC2\xB4\xE2\x88\x80`o)",
76 b"(\xC2\xB4\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2`)",
77 b"(\xEF\xBC\xBE\xE2\x96\xBD\xEF\xBC\xBE')",
78 b"(\xE2\x8C\x92\xCF\x89\xE2\x8C\x92)",
79 b"\xE2\x88\x91d(\xC2\xB0\xE2\x88\x80\xC2\xB0d)",
80 b"\xE2\x95\xB0(\xE2\x96\x94\xE2\x88\x80\xE2\x96\x94)\xE2\x95\xAF",
81 b"(\xE2\x94\x80\xE2\x80\xBF\xE2\x80\xBF\xE2\x94\x80)",
82 b"(*^\xE2\x80\xBF^*)",
83 b"\xE3\x83\xBD(o^ ^o)\xEF\xBE\x89",
84 b"(\xE2\x9C\xAF\xE2\x97\xA1\xE2\x9C\xAF)",
85 b"(\xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95)",
86 b"(*\xE2\x89\xA7\xCF\x89\xE2\x89\xA6*)",
87 b"(\xE2\x98\x86\xE2\x96\xBD\xE2\x98\x86)",
88 b"(\xE2\x8C\x92\xE2\x80\xBF\xE2\x8C\x92)",
89 b"\xEF\xBC\xBC(\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6)\xEF\xBC\x8F",
90 b"\xE3\x83\xBD(o\xEF\xBC\xBE\xE2\x96\xBD\xEF\xBC\xBEo)\xE3\x83\x8E",
91 b"\xE2\x98\x86 \xEF\xBD\x9E('\xE2\x96\xBD^\xE4\xBA\xBA)",
92 b"(*\xC2\xB0\xE2\x96\xBD\xC2\xB0*)",
93 b"\xD9\xA9(\xEF\xBD\xA1\xE2\x80\xA2\xCC\x81\xE2\x80\xBF\xE2\x80\xA2\xCC\x80\xEF\xBD\xA1)\xDB\xB6",
94 b"(\xE2\x9C\xA7\xCF\x89\xE2\x9C\xA7)",
95 b"\xE3\x83\xBD(*\xE2\x8C\x92\xE2\x96\xBD\xE2\x8C\x92*)\xEF\xBE\x89",
96 b"(\xC2\xB4\xEF\xBD\xA1\xE2\x80\xA2 \xE1\xB5\x95 \xE2\x80\xA2\xEF\xBD\xA1`)",
97 b"( \xC2\xB4 \xE2\x96\xBD ` )",
98 b"(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)",
99 b"\xE2\x95\xB0(*\xC2\xB4\xEF\xB8\xB6`*)\xE2\x95\xAF",
100 b"\xE3\x83\xBD(>\xE2\x88\x80<\xE2\x98\x86)\xE3\x83\x8E",
101 b"o(\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6)o",
102 b"(\xE2\x98\x86\xCF\x89\xE2\x98\x86)",
103 b"(\xE3\x81\xA3\xCB\x98\xCF\x89\xCB\x98\xCF\x82 )",
104 b"\xEF\xBC\xBC(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xBC\x8F",
105 b"(*\xC2\xAF\xEF\xB8\xB6\xC2\xAF*)",
106 b"\xEF\xBC\xBC(\xEF\xBC\xBE\xE2\x96\xBD\xEF\xBC\xBE)\xEF\xBC\x8F",
107 b"\xD9\xA9(\xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95)\xDB\xB6",
108 b"(o\xCB\x98\xE2\x97\xA1\xCB\x98o)",
109 b"\\(\xE2\x98\x85\xCF\x89\xE2\x98\x85)/",
110 b"\\(^\xE3\x83\xAE^)/",
111 b"(\xE3\x80\x83\xEF\xBC\xBE\xE2\x96\xBD\xEF\xBC\xBE\xE3\x80\x83)",
112 b"(\xE2\x95\xAF\xE2\x9C\xA7\xE2\x96\xBD\xE2\x9C\xA7)\xE2\x95\xAF",
113 b"o(>\xCF\x89<)o",
114 b"o( \xE2\x9D\x9B\xE1\xB4\x97\xE2\x9D\x9B )o",
115 b"\xEF\xBD\xA1\xEF\xBE\x9F(T\xE3\x83\xAET)\xEF\xBE\x9F\xEF\xBD\xA1",
116 b"( \xE2\x80\xBE\xCC\x81 \xE2\x97\xA1 \xE2\x80\xBE\xCC\x81 )",
117 b"(\xEF\xBE\x89\xC2\xB4\xE3\x83\xAE`)\xEF\xBE\x89*: \xEF\xBD\xA5\xEF\xBE\x9F",
118 b"(b \xE1\xB5\x94\xE2\x96\xBD\xE1\xB5\x94)b",
119 b"(\xE0\xB9\x91\xCB\x83\xE1\xB4\x97\xCB\x82)\xEF\xBB\xAD",
120 b"(\xE0\xB9\x91\xCB\x98\xEF\xB8\xB6\xCB\x98\xE0\xB9\x91)",
121 b"\xC2\xB0\xCB\x96\xE2\x9C\xA7\xE2\x97\x9D(\xE2\x81\xB0\xE2\x96\xBF\xE2\x81\xB0)\xE2\x97\x9C\xE2\x9C\xA7\xCB\x96\xC2\xB0",
122 b"(\xC2\xB4\xEF\xBD\xA5\xE1\xB4\x97\xEF\xBD\xA5 ` )",
123 b"(\xEF\xBE\x89\xE2\x97\x95\xE3\x83\xAE\xE2\x97\x95)\xEF\xBE\x89*:\xEF\xBD\xA5\xEF\xBE\x9F\xE2\x9C\xA7",
124 b"(\xE2\x80\x9E\xE2\x80\xA2 \xD6\x8A \xE2\x80\xA2\xE2\x80\x9E)",
125 b"(.\xE2\x9D\x9B \xE1\xB4\x97 \xE2\x9D\x9B.)",
126 b"(\xE2\x81\x80\xE1\x97\xA2\xE2\x81\x80)",
127 b"(\xEF\xBF\xA2\xE2\x80\xBF\xEF\xBF\xA2 )",
128 b"(\xC2\xAC\xE2\x80\xBF\xC2\xAC )",
129 b"(*\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)b",
130 b"( \xCB\x99\xE2\x96\xBF\xCB\x99 )",
131 b"(\xC2\xAF\xE2\x96\xBF\xC2\xAF)",
132 b"( \xE2\x97\x95\xE2\x96\xBF\xE2\x97\x95 )",
133 b"\xEF\xBC\xBC(\xD9\xA5\xE2\x81\x80\xE2\x96\xBD\xE2\x81\x80 )\xEF\xBC\x8F",
134 b"(\xE2\x80\x9E\xE2\x80\xA2 \xE1\xB4\x97 \xE2\x80\xA2\xE2\x80\x9E)",
135 b"(\xE1\xB5\x94\xE2\x97\xA1\xE1\xB5\x94)",
136 b"( \xC2\xB4 \xE2\x96\xBF ` )",
137 ];
138
139 pub const LOVE: [&[u8]; 47] = [
141 b"(\xEF\xBE\x89\xC2\xB4 \xD0\xB7 `)\xE3\x83\x8E",
142 b"(\xE2\x99\xA1\xCE\xBC_\xCE\xBC)",
143 b"(*^^*)\xE2\x99\xA1",
144 b"\xE2\x98\x86\xE2\x8C\x92\xE3\x83\xBD(*'\xEF\xBD\xA4^*)chu",
145 b"(\xE2\x99\xA1-_-\xE2\x99\xA1)",
146 b"(\xEF\xBF\xA3\xCE\xB5\xEF\xBF\xA3\xEF\xBC\xA0)",
147 b"\xE3\x83\xBD(\xE2\x99\xA1\xE2\x80\xBF\xE2\x99\xA1)\xE3\x83\x8E",
148 b"( \xC2\xB4 \xE2\x88\x80 `)\xE3\x83\x8E\xEF\xBD\x9E \xE2\x99\xA1",
149 b"(\xE2\x94\x80\xE2\x80\xBF\xE2\x80\xBF\xE2\x94\x80)\xE2\x99\xA1",
150 b"(\xC2\xB4\xEF\xBD\xA1\xE2\x80\xA2 \xE1\xB5\x95 \xE2\x80\xA2\xEF\xBD\xA1`) \xE2\x99\xA1",
151 b"(*\xE2\x99\xA1\xE2\x88\x80\xE2\x99\xA1)",
152 b"(\xEF\xBD\xA1\xE3\x83\xBB//\xCE\xB5//\xE3\x83\xBB\xEF\xBD\xA1)",
153 b"(\xC2\xB4 \xCF\x89 `\xE2\x99\xA1)",
154 b"\xE2\x99\xA1( \xE2\x97\xA1\xE2\x80\xBF\xE2\x97\xA1 )",
155 b"(\xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95)\xE2\x99\xA1",
156 b"(/\xE2\x96\xBD\xEF\xBC\xBC*)\xEF\xBD\xA1o\xE2\x97\x8B\xE2\x99\xA1",
157 b"(\xE1\x83\xA6\xCB\x98\xE2\x8C\xA3\xCB\x98\xE1\x83\xA6)",
158 b"(\xE2\x99\xA1\xC2\xB0\xE2\x96\xBD\xC2\xB0\xE2\x99\xA1)",
159 b"\xE2\x99\xA1(\xEF\xBD\xA1- \xCF\x89 -)",
160 b"\xE2\x99\xA1 \xEF\xBD\x9E('\xE2\x96\xBD^\xE4\xBA\xBA)",
161 b"(\xC2\xB4\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2`) \xE2\x99\xA1",
162 b"(\xC2\xB4 \xCE\xB5 ` )\xE2\x99\xA1",
163 b"(\xC2\xB4\xEF\xBD\xA1\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2\xEF\xBD\xA1`) \xE2\x99\xA1",
164 b"( \xC2\xB4 \xE2\x96\xBD ` ).\xEF\xBD\xA1\xEF\xBD\x8F\xE2\x99\xA1",
165 b"\xE2\x95\xB0(*\xC2\xB4\xEF\xB8\xB6`*)\xE2\x95\xAF\xE2\x99\xA1",
166 b"(*\xCB\x98\xEF\xB8\xB6\xCB\x98*).\xEF\xBD\xA1.:*\xE2\x99\xA1",
167 b"(\xE2\x99\xA1\xCB\x99\xEF\xB8\xB6\xCB\x99\xE2\x99\xA1)",
168 b"\xE2\x99\xA1\xEF\xBC\xBC(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xBC\x8F\xE2\x99\xA1",
169 b"(\xE2\x89\xA7\xE2\x97\xA1\xE2\x89\xA6) \xE2\x99\xA1",
170 b"(\xE2\x8C\x92\xE2\x96\xBD\xE2\x8C\x92)\xE2\x99\xA1",
171 b"(*\xC2\xAF \xC2\xB3\xC2\xAF*)\xE2\x99\xA1",
172 b"(\xE3\x81\xA3\xCB\x98\xD0\xB7(\xCB\x98\xE2\x8C\xA3\xCB\x98 ) \xE2\x99\xA1",
173 b"\xE2\x99\xA1 (\xCB\x98\xE2\x96\xBD\xCB\x98>\xD4\x85( \xCB\x98\xE2\x8C\xA3\xCB\x98)",
174 b"( \xCB\x98\xE2\x8C\xA3\xCB\x98)\xE2\x99\xA1(\xCB\x98\xE2\x8C\xA3\xCB\x98 )",
175 b"(/^-^(^ ^*)/ \xE2\x99\xA1",
176 b"\xD9\xA9(\xE2\x99\xA1\xCE\xB5\xE2\x99\xA1)\xDB\xB6",
177 b"\xCF\x83(\xE2\x89\xA7\xCE\xB5\xE2\x89\xA6\xCF\x83) \xE2\x99\xA1",
178 b"\xE2\x99\xA1 (\xE2\x87\x80 3 \xE2\x86\xBC)",
179 b"\xE2\x99\xA1 (\xEF\xBF\xA3\xD0\x97\xEF\xBF\xA3)",
180 b"(\xE2\x9D\xA4\xCF\x89\xE2\x9D\xA4)",
181 b"(\xCB\x98\xE2\x88\x80\xCB\x98)/(\xCE\xBC\xE2\x80\xBF\xCE\xBC) \xE2\x9D\xA4",
182 b"\xE2\x9D\xA4 (\xC9\x94\xCB\x86\xD0\xB7(\xCB\x86\xE2\x8C\xA3\xCB\x86c)",
183 b"(\xC2\xB4\xE2\x99\xA1\xE2\x80\xBF\xE2\x99\xA1`)",
184 b"(\xC2\xB0\xE2\x97\xA1\xC2\xB0\xE2\x99\xA1)",
185 b"\xCE\xA3>\xE2\x80\x95(\xE3\x80\x83\xC2\xB0\xCF\x89\xC2\xB0\xE3\x80\x83)\xE2\x99\xA1\xE2\x86\x92",
186 b"(\xC2\xB4,,\xE2\x80\xA2\xCF\x89\xE2\x80\xA2,,)\xE2\x99\xA1",
187 b"(\xC2\xB4\xEA\x92\xB3`)\xE2\x99\xA1",
188 ];
189
190 pub const EMBARRESMENT: [&[u8]; 24] = [
192 b"(\xE2\x8C\x92_\xE2\x8C\x92;)",
193 b"(o^ ^o)",
194 b"(*/\xCF\x89\xEF\xBC\xBC)",
195 b"(*/\xE3\x80\x82\xEF\xBC\xBC)",
196 b"(*/_\xEF\xBC\xBC)",
197 b"(*\xEF\xBE\x89\xCF\x89\xEF\xBE\x89)",
198 b"(o-_-o)",
199 b"(*\xCE\xBC_\xCE\xBC)",
200 b"( \xE2\x97\xA1\xE2\x80\xBF\xE2\x97\xA1 *)",
201 b"(\xE1\xB5\x94.\xE1\xB5\x94)",
202 b"(*\xEF\xBE\x89\xE2\x88\x80`*)",
203 b"(//\xE2\x96\xBD//)",
204 b"(//\xCF\x89//)",
205 b"(\xE3\x83\x8E*\xC2\xB0\xE2\x96\xBD\xC2\xB0*)",
206 b"(*^.^*)",
207 b"(*\xEF\xBE\x89\xE2\x96\xBD\xEF\xBE\x89)",
208 b"(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3*)\xE3\x82\x9E",
209 b"(\xE2\x81\x84 \xE2\x81\x84\xE2\x80\xA2\xE2\x81\x84\xCF\x89\xE2\x81\x84\xE2\x80\xA2\xE2\x81\x84 \xE2\x81\x84)",
210 b"(*/\xE2\x96\xBD\xEF\xBC\xBC*)",
211 b"(\xE2\x81\x84 \xE2\x81\x84>\xE2\x81\x84 \xE2\x96\xBD \xE2\x81\x84<\xE2\x81\x84 \xE2\x81\x84)",
212 b"(\xE0\xB8\x87 \xE0\xB8\xB7\xE2\x96\xBF \xE0\xB8\xB7)\xE0\xB8\xA7",
213 b"( \xE3\x80\x83\xE2\x96\xBD\xE3\x80\x83)",
214 b"(/\xE2\x96\xBF\xEF\xBC\xBC )",
215 b"(///\xEF\xBF\xA3 \xEF\xBF\xA3///)",
216 ];
217
218 pub const SYMPATHY: [&[u8]; 12] = [
220 b"(\xE3\x83\x8E_<\xE3\x80\x82)\xE3\x83\xBE(\xC2\xB4 \xE2\x96\xBD ` )",
221 b"\xEF\xBD\xA1\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBD\xA5(\xEF\xBE\x89\xD0\x94`)\xE3\x83\xBD(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3 )",
222 b"\xCF\x81(- \xCF\x89 -\xE3\x80\x81)\xE3\x83\xBE(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3; )",
223 b"\xE3\x83\xBD(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3(\xE3\x80\x82\xE3\x80\x82 )\xE3\x82\x9D",
224 b"(*\xC2\xB4 I `)\xEF\xBE\x89\xEF\xBE\x9F(\xEF\xBE\x89\xD0\x94\xEF\xBD\x80\xEF\xBE\x9F)\xEF\xBE\x9F\xEF\xBD\xA1",
225 b"\xE3\x83\xBD(~_~(\xE3\x83\xBB_\xE3\x83\xBB )\xE3\x82\x9D",
226 b"(\xEF\xBE\x89_\xEF\xBC\x9B)\xE3\x83\xBE(\xC2\xB4 \xE2\x88\x80 ` )",
227 b"(; \xCF\x89 ; )\xE3\x83\xBE(\xC2\xB4\xE2\x88\x80`* )",
228 b"(*\xC2\xB4\xE3\x83\xBC)\xEF\xBE\x89(\xE3\x83\x8E\xD0\xB4`)",
229 b"(\xC2\xB4-\xCF\x89-`( _ _ )",
230 b"(\xE3\x81\xA3\xC2\xB4\xCF\x89`)\xEF\xBE\x89(\xE2\x95\xA5\xCF\x89\xE2\x95\xA5)",
231 b"(\xEF\xBD\x8F\xE3\x83\xBB_\xE3\x83\xBB)\xE3\x83\x8E\xE2\x80\x9D(\xE3\x83\x8E_<\xE3\x80\x81)",
232 ];
233
234 #[cfg(test)]
235 mod tests {
236 #[test]
237 fn joy() {
238 test!(super::JOY)
239 }
240
241 #[test]
242 fn love() {
243 test!(super::LOVE)
244 }
245
246 #[test]
247 fn embarrassment() {
248 test!(super::EMBARRESMENT)
249 }
250
251 #[test]
252 fn sympathy() {
253 test!(super::SYMPATHY)
254 }
255 }
256}
257
258pub mod negative_emotions {
259 pub const DISSATISFACTION: [&[u8]; 25] = [
261 b"(\xEF\xBC\x83\xEF\xBC\x9E\xEF\xBC\x9C)",
262 b"(\xEF\xBC\x9B\xE2\x8C\xA3\xCC\x80_\xE2\x8C\xA3\xCC\x81)",
263 b"\xE2\x98\x86\xEF\xBD\x8F(\xEF\xBC\x9E\xEF\xBC\x9C\xEF\xBC\x9B)\xE2\x97\x8B",
264 b"(\xEF\xBF\xA3 \xEF\xBF\xA3|||)",
265 b"(\xEF\xBC\x9B\xEF\xBF\xA3\xD0\x94\xEF\xBF\xA3)",
266 b"(\xEF\xBF\xA3\xE2\x96\xA1\xEF\xBF\xA3\xE3\x80\x8D)",
267 b"(\xEF\xBC\x83\xEF\xBF\xA30\xEF\xBF\xA3)",
268 b"(\xEF\xBC\x83\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3)",
269 b"(\xEF\xBF\xA2_\xEF\xBF\xA2;)",
270 b"(\xEF\xBC\x9E\xEF\xBD\x8D\xEF\xBC\x9C)",
271 b"(\xE3\x80\x8D\xC2\xB0\xE3\x83\xAD\xC2\xB0)\xE3\x80\x8D",
272 b"(\xE3\x80\x83\xEF\xBC\x9E\xEF\xBC\xBF\xEF\xBC\x9C;\xE3\x80\x83)",
273 b"(\xEF\xBC\xBE\xEF\xBC\xBE\xEF\xBC\x83)",
274 b"(\xEF\xB8\xB6\xEF\xB8\xB9\xEF\xB8\xBA)",
275 b"(\xEF\xBF\xA3\xE3\x83\x98\xEF\xBF\xA3)",
276 b"<(\xEF\xBF\xA3 \xEF\xB9\x8C \xEF\xBF\xA3)>",
277 b"(\xEF\xBF\xA3\xEF\xB8\xBF\xEF\xBF\xA3)",
278 b"(\xEF\xBC\x9E\xEF\xB9\x8F\xEF\xBC\x9C)",
279 b"(--_--)",
280 b"\xE5\x87\xB8(\xEF\xBF\xA3\xE3\x83\x98\xEF\xBF\xA3)",
281 b"\xE3\x83\xBE( \xEF\xBF\xA3O\xEF\xBF\xA3)\xE3\x83\x84",
282 b"(\xE2\x87\x80\xE2\x80\xB8\xE2\x86\xBC\xE2\x80\xB6)",
283 b"o(>< )o",
284 b"(\xE3\x80\x8D\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x80\x8D",
285 b"(\xE1\x97\x92\xE1\x97\xA3\xE1\x97\x95)\xD5\x9E",
286 ];
287
288 pub const ANGER: [&[u8]; 33] = [
290 b"(\xEF\xBC\x83`\xD0\x94\xC2\xB4)",
291 b"(`\xE7\x9A\xBF\xC2\xB4\xEF\xBC\x83)",
292 b"( ` \xCF\x89 \xC2\xB4 )",
293 b"\xE3\x83\xBD( `\xD0\xB4\xC2\xB4*)\xE3\x83\x8E",
294 b"(\xE3\x83\xBB`\xCF\x89\xC2\xB4\xE3\x83\xBB)",
295 b"(`\xE3\x83\xBC\xC2\xB4)",
296 b"\xE3\x83\xBD(`\xE2\x8C\x92\xC2\xB4\xE3\x83\xA1)\xE3\x83\x8E",
297 b"\xE5\x87\xB8(`\xE2\x96\xB3\xC2\xB4\xEF\xBC\x83)",
298 b"( `\xCE\xB5\xC2\xB4 )",
299 b"\xCF\x88( ` \xE2\x88\x87 \xC2\xB4 )\xCF\x88",
300 b"\xE3\x83\xBE(`\xE3\x83\x98\xC2\xB4)\xEF\xBE\x89\xEF\xBE\x9E",
301 b"\xE3\x83\xBD(\xE2\x80\xB5\xEF\xB9\x8F\xC2\xB4)\xE3\x83\x8E",
302 b"(\xEF\xBE\x92` \xEF\xBE\x9B \xC2\xB4)",
303 b"(\xE2\x95\xAC`\xE7\x9B\x8A\xC2\xB4)",
304 b"\xE2\x94\x8C\xE2\x88\xA9\xE2\x94\x90(\xE2\x97\xA3_\xE2\x97\xA2)\xE2\x94\x8C\xE2\x88\xA9\xE2\x94\x90",
305 b"\xE5\x87\xB8( ` \xEF\xBE\x9B \xC2\xB4 )\xE5\x87\xB8",
306 b"\xCE\xA3(\xE2\x96\xBC\xE2\x96\xA1\xE2\x96\xBC\xE3\x83\xA1)",
307 b"(\xC2\xB0\xE3\x85\x82\xC2\xB0\xE2\x95\xAC)",
308 b"\xCF\x88(\xE2\x96\xBC\xE3\x81\xB8\xE2\x96\xBC\xE3\x83\xA1)\xEF\xBD\x9E\xE2\x86\x92",
309 b"(\xE3\x83\x8E\xC2\xB0\xE7\x9B\x8A\xC2\xB0)\xE3\x83\x8E",
310 b"(\xD2\x82 `\xD0\xB7\xC2\xB4 )",
311 b"(\xE2\x80\xA1\xE2\x96\xBC\xE7\x9B\x8A\xE2\x96\xBC)",
312 b"(\xD2\x82` \xEF\xBE\x9B \xC2\xB4)\xE5\x87\xB8",
313 b"((\xE2\x95\xAC\xE2\x97\xA3\xEF\xB9\x8F\xE2\x97\xA2))",
314 b"\xD9\xA9(\xE2\x95\xAC\xCA\x98\xE7\x9B\x8A\xCA\x98\xE2\x95\xAC)\xDB\xB6",
315 b"(\xE2\x95\xAC \xC3\x92\xEF\xB9\x8F\xC3\x93)",
316 b"\xEF\xBC\xBC\xEF\xBC\xBC\xD9\xA9(\xE0\xB9\x91`^\xC2\xB4\xE0\xB9\x91)\xDB\xB6\xEF\xBC\x8F\xEF\xBC\x8F",
317 b"(\xE5\x87\xB8\xE0\xB2\xA0\xE7\x9B\x8A\xE0\xB2\xA0)\xE5\x87\xB8",
318 b"\xE2\x86\x91_(\xCE\xA6w\xCE\xA6)\xCE\xA8",
319 b"\xE2\x86\x90~(\xCE\xA8\xE2\x96\xBC\xEF\xBD\xB0\xE2\x96\xBC)\xE2\x88\x88",
320 b"\xE0\xAD\xA7((#\xCE\xA6\xE7\x9B\x8A\xCE\xA6#))\xE0\xAD\xA8",
321 b"\xD9\xA9(\xE0\xB0\xA0\xE7\x9B\x8A\xE0\xB0\xA0)\xDB\xB6",
322 b"(\xEF\xBE\x89\xE0\xB2\xA5\xE7\x9B\x8A\xE0\xB2\xA5)\xEF\xBE\x89",
323 ];
324
325 pub const SADNESS: [&[u8]; 36] = [
327 b"(\xE3\x83\x8E_<\xE3\x80\x82)",
328 b"(-_-)",
329 b"(\xC2\xB4-\xCF\x89-`)",
330 b".\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBE\x9F\xEF\xBD\xA5(\xEF\xBC\x8F\xCF\x89\xEF\xBC\xBC)\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBE\x9F\xEF\xBD\xA5.",
331 b"(\xCE\xBC_\xCE\xBC)",
332 b"(\xEF\xBE\x89\xD0\x94`)",
333 b"(-\xCF\x89-\xE3\x80\x81)",
334 b"\xE3\x80\x82\xE3\x82\x9C\xE3\x82\x9C(\xC2\xB4\xEF\xBC\xAF`) \xE3\x82\x9C\xE3\x82\x9C\xE3\x80\x82",
335 b"o(T\xE3\x83\x98To)",
336 b"( ; \xCF\x89 ; )",
337 b"(\xEF\xBD\xA1\xE2\x95\xAF\xEF\xB8\xB5\xE2\x95\xB0\xEF\xBD\xA1)",
338 b"\xEF\xBD\xA1\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBE\x9F*(>\xD0\xB4<)*\xEF\xBE\x9F\xEF\xBE\x9F\xEF\xBD\xA5\xEF\xBD\xA1",
339 b"( \xEF\xBE\x9F\xEF\xBC\x8C_\xE3\x82\x9D\xEF\xBD\x80)",
340 b"(\xE4\xB8\xAA_\xE4\xB8\xAA)",
341 b"(\xE2\x95\xAF\xEF\xB8\xB5\xE2\x95\xB0,)",
342 b"\xEF\xBD\xA1\xEF\xBD\xA5\xEF\xBE\x9F(\xEF\xBE\x9F><\xEF\xBE\x9F)\xEF\xBE\x9F\xEF\xBD\xA5\xEF\xBD\xA1",
343 b"( \xE2\x95\xA5\xCF\x89\xE2\x95\xA5 )",
344 b"(\xE2\x95\xAF_\xE2\x95\xB0)",
345 b"(\xE2\x95\xA5_\xE2\x95\xA5)",
346 b".\xEF\xBD\xA1\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBE\x9F\xEF\xBD\xA5(\xEF\xBC\x9E_\xEF\xBC\x9C)\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBE\x9F\xEF\xBD\xA5\xEF\xBD\xA1.",
347 b"(\xEF\xBC\x8F\xCB\x8D\xE3\x83\xBB\xE3\x80\x81)",
348 b"(\xE3\x83\x8E_<\xE3\x80\x81)",
349 b"(\xE2\x95\xA5\xEF\xB9\x8F\xE2\x95\xA5)",
350 b"\xEF\xBD\xA1\xEF\xBE\x9F(\xEF\xBD\xA1\xEF\xBE\x89\xCF\x89\xE3\x83\xBD\xEF\xBD\xA1)\xEF\xBE\x9F\xEF\xBD\xA1",
351 b"(\xE3\x81\xA4\xCF\x89`\xEF\xBD\xA1)",
352 b"(\xEF\xBD\xA1T \xCF\x89 T\xEF\xBD\xA1)",
353 b"(\xEF\xBE\x89\xCF\x89\xEF\xBD\xA5\xEF\xBD\xA4)",
354 b"\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBD\xA5(\xEF\xBD\xA1>\xCF\x89<\xEF\xBD\xA1)\xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBD\xA5",
355 b"(T_T)",
356 b"(>_<)",
357 b"(\xE3\x81\xA3\xCB\x98\xCC\xA9\xE2\x95\xAD\xE2\x95\xAE\xCB\x98\xCC\xA9)\xE3\x81\xA3",
358 b"\xEF\xBD\xA1\xEF\xBE\x9F\xEF\xBD\xA5 (>\xEF\xB9\x8F<) \xEF\xBD\xA5\xEF\xBE\x9F\xEF\xBD\xA1",
359 b"o(\xE3\x80\x92\xEF\xB9\x8F\xE3\x80\x92)o",
360 b"(\xEF\xBD\xA1\xE2\x80\xA2\xCC\x81\xEF\xB8\xBF\xE2\x80\xA2\xCC\x80\xEF\xBD\xA1)",
361 b"(\xE0\xB2\xA5\xEF\xB9\x8F\xE0\xB2\xA5)",
362 b"(\xE0\xB2\xA1\xE2\x80\xB8\xE0\xB2\xA1)",
363 ];
364
365 pub const PAIN: [&[u8]; 15] = [
367 b"~(>_<~)",
368 b"\xE2\x98\x86\xE2\x8C\x92(> _ <)",
369 b"\xE2\x98\x86\xE2\x8C\x92(>\xE3\x80\x82<)",
370 b"(\xE2\x98\x86_@)",
371 b"(\xC3\x97_\xC3\x97)",
372 b"(x_x)V",
373 b"(\xC3\x97_\xC3\x97)\xE2\x8C\x92\xE2\x98\x86",
374 b"(x_x)\xE2\x8C\x92\xE2\x98\x86",
375 b"(\xC3\x97\xEF\xB9\x8F\xC3\x97)",
376 b"\xE2\x98\x86(\xEF\xBC\x83\xC3\x97\xC3\x97)",
377 b"(\xEF\xBC\x8B_\xEF\xBC\x8B)",
378 b"[ \xC2\xB1 _ \xC2\xB1 ]",
379 b"\xD9\xA9(\xC3\x97 \xC3\x97)\xDB\xB6",
380 b"_:(\xC2\xB4\xE0\xBD\x80`\xE3\x80\x8D \xE2\x88\xA0):_",
381 b"(\xEF\xBE\x92\xEF\xB9\x8F\xEF\xBE\x92)",
382 ];
383
384 pub const FEAR: [&[u8]; 17] = [
386 b"(\xE3\x83\x8E\xCF\x89\xE3\x83\xBD)",
387 b"(\xEF\xBC\x8F\xE3\x80\x82\xEF\xBC\xBC)",
388 b"(\xEF\xBE\x89_\xE3\x83\xBD)",
389 b"..\xE3\x83\xBB\xE3\x83\xBE(\xE3\x80\x82\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x82\xB7",
390 b"(\xE2\x80\xB3\xE3\x83\xAD\xE3\x82\x9B)",
391 b"(;;;*_*)",
392 b"(\xE3\x83\xBB\xE4\xBA\xBA\xE3\x83\xBB)",
393 b"\xEF\xBC\xBC(\xE3\x80\x87_\xEF\xBD\x8F)\xEF\xBC\x8F",
394 b"(/\xCF\x89\xEF\xBC\xBC)",
395 b"(/_\xEF\xBC\xBC)",
396 b"\xE3\x80\x9C(\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x80\x9C",
397 b"\xCE\xA3(\xC2\xB0\xE2\x96\xB3\xC2\xB0|||)\xEF\xB8\xB4",
398 b"(((\xEF\xBC\x9E\xEF\xBC\x9C)))",
399 b"{{ (>_<) }}",
400 b"\xEF\xBC\xBC(\xC2\xBA \xE2\x96\xA1 \xC2\xBA l|l)/",
401 b"\xE3\x80\xA3( \xC2\xBA\xCE\x94\xC2\xBA )\xE3\x80\xA3",
402 b"\xE2\x96\x93\xE2\x96\x92\xE2\x96\x91(\xC2\xB0\xE2\x97\xA1\xC2\xB0)\xE2\x96\x91\xE2\x96\x92\xE2\x96\x93",
403 ];
404
405 #[cfg(test)]
406 mod tests {
407 #[test]
408 fn dissatisfaction() {
409 test!(super::DISSATISFACTION)
410 }
411
412 #[test]
413 fn anger() {
414 test!(super::ANGER)
415 }
416
417 #[test]
418 fn sadness() {
419 test!(super::SADNESS)
420 }
421
422 #[test]
423 fn pain() {
424 test!(super::PAIN)
425 }
426
427 #[test]
428 fn fear() {
429 test!(super::FEAR)
430 }
431 }
432}
433
434pub mod neutral_emotions {
435 pub const INDIFFERENCE: [&[u8]; 23] = [
437 b"\xE3\x83\xBD(\xE3\x83\xBC_\xE3\x83\xBC )\xE3\x83\x8E",
438 b"\xE3\x83\xBD(\xC2\xB4\xE3\x83\xBC` )\xE2\x94\x8C",
439 b"\xE2\x94\x90(\xE2\x80\x98\xEF\xBD\x9E` )\xE2\x94\x8C",
440 b"\xE3\x83\xBD(\xE3\x80\x80\xEF\xBF\xA3\xD0\xB4\xEF\xBF\xA3)\xE3\x83\x8E",
441 b"\xE2\x94\x90(\xEF\xBF\xA3\xE3\x83\x98\xEF\xBF\xA3)\xE2\x94\x8C",
442 b"\xE3\x83\xBD(\xEF\xBF\xA3\xEF\xBD\x9E\xEF\xBF\xA3\xE3\x80\x80)\xE3\x83\x8E",
443 b"\xE2\x95\xAE(\xEF\xBF\xA3_\xEF\xBF\xA3)\xE2\x95\xAD",
444 b"\xE3\x83\xBD(\xCB\x87\xE3\x83\x98\xCB\x87)\xE3\x83\x8E",
445 b"\xE2\x94\x90(\xEF\xBF\xA3\xEF\xBD\x9E\xEF\xBF\xA3)\xE2\x94\x8C",
446 b"\xE2\x94\x90(\xEF\xB8\xB6\xE2\x96\xBD\xEF\xB8\xB6)\xE2\x94\x8C",
447 b"\xE2\x95\xAE(\xEF\xBF\xA3\xEF\xBD\x9E\xEF\xBF\xA3)\xE2\x95\xAD",
448 b"\xC2\xAF\\_(\xE3\x83\x84)_/\xC2\xAF",
449 b"\xE2\x94\x90( \xC2\xB4 \xD0\xB4 ` )\xE2\x94\x8C",
450 b"\xE2\x95\xAE(\xEF\xB8\xB6\xEF\xB8\xBF\xEF\xB8\xB6)\xE2\x95\xAD",
451 b"\xE2\x94\x90(\xEF\xBF\xA3\xE2\x88\x80\xEF\xBF\xA3)\xE2\x94\x8C",
452 b"\xE2\x94\x90( \xCB\x98 \xEF\xBD\xA4 \xCB\x98 )\xE2\x94\x8C",
453 b"\xE2\x95\xAE(\xEF\xB8\xB6\xE2\x96\xBD\xEF\xB8\xB6)\xE2\x95\xAD",
454 b"\xE2\x95\xAE( \xCB\x98 \xEF\xBD\xA4 \xCB\x98 )\xE2\x95\xAD",
455 b"\xE2\x94\x90( \xCB\x98_\xCB\x98 )\xE2\x94\x8C",
456 b"\xE2\x95\xAE( \xCB\x98_\xCB\x98 )\xE2\x95\xAD",
457 b"\xE2\x94\x90(\xEF\xBF\xA3\xE3\x83\xAE\xEF\xBF\xA3)\xE2\x94\x8C",
458 b"\xE1\x95\x95( \xE1\x90\x9B )\xE1\x95\x97",
459 b"\xE2\x94\x90(\xE3\x82\xB7)\xE2\x94\x8C",
460 ];
461
462 pub const CONFUSSION: [&[u8]; 23] = [
464 b"(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3;)",
465 b"\xCF\x83(\xEF\xBF\xA3\xE3\x80\x81\xEF\xBF\xA3\xE3\x80\x83)",
466 b"(\xEF\xBF\xA3\xEF\xBD\x9E\xEF\xBF\xA3;)",
467 b"(-_-;)\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB",
468 b"\xE2\x94\x90('\xEF\xBD\x9E`;)\xE2\x94\x8C",
469 b"(\xE3\x83\xBB_\xE3\x83\xBB\xE3\x83\xBE",
470 b"(\xE3\x80\x83\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3\xE3\x80\x83\xE3\x82\x9E",
471 b"\xE2\x94\x90(\xEF\xBF\xA3\xE3\x83\x98\xEF\xBF\xA3;)\xE2\x94\x8C",
472 b"(\xE3\x83\xBB_\xE3\x83\xBB;)",
473 b"(\xEF\xBF\xA3_\xEF\xBF\xA3)\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB",
474 b"\xE2\x95\xAE(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3;)\xE2\x95\xAD",
475 b"(\xC2\xAF . \xC2\xAF;)",
476 b"(\xEF\xBC\xA0_\xEF\xBC\xA0)",
477 b"(\xE3\x83\xBB\xE3\x83\xBB;)\xE3\x82\x9E",
478 b"\xCE\xA3(\xEF\xBF\xA3\xE3\x80\x82\xEF\xBF\xA3\xEF\xBE\x89)",
479 b"(\xE3\x83\xBB\xE3\x83\xBB ) ?",
480 b"(\xE2\x80\xA2\xE0\xB8\xB4_\xE2\x80\xA2\xE0\xB8\xB4)?",
481 b"(\xE2\x97\x8E \xE2\x97\x8E)\xE3\x82\x9E",
482 b"(\xE3\x83\xBC\xE3\x83\xBC;)",
483 b"\xE1\x83\x9A(\xE0\xB2\xA0_\xE0\xB2\xA0 \xE1\x83\x9A)",
484 b"\xE1\x83\x9A(\xC2\xAF\xE3\x83\xAD\xC2\xAF\"\xE1\x83\x9A)",
485 b"(\xC2\xAF . \xC2\xAF\xD9\xA5)",
486 b"(\xC2\xAF \xC2\xAF\xD9\xA5)",
487 ];
488
489 pub const DOUBT: [&[u8]; 11] = [
491 b"(\xEF\xBF\xA2_\xEF\xBF\xA2)",
492 b"(\xE2\x86\x92_\xE2\x86\x92)",
493 b"(\xEF\xBF\xA2 \xEF\xBF\xA2)",
494 b"(\xEF\xBF\xA2\xE2\x80\xBF\xEF\xBF\xA2 )",
495 b"(\xC2\xAC_\xC2\xAC )",
496 b"(\xE2\x86\x90_\xE2\x86\x90)",
497 b"(\xC2\xAC \xC2\xAC )",
498 b"(\xC2\xAC\xE2\x80\xBF\xC2\xAC )",
499 b"(\xE2\x86\xBC_\xE2\x86\xBC)",
500 b"(\xE2\x87\x80_\xE2\x87\x80)",
501 b"(\xE1\x93\x80 \xE1\x93\x80)",
502 ];
503
504 pub const SUPRISE: [&[u8]; 14] = [
506 b"w(\xC2\xB0\xEF\xBD\x8F\xC2\xB0)w",
507 b"\xE3\x83\xBD(\xC2\xB0\xE3\x80\x87\xC2\xB0)\xEF\xBE\x89",
508 b"\xCE\xA3(O_O)",
509 b"\xCE\xA3(\xC2\xB0\xE3\x83\xAD\xC2\xB0)",
510 b"(\xE2\x8A\x99_\xE2\x8A\x99)",
511 b"(o_O)",
512 b"(O_O;)",
513 b"(O.O)",
514 b"(\xC2\xB0\xE3\x83\xAD\xC2\xB0) !",
515 b"(o_O) !",
516 b"(\xE2\x96\xA1_\xE2\x96\xA1)",
517 b"\xCE\xA3(\xE2\x96\xA1_\xE2\x96\xA1)",
518 b"\xE2\x88\x91(O_O;)",
519 b"( : \xE0\xB1\xA6 \xE2\x80\xB8 \xE0\xB1\xA6 : )",
520 ];
521
522 #[cfg(test)]
523 mod tests {
524 #[test]
525 fn indifference() {
526 test!(super::INDIFFERENCE)
527 }
528
529 #[test]
530 fn confusion() {
531 test!(super::CONFUSSION)
532 }
533
534 #[test]
535 fn doubt() {
536 test!(super::DOUBT)
537 }
538
539 #[test]
540 fn suprise() {
541 test!(super::SUPRISE)
542 }
543 }
544}
545
546pub mod various_actions {
547 pub const GREETING: [&[u8]; 28] = [
549 b"(*\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xEF\xBE\x89",
550 b"(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xE3\x83\x8E",
551 b"(\xC2\xB0\xE2\x96\xBD\xC2\xB0)/",
552 b"( \xC2\xB4 \xE2\x88\x80 ` )\xEF\xBE\x89",
553 b"(^-^*)/",
554 b"(\xEF\xBC\xA0\xC2\xB4\xE3\x83\xBC`)\xEF\xBE\x89\xEF\xBE\x9E",
555 b"(\xC2\xB4\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2`)\xEF\xBE\x89",
556 b"( \xC2\xB0 \xE2\x88\x80 \xC2\xB0 )\xEF\xBE\x89\xEF\xBE\x9E",
557 b"\xE3\x83\xBE(*'\xE2\x96\xBD'*)",
558 b"\xEF\xBC\xBC(\xE2\x8C\x92\xE2\x96\xBD\xE2\x8C\x92)",
559 b"\xE3\x83\xBE(\xE2\x98\x86\xE2\x96\xBD\xE2\x98\x86)",
560 b"( \xC2\xB4 \xE2\x96\xBD ` )\xEF\xBE\x89",
561 b"(^\xEF\xBC\x90^)\xE3\x83\x8E",
562 b"~\xE3\x83\xBE(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)",
563 b"(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)\xE3\x83\x8E",
564 b"\xE3\x83\xBE(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB*)",
565 b"(*\xC2\xB0\xEF\xBD\xB0\xC2\xB0)\xEF\xBE\x89",
566 b"(\xE3\x83\xBB_\xE3\x83\xBB)\xE3\x83\x8E",
567 b"(o\xC2\xB4\xCF\x89`o)\xEF\xBE\x89",
568 b"( \xC2\xB4 \xE2\x96\xBD ` )/",
569 b"(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3)/",
570 b"( \xC2\xB4 \xCF\x89 ` )\xE3\x83\x8E\xEF\xBE\x9E",
571 b"(\xE2\x8C\x92\xCF\x89\xE2\x8C\x92)\xEF\xBE\x89",
572 b"(o^ ^o)/",
573 b"(\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6)/",
574 b"(\xE2\x9C\xA7\xE2\x88\x80\xE2\x9C\xA7)/",
575 b"(o\xC2\xB4\xE2\x96\xBD`o)\xEF\xBE\x89",
576 b"(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)/",
577 ];
578
579 pub const HUGGING: [&[u8]; 14] = [
581 b"(\xE3\x81\xA5\xEF\xBF\xA3 \xC2\xB3\xEF\xBF\xA3)\xE3\x81\xA5",
582 b"(\xE3\x81\xA4\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6)\xE3\x81\xA4",
583 b"(\xE3\x81\xA4\xE2\x9C\xA7\xCF\x89\xE2\x9C\xA7)\xE3\x81\xA4",
584 b"(\xE3\x81\xA5 \xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95 )\xE3\x81\xA5",
585 b"(\xE2\x8A\x83\xEF\xBD\xA1\xE2\x80\xA2\xCC\x81\xE2\x80\xBF\xE2\x80\xA2\xCC\x80\xEF\xBD\xA1)\xE2\x8A\x83",
586 b"(\xE3\x81\xA4 . \xE2\x80\xA2\xCC\x81 _\xCA\x96 \xE2\x80\xA2\xCC\x80 .)\xE3\x81\xA4",
587 b"(\xE3\x81\xA3\xE0\xB2\xA0\xE2\x80\xBF\xE0\xB2\xA0)\xE3\x81\xA3",
588 b"(\xE3\x81\xA5\xE2\x97\xA1\xEF\xB9\x8F\xE2\x97\xA1)\xE3\x81\xA5",
589 b"\xE2\x8A\x82(\xC2\xB4\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2`\xE2\x8A\x82)",
590 b"\xE2\x8A\x82(\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5*\xE2\x8A\x82)",
591 b"\xE2\x8A\x82(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xE2\x8A\x83",
592 b"\xE2\x8A\x82( \xC2\xB4 \xE2\x96\xBD ` )\xE2\x8A\x83",
593 b"( ~*-*)~",
594 b"(\xEF\xBD\xA1\xE2\x80\xA2\xCC\x80\xE1\xB4\x97-)\xE2\x9C\xA7",
595 ];
596
597 pub const WINKING: [&[u8]; 17] = [
599 b"(^_~)",
600 b"( \xEF\xBE\x9F\xEF\xBD\x8F\xE2\x8C\x92)",
601 b"(^_-)\xE2\x89\xA1\xE2\x98\x86",
602 b"(^\xCF\x89~)",
603 b"(>\xCF\x89^)",
604 b"(~\xE4\xBA\xBA^)",
605 b"(^_-)",
606 b"( -_\xE3\x83\xBB)",
607 b"(^_<)\xE3\x80\x9C\xE2\x98\x86",
608 b"(^\xE4\xBA\xBA<)\xE3\x80\x9C\xE2\x98\x86",
609 b"\xE2\x98\x86\xE2\x8C\x92(\xE2\x89\xA7\xE2\x96\xBD\xE2\x80\x8B\xC2\xB0 )",
610 b"\xE2\x98\x86\xE2\x8C\x92(\xE3\x82\x9D\xE3\x80\x82\xE2\x88\x82)",
611 b"(^_<)",
612 b"(^_\xE2\x88\x92)\xE2\x98\x86",
613 b"(\xEF\xBD\xA5\xCF\x89<)\xE2\x98\x86",
614 b"(^.~)\xE2\x98\x86",
615 b"(^.~)",
616 ];
617
618 pub const APOLOGIZING: [&[u8]; 9] = [
620 b"m(_ _)m",
621 b"(\xE3\x82\xB7_ _)\xE3\x82\xB7",
622 b"m(. .)m",
623 b"<(_ _)>",
624 b"\xE4\xBA\xBA(_ _*)",
625 b"(*_ _)\xE4\xBA\xBA",
626 b"m(_ _;m)",
627 b"(m;_ _)m",
628 b"(\xE3\x82\xB7. .)\xE3\x82\xB7",
629 ];
630
631 pub const NOSEBLEEDING: [&[u8]; 8] = [
633 b"(*\xEF\xBF\xA3ii\xEF\xBF\xA3)",
634 b"(\xEF\xBF\xA3\xEF\xBE\x8A\xEF\xBF\xA3*)",
635 b"\\(\xEF\xBF\xA3\xEF\xBE\x8A\xEF\xBF\xA3)",
636 b"(\xEF\xBC\xBE\xE0\xBC\x8B\xE0\xBC\x8D\xEF\xBC\xBE)",
637 b"(\xEF\xBC\xBE\xE3\x80\x83\xEF\xBC\xBE)",
638 b"(\xEF\xBF\xA3 \xC2\xA8\xE3\x83\xBD\xEF\xBF\xA3)",
639 b"(\xEF\xBF\xA3 ;\xEF\xBF\xA3)",
640 b"(\xEF\xBF\xA3 ;;\xEF\xBF\xA3)",
641 ];
642
643 pub const HIDING: [&[u8]; 14] = [
645 b"|\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5)",
646 b"\xEF\xBE\x8D(\xEF\xBD\xA5_|",
647 b"|\xCF\x89\xEF\xBD\xA5)\xEF\xBE\x89",
648 b"\xE3\x83\xBE(\xEF\xBD\xA5|",
649 b"|\xD0\xB4\xEF\xBD\xA5)",
650 b"|_\xEF\xBF\xA3))",
651 b"|\xE2\x96\xBD//)",
652 b"\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xA4(\xEF\xBD\xA5_\xE2\x94\x9C\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4",
653 b"\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xA4\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5)\xEF\xBE\x89",
654 b"\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xA4( \xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96\xE2\x94\x9C\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4",
655 b"\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xA4(\xEF\xBD\xA5_\xE2\x94\x9C\xE2\x94\xAC\xE2\x94\xB4\xE2\x94\xAC\xE2\x94\xB4",
656 b"|_\xE3\x83\xBB)",
657 b"|\xEF\xBD\xA5\xD0\xB4\xEF\xBD\xA5)\xEF\xBE\x89",
658 b"|\xCA\x98\xE2\x80\xBF\xCA\x98)\xE2\x95\xAF",
659 ];
660
661 pub const WRITING: [&[u8]; 12] = [
663 b"__\xCF\x86(\xEF\xBC\x8E\xEF\xBC\x8E)",
664 b"( \xEF\xBF\xA3\xE3\x83\xBC\xEF\xBF\xA3)\xCF\x86__",
665 b"__\xCF\x86(\xE3\x80\x82\xE3\x80\x82)",
666 b"__\xCF\x86(\xEF\xBC\x8E\xEF\xBC\x8E;)",
667 b"\xE3\x83\xBE( `\xE3\x83\xBC\xC2\xB4)\xE3\x82\xB7\xCF\x86__",
668 b"__\xE3\x80\x86(\xEF\xBF\xA3\xE3\x83\xBC\xEF\xBF\xA3 )",
669 b"....\xCF\x86(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB*)",
670 b"___\xE3\x80\x86(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)",
671 b"( ^\xE2\x96\xBD^)\xCF\x88__",
672 b"....\xCF\x86(\xEF\xB8\xB6\xE2\x96\xBD\xEF\xB8\xB6)\xCF\x86....",
673 b"( . .)\xCF\x86__",
674 b"__\xCF\x86(\xE2\x97\x8E\xE2\x97\x8E\xE3\x83\x98)",
675 ];
676
677 pub const RUNNING: [&[u8]; 9] = [
679 b"\xE2\x98\x86\xEF\xBE\x90(o*\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5)\xEF\xBE\x89",
680 b"C= C= C= C= C=\xE2\x94\x8C(;\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xE2\x94\x98",
681 b"\xE2\x94\x80=\xE2\x89\xA1\xCE\xA3((( \xE3\x81\xA4\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x81\xA4",
682 b"\xCE\xB5=\xCE\xB5=\xCE\xB5=\xCE\xB5=\xE2\x94\x8C(;\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xE2\x94\x98",
683 b"\xCE\xB5=\xCE\xB5=\xE2\x94\x8C( >_<)\xE2\x94\x98",
684 b"C= C= C= C=\xE2\x94\x8C( `\xE3\x83\xBC\xC2\xB4)\xE2\x94\x98",
685 b"\xCE\xB5===(\xE3\x81\xA3\xE2\x89\xA7\xCF\x89\xE2\x89\xA6)\xE3\x81\xA3",
686 b"\xE3\x83\xBD(\xEF\xBF\xA3\xD0\xB4\xEF\xBF\xA3;)\xE3\x83\x8E=3=3=3",
687 b"\xE3\x80\x82\xE3\x80\x82\xE3\x80\x82\xE3\x83\x9F\xE3\x83\xBD(\xE3\x80\x82\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x83\x8E",
688 ];
689
690 pub const SLEEPING: [&[u8]; 10] = [
692 b"[(\xEF\xBC\x8D\xEF\xBC\x8D)]..zzZ",
693 b"(\xEF\xBC\x8D_\xEF\xBC\x8D) zzZ",
694 b"(\xE2\x88\xAA\xEF\xBD\xA1\xE2\x88\xAA)\xEF\xBD\xA1\xEF\xBD\xA1\xEF\xBD\xA1zzZ",
695 b"(\xEF\xBC\x8D\xCF\x89\xEF\xBC\x8D) zzZ",
696 b"(\xEF\xBF\xA3o\xEF\xBF\xA3) zzZZzzZZ",
697 b"(( _ _ ))..zzzZZ",
698 b"(\xEF\xBF\xA3\xCF\x81\xEF\xBF\xA3)..zzZZ",
699 b"(\xEF\xBC\x8D.\xEF\xBC\x8D)...zzz",
700 b"(\xEF\xBC\xBF \xEF\xBC\xBF*) Z z z",
701 b"(x . x) ~~zzZ",
702 ];
703
704 #[cfg(test)]
705 mod tests {
706 #[test]
707 fn greeting() {
708 test!(super::GREETING)
709 }
710
711 #[test]
712 fn hugging() {
713 test!(super::HUGGING)
714 }
715
716 #[test]
717 fn winking() {
718 test!(super::WINKING)
719 }
720
721 #[test]
722 fn apologizing() {
723 test!(super::APOLOGIZING)
724 }
725
726 #[test]
727 fn nosebleeding() {
728 test!(super::NOSEBLEEDING)
729 }
730
731 #[test]
732 fn hiding() {
733 test!(super::HIDING)
734 }
735
736 #[test]
737 fn writing() {
738 test!(super::WRITING)
739 }
740
741 #[test]
742 fn running() {
743 test!(super::RUNNING)
744 }
745
746 #[test]
747 fn sleeping() {
748 test!(super::SLEEPING)
749 }
750 }
751}
752
753pub mod animals {
754 pub const CAT: [&[u8]; 28] = [
756 b"(=^\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5^=)",
757 b"(=^\xEF\xBD\xA5\xEF\xBD\xAA\xEF\xBD\xA5^=)",
758 b"(=\xE2\x91\xA0\xCF\x89\xE2\x91\xA0=)",
759 b"( =\xCF\x89=)..nyaa",
760 b"(= ; \xEF\xBD\xAA ; =)",
761 b"(=`\xCF\x89\xC2\xB4=)",
762 b"(=^\xE2\x80\xA5^=)",
763 b"( =\xE3\x83\x8E\xCF\x89\xE3\x83\xBD=)",
764 b"(=\xE2\x8C\x92\xE2\x80\xBF\xE2\x80\xBF\xE2\x8C\x92=)",
765 b"(=^ \xE2\x97\xA1 ^=)",
766 b"(=^-\xCF\x89-^=)",
767 b"\xE3\x83\xBE(=`\xCF\x89\xC2\xB4=)\xE3\x83\x8E\xE2\x80\x9D",
768 b"(\xEF\xBC\xBE\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2\xEF\xBC\xBE)",
769 b"(/ =\xCF\x89=)/",
770 b"\xE0\xB8\x85(\xE2\x80\xA2\xE3\x85\x85\xE2\x80\xA2\xE2\x9D\x80)\xE0\xB8\x85",
771 b"\xE0\xB8\x85(\xE2\x80\xA2 \xC9\xAA \xE2\x80\xA2)\xE0\xB8\x85",
772 b"\xE0\xAC\xB2(\xE2\x93\x9B \xCF\x89 \xE2\x93\x9B)\xE0\xAC\xB2",
773 b"(^=\xE2\x97\x95\xE1\xB4\xA5\xE2\x97\x95=^)",
774 b"( =\xCF\x89= )",
775 b"\xE0\xAC\xB2(\xE2\x93\x9B \xCF\x89 \xE2\x93\x9B)\xE0\xAC\xB2",
776 b"(^=\xE2\x97\x95\xE1\xB4\xA5\xE2\x97\x95=^)",
777 b"( =\xCF\x89= )",
778 b"(^\xCB\xB5\xE2\x97\x95\xCF\x89\xE2\x97\x95\xCB\xB5^)",
779 b"(^\xE2\x97\x94\xE1\xB4\xA5\xE2\x97\x94^)",
780 b"(^\xE2\x97\x95\xE1\xB4\xA5\xE2\x97\x95^)",
781 b"\xE0\xB8\x95(=\xCF\x89=)\xE0\xB8\x95",
782 b"( \xCE\xA6 \xCF\x89 \xCE\xA6 )",
783 b"\xE0\xB8\x85(^\xE2\x97\x95\xE1\xB4\xA5\xE2\x97\x95^)\xE0\xB8\x85",
784 ];
785
786 pub const BEAR: [&[u8]; 16] = [
788 b"( \xC2\xB4(\xEF\xBD\xB4)\xCB\x8B )",
789 b"(*\xEF\xBF\xA3(\xEF\xBD\xB4)\xEF\xBF\xA3*)",
790 b"\xE3\x83\xBD(\xEF\xBF\xA3(\xEF\xBD\xB4)\xEF\xBF\xA3)\xEF\xBE\x89",
791 b"(\xEF\xBC\x8F\xEF\xBF\xA3(\xEF\xBD\xB4)\xEF\xBF\xA3)\xEF\xBC\x8F",
792 b"(\xEF\xBF\xA3(\xEF\xBD\xB4)\xEF\xBF\xA3)",
793 b"\xE3\x83\xBD( \xCB\x8B(\xEF\xBD\xB4)\xC2\xB4 )\xEF\xBE\x89",
794 b"\xE2\x8A\x82(\xEF\xBF\xA3(\xEF\xBD\xB4)\xEF\xBF\xA3)\xE2\x8A\x83",
795 b"(\xEF\xBC\x8F(\xEF\xBD\xB4)\xEF\xBC\xBC)",
796 b"\xE2\x8A\x82(\xC2\xB4(\xE3\x82\xA7)\xCB\x8B)\xE2\x8A\x83",
797 b"(/-(\xEF\xBD\xB4)-\xEF\xBC\xBC)",
798 b"(/\xC2\xB0(\xEF\xBD\xB4)\xC2\xB0)/",
799 b"\xCA\x95 \xE1\xB5\x94\xE1\xB4\xA5\xE1\xB5\x94 \xCA\x94",
800 b"\xCA\x95 \xE2\x80\xA2\xE1\xB4\xA5\xE2\x80\xA2 \xCA\x94",
801 b"\xCA\x95 \xE2\x80\xA2\xCC\x80 \xCF\x89 \xE2\x80\xA2\xCC\x81 \xCA\x94",
802 b"\xCA\x95 \xE2\x80\xA2\xCC\x80 o \xE2\x80\xA2\xCC\x81 \xCA\x94",
803 b"\xCA\x95\xE0\xB2\xA0\xE1\xB4\xA5\xE0\xB2\xA0\xCA\x94",
804 ];
805
806 pub const DOG: [&[u8]; 9] = [
808 b"\xE2\x88\xAA\xEF\xBC\xBE\xE3\x82\xA7\xEF\xBC\xBE\xE2\x88\xAA",
809 b"\xE2\x88\xAA\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5\xE2\x88\xAA",
810 b"\xE2\x88\xAA\xEF\xBF\xA3-\xEF\xBF\xA3\xE2\x88\xAA",
811 b"\xE2\x88\xAA\xEF\xBD\xA5\xEF\xBD\xAA\xEF\xBD\xA5\xE2\x88\xAA",
812 b"\xEF\xBC\xB5^\xE7\x9A\xBF^\xEF\xBC\xB5",
813 b"\xEF\xBC\xB5\xEF\xBC\xB4\xEF\xBD\xAA\xEF\xBC\xB4\xEF\xBC\xB5",
814 b"U^\xEF\xBD\xAA^U",
815 b"V\xE2\x97\x8F\xE1\xB4\xA5\xE2\x97\x8FV",
816 b"U\xE3\x83\xBB\xE1\xB4\xA5\xE3\x83\xBBU",
817 ];
818
819 pub const RABBIT: [&[u8]; 8] = [
821 b"\xEF\xBC\x8F(\xE2\x89\xA7 x \xE2\x89\xA6)\xEF\xBC\xBC",
822 b"\xEF\xBC\x8F(\xEF\xBD\xA5 \xC3\x97 \xEF\xBD\xA5)\xEF\xBC\xBC",
823 b"\xEF\xBC\x8F(=\xC2\xB4x`=)\xEF\xBC\xBC",
824 b"\xEF\xBC\x8F(^ x ^)\xEF\xBC\xBC",
825 b"\xEF\xBC\x8F(=\xEF\xBD\xA5 x \xEF\xBD\xA5=)\xEF\xBC\xBC",
826 b"\xEF\xBC\x8F(^ \xC3\x97 ^)\xEF\xBC\xBC",
827 b"\xEF\xBC\x8F(\xEF\xBC\x9E\xC3\x97\xEF\xBC\x9C)\xEF\xBC\xBC",
828 b"\xEF\xBC\x8F(\xCB\x83\xE1\x86\xBA\xCB\x82)\xEF\xBC\xBC",
829 ];
830
831 pub const PIG: [&[u8]; 8] = [
833 b"( \xC2\xB4(00)\xCB\x8B )",
834 b"(\xEF\xBF\xA3(\xCF\x89)\xEF\xBF\xA3)",
835 b"\xE3\x83\xBD( \xCB\x8B(00)\xC2\xB4 )\xE3\x83\x8E",
836 b"( \xC2\xB4(oo)\xCB\x8B )",
837 b"\xEF\xBC\xBC(\xEF\xBF\xA3(oo)\xEF\xBF\xA3)\xEF\xBC\x8F",
838 b"\xEF\xBD\xA1\xEF\xBE\x9F(\xEF\xBE\x9F\xC2\xB4(00)`\xEF\xBE\x9F)\xEF\xBE\x9F\xEF\xBD\xA1",
839 b"(\xEF\xBF\xA3(00)\xEF\xBF\xA3)",
840 b"(\xCB\x86(oo)\xCB\x86)",
841 ];
842
843 pub const BIRD: [&[u8]; 9] = [
845 b"(\xEF\xBF\xA3\xCE\x98\xEF\xBF\xA3)",
846 b"(`\xEF\xBD\xA5\xCE\x98\xEF\xBD\xA5\xC2\xB4)",
847 b"( \xCB\x8B \xCE\x98 \xC2\xB4 )",
848 b"(\xE2\x97\x89\xCE\x98\xE2\x97\x89)",
849 b"\xEF\xBC\xBC( \xCB\x8B \xCE\x98 \xC2\xB4 )\xEF\xBC\x8F",
850 b"(\xEF\xBD\xA5\xCE\xB8\xEF\xBD\xA5)",
851 b"(\xE3\x83\xBB\xCE\x98\xE3\x83\xBB)",
852 b"\xE3\x83\xBE(\xEF\xBF\xA3\xE2\x97\x87\xEF\xBF\xA3)\xE3\x83\x8E\xE3\x80\x83",
853 b"(\xEF\xBD\xA5\xCE\x98\xEF\xBD\xA5)",
854 ];
855
856 pub const FISH: [&[u8]; 7] = [
858 b"(\xC2\xB0)#))<<",
859 b"<\xE3\x83\xBB )))><<",
860 b"\xCE\xB6\xC2\xB0)))\xE5\xBD\xA1",
861 b">\xC2\xB0))))\xE5\xBD\xA1",
862 b"(\xC2\xB0))<<",
863 b">^)))<\xEF\xBD\x9E\xEF\xBD\x9E",
864 b"\xE2\x89\xA7( \xC2\xB0 \xC2\xB0 )\xE2\x89\xA6",
865 ];
866
867 pub const SPIDER: [&[u8]; 7] = [
869 b"/\xE2\x95\xB2/\\\xE2\x95\xAD(\xE0\xB0\xA0\xE0\xB0\xA0\xE7\x9B\x8A\xE0\xB0\xA0\xE0\xB0\xA0)\xE2\x95\xAE/\\\xE2\x95\xB1\\",
870 b"/\xE2\x95\xB2/\\\xE2\x95\xAD(\xE0\xB2\xB0\xE0\xB2\xB0\xE2\x8C\x93\xE0\xB2\xB0\xE0\xB2\xB0)\xE2\x95\xAE/\\\xE2\x95\xB1\\",
871 b"/\xE2\x95\xB2/\\\xE2\x95\xAD\xE0\xBC\xBC \xC2\xBA\xC2\xBA\xD9\x84\xCD\x9F\xC2\xBA\xC2\xBA \xE0\xBC\xBD\xE2\x95\xAE/\\\xE2\x95\xB1\\",
872 b"/\xE2\x95\xB2/\\\xE2\x95\xAD( \xCD\xA1\xC2\xB0\xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96 \xCD\xA1\xC2\xB0\xCD\xA1\xC2\xB0)\xE2\x95\xAE/\\\xE2\x95\xB1\\",
873 b"/\xE2\x95\xB2/\\\xE2\x95\xAD[ \xE1\xB4\xBC\xE1\xB4\xBC \xE0\xB1\xAA \xE1\xB4\xBC\xE1\xB4\xBC]\xE2\x95\xAE/\\\xE2\x95\xB1\\",
874 b"/\xE2\x95\xB2/\\( \xE2\x80\xA2\xCC\x80 \xCF\x89 \xE2\x80\xA2\xCC\x81 )/\\\xE2\x95\xB1\\",
875 b"/\xE2\x95\xB2/\\\xE2\x95\xAD[\xE2\x98\x89\xEF\xB9\x8F\xE2\x98\x89]\xE2\x95\xAE/\\\xE2\x95\xB1\\",
876 ];
877
878 #[cfg(test)]
879 mod tests {
880 #[test]
881 fn cat() {
882 test!(super::CAT)
883 }
884
885 #[test]
886 fn bear() {
887 test!(super::BEAR)
888 }
889
890 #[test]
891 fn dog() {
892 test!(super::DOG)
893 }
894
895 #[test]
896 fn rabbit() {
897 test!(super::RABBIT)
898 }
899
900 #[test]
901 fn pig() {
902 test!(super::PIG)
903 }
904
905 #[test]
906 fn bird() {
907 test!(super::BIRD)
908 }
909
910 #[test]
911 fn fish() {
912 test!(super::FISH)
913 }
914
915 #[test]
916 fn spider() {
917 test!(super::SPIDER)
918 }
919 }
920}
921
922pub mod other_types {
923 pub const FRIENDS: [&[u8]; 23] = [
925 b"\xE3\x83\xBE(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xE3\x83\xA1(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xE3\x83\x8E",
926 b"\xE3\x83\xBD(\xE2\x88\x80\xC2\xB0 )\xE4\xBA\xBA( \xC2\xB0\xE2\x88\x80)\xE3\x83\x8E",
927 b"\xE3\x83\xBD( \xE2\x8C\x92o\xE2\x8C\x92)\xE4\xBA\xBA(\xE2\x8C\x92-\xE2\x8C\x92 )\xEF\xBE\x89",
928 b"(*^\xCF\x89^)\xE5\x85\xAB(\xE2\x8C\x92\xE2\x96\xBD\xE2\x8C\x92)\xE5\x85\xAB(-\xE2\x80\xBF\xE2\x80\xBF- )\xE3\x83\xBD",
929 b"\xEF\xBC\xBC(\xEF\xBC\xBE\xE2\x88\x80\xEF\xBC\xBE)\xE3\x83\xA1(\xEF\xBC\xBE\xE2\x88\x80\xEF\xBC\xBE)\xE3\x83\x8E",
930 b"\xE3\x83\xBE(\xEF\xBF\xA3\xE3\x83\xBC\xEF\xBF\xA3(\xE2\x89\xA7\xCF\x89\xE2\x89\xA6*)\xE3\x82\x9D",
931 b"\xE3\x83\xBD( \xE2\x8C\x92\xCF\x89\xE2\x8C\x92)\xE4\xBA\xBA(=^\xE2\x80\xA5^= )\xEF\xBE\x89",
932 b"\xE3\x83\xBD(\xE2\x89\xA7\xE2\x97\xA1\xE2\x89\xA6)\xE5\x85\xAB(o^ ^o)\xE3\x83\x8E",
933 b"(*\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)\xE7\x88\xBB(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB*)",
934 b"\xEF\xBD\xA1*:\xE2\x98\x86(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB\xE4\xBA\xBA\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xEF\xBD\xA1:\xE3\x82\x9C\xE2\x98\x86\xEF\xBD\xA1",
935 b"o(^^o)(o^^o)(o^^o)(o^^)o",
936 b"(((\xEF\xBF\xA3(\xEF\xBF\xA3(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xBF\xA3)\xEF\xBF\xA3)))",
937 b"(\xC2\xB0(\xC2\xB0\xCF\x89(\xC2\xB0\xCF\x89\xC2\xB0(\xE2\x98\x86\xCF\x89\xE2\x98\x86)\xC2\xB0\xCF\x89\xC2\xB0)\xCF\x89\xC2\xB0)\xC2\xB0)",
938 b"\xE3\x83\xBE(\xE3\x83\xBB\xCF\x89\xE3\x83\xBB`)\xE3\x83\x8E\xE3\x83\xBE(\xC2\xB4\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xE3\x83\x8E\xE3\x82\x9B",
939 b"\xCE\xA8( `\xE2\x88\x80)(\xE2\x88\x80\xC2\xB4 )\xCE\xA8",
940 b"(\xE3\x81\xA3\xCB\x98\xE2\x96\xBD\xCB\x98)(\xCB\x98\xE2\x96\xBD\xCB\x98)\xCB\x98\xE2\x96\xBD\xCB\x98\xCF\x82)",
941 b"(((*\xC2\xB0\xE2\x96\xBD\xC2\xB0*)\xE5\x85\xAB(*\xC2\xB0\xE2\x96\xBD\xC2\xB0*)))",
942 b"\xE2\x98\x86\xE3\x83\xBE(*\xC2\xB4\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)\xEF\xBE\x89\xE3\x83\xBE(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB`*)\xEF\xBE\x89\xE2\x98\x86",
943 b"(*\xEF\xBC\xBE\xCF\x89\xEF\xBC\xBE)\xE4\xBA\xBA(\xEF\xBC\xBE\xCF\x89\xEF\xBC\xBE*)",
944 b"\xD9\xA9(\xE0\xB9\x91\xEF\xBD\xA5\xE0\xB8\xB4\xE1\xB4\x97\xEF\xBD\xA5\xE0\xB8\xB4)\xDB\xB6\xD9\xA9(\xEF\xBD\xA5\xE0\xB8\xB4\xE1\xB4\x97\xEF\xBD\xA5\xE0\xB8\xB4\xE0\xB9\x91)\xDB\xB6",
945 b"(\xE2\x98\x9E\xC2\xB0\xE3\x83\xAE\xC2\xB0)\xE2\x98\x9E \xE2\x98\x9C(\xC2\xB0\xE3\x83\xAE\xC2\xB0\xE2\x98\x9C)",
946 b"\xEF\xBC\xBC(\xE2\x96\xBD\xEF\xBF\xA3 \\ (\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3) / \xEF\xBF\xA3\xE2\x96\xBD)\xEF\xBC\x8F",
947 b"\\( \xCB\x99\xE2\x96\xBF\xCB\x99 )/\\( \xCB\x99\xE2\x96\xBF\xCB\x99 )/",
948 ];
949
950 pub const ENEMIES: [&[u8]; 24] = [
952 b"\xE3\x83\xBD( \xEF\xBD\xA5\xE2\x88\x80\xEF\xBD\xA5)\xEF\xBE\x89_\xCE\xB8\xE5\xBD\xA1\xE2\x98\x86\xCE\xA3(\xE3\x83\x8E `\xD0\x94\xC2\xB4)\xE3\x83\x8E",
953 b"(*\xC2\xB4\xE2\x88\x87`)\xE2\x94\x8C\xCE\xB8\xE2\x98\x86(\xEF\xBE\x89>_<)\xEF\xBE\x89",
954 b"( \xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3)\xE3\x83\x8E\xEF\xBE\x9E\xE2\x8C\x92\xE2\x98\x86\xEF\xBE\x90(o _ _)o",
955 b"(*`0\xC2\xB4)\xCE\xB8\xE2\x98\x86(\xE3\x83\xA1\xC2\xB0\xE7\x9A\xBF\xC2\xB0)\xEF\xBE\x89",
956 b"(o\xC2\xAC\xE2\x80\xBF\xC2\xACo )...\xE2\x98\x86\xEF\xBE\x90(*x_x)",
957 b"(\xE2\x95\xAC\xEF\xBF\xA3\xE7\x9A\xBF\xEF\xBF\xA3)=\xE2\x97\x8B\xEF\xBC\x83(\xEF\xBF\xA3#)\xEF\xBC\x93\xEF\xBF\xA3)",
958 b"(; -_-)\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95C<\xE2\x80\x95_-)",
959 b"\xEF\xBC\x9C( \xEF\xBF\xA3\xEF\xB8\xBF\xEF\xBF\xA3)\xEF\xB8\xB5\xCE\xB8\xEF\xB8\xB5\xCE\xB8\xEF\xB8\xB5\xE2\x98\x86(\xEF\xBC\x9E\xE5\x8F\xA3\xEF\xBC\x9C\xEF\xBC\x8D)",
960 b"(\xEF\xBF\xA3\xCE\xB5(#\xEF\xBF\xA3)\xE2\x98\x86\xE2\x95\xB0\xE2\x95\xAEo(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3///)",
961 b"\xE3\x83\xBD(>_<\xE3\x83\xBD) \xE2\x80\x95\xE2\x8A\x82|=0\xE3\x83\x98(^\xE2\x80\xBF^ )",
962 b"\xE3\x83\x98(>_<\xE3\x83\x98) \xEF\xBF\xA2o(\xEF\xBF\xA3\xE2\x80\xBF\xEF\xBF\xA3\xEF\xBE\x92)",
963 b",,((( \xEF\xBF\xA3\xE2\x96\xA1)_\xEF\xBC\x8F \xEF\xBC\xBC_(\xE2\x97\x8B\xEF\xBF\xA3 ))),,",
964 b"(\xD2\x82` \xEF\xBE\x9B \xC2\xB4)\xEF\xB8\xBB\xE3\x83\x87\xE2\x95\x90\xE4\xB8\x80 \xEF\xBC\xBC(\xC2\xBA \xE2\x96\xA1 \xC2\xBA l|l)/",
965 b"(\xE2\x95\xAF\xC2\xB0\xD0\x94\xC2\xB0)\xE2\x95\xAF\xEF\xB8\xB5 /(.\xE2\x96\xA1 . \xEF\xBC\xBC)",
966 b"(\xC2\xAC_\xC2\xAC'')\xD4\x85(\xEF\xBF\xA3\xCE\xB5\xEF\xBF\xA3\xD4\x85)",
967 b"/( .\xE2\x96\xA1.)\xEF\xBC\xBC \xEF\xB8\xB5\xE2\x95\xB0(\xC2\xB0\xE7\x9B\x8A\xC2\xB0)\xE2\x95\xAF\xEF\xB8\xB5 /(.\xE2\x96\xA1. /)",
968 b"(\xEF\xBE\x89-.-)\xEF\xBE\x89\xE2\x80\xA6.((((((((((((\xE2\x97\x8F~* ( >_<)",
969 b"!!(\xEF\xBE\x92\xEF\xBF\xA3 \xEF\xBF\xA3)_\xCE\xB8\xE2\x98\x86\xC2\xB00\xC2\xB0)/",
970 b"(`\xE2\x8C\x92*)O-(`\xE2\x8C\x92\xC2\xB4Q)",
971 b"(((\xE0\xB8\x87\xE2\x80\x99\xCF\x89\xE2\x80\x99)\xD9\x88\xE4\xB8\x89 \xE0\xB8\x87\xE2\x80\x99\xCF\x89\xE2\x80\x99)\xDA\xA1\xE2\x89\xA1\xE3\x80\x80\xE2\x98\x86\xE2\x8C\x92\xEF\xBE\x90((x_x)",
972 b"(\xE0\xB8\x87\xE0\xB2\xA0_\xE0\xB2\xA0)\xE0\xB8\x87\xE3\x80\x80\xCF\x83( \xE2\x80\xA2\xCC\x80 \xCF\x89 \xE2\x80\xA2\xCC\x81 \xCF\x83)",
973 b"(\xE3\x81\xA3\xE2\x80\xA2\xEF\xB9\x8F\xE2\x80\xA2)\xE3\x81\xA3 \xE2\x9C\xB4==\xE2\x89\xA1\xEB\x88\x88\xD9\xA9(`\xE7\x9A\xBF\xC2\xB4\xD2\x82)\xE0\xB8\x87",
974 b"(\xEF\xBD\xA2\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2)\xEF\xBD\xA2 (\xE2\x8C\x92\xCF\x89\xE2\x8C\x92`)",
975 b"( \xC2\xB0\xE1\xB4\x97\xC2\xB0)~\xC3\xB0 (/\xE2\x9D\x9Bo\xE2\x9D\x9B\\)",
976 ];
977
978 pub const WEAPONS: [&[u8]; 18] = [
980 b"( \xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB)\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB--------\xE2\x98\x86",
981 b"(/-_\xE3\x83\xBB)/D\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB\xE3\x83\xBB------ \xE2\x86\x92",
982 b"(^\xCF\x89^)\xE3\x83\x8E\xEF\xBE\x9E(((((((((\xE2\x97\x8F\xEF\xBD\x9E*",
983 b"( -\xCF\x89-)\xEF\xBC\x8F\xE5\x8D\xA0~~~~~",
984 b"(/\xE3\x83\xBB\xE3\x83\xBB)\xE3\x83\x8E\xE3\x80\x80\xE3\x80\x80 (( \xE3\x81\x8F ((\xE3\x81\xB8",
985 b"\xE2\x80\x95\xE2\x8A\x82|=0\xE3\x83\x98(^^ )",
986 b"\xE2\x97\x8B\xE2\x88\x9E\xE2\x88\x9E\xE2\x88\x9E\xE2\x88\x9E\xE3\x83\xBD(^\xE3\x83\xBC^ )",
987 b"(; \xE3\x83\xBB_\xE3\x83\xBB)\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95\xE2\x80\x95C",
988 b"(\xE0\xB2\xA0 o \xE0\xB2\xA0)\xC2\xA4=[]:::::>",
989 b"(*\xEF\xBC\xBE\xEF\xBC\xBE)/~~~~~~~~~~\xE2\x97\x8E",
990 b"\xEF\xBF\xA2o(\xEF\xBF\xA3-\xEF\xBF\xA3\xEF\xBE\x92)",
991 b"\xE2\x80\x95(T_T)\xE2\x86\x92",
992 b"((( \xEF\xBF\xA3\xE2\x96\xA1)_\xEF\xBC\x8F",
993 b"(\xEF\xBE\x92` \xEF\xBE\x9B \xC2\xB4)\xEF\xB8\xBB\xE3\x83\x87\xE2\x95\x90\xE4\xB8\x80",
994 b"( \xC2\xB4-\xCF\x89\xEF\xBD\xA5)\xEF\xB8\xBB\xE2\x94\xBB\xE2\x94\xB3\xE2\x95\x90\xE2\x95\x90\xE2\x94\x81\xE4\xB8\x80",
995 b"(\xEF\xBE\x92\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xB8\xBB\xE2\x94\xB3\xE2\x95\x90\xE4\xB8\x80",
996 b"\xE2\x9C\xB4==\xE2\x89\xA1\xEB\x88\x88\xD9\xA9(`\xE7\x9A\xBF\xC2\xB4\xD2\x82)\xE0\xB8\x87",
997 b"Q(`\xE2\x8C\x92\xC2\xB4Q)",
998 ];
999
1000 pub const MAGIC: [&[u8]; 10] = [
1002 b"(\xE3\x83\x8E \xCB\x98_\xCB\x98)\xE3\x83\x8E\xE3\x80\x80\xCE\xB6|||\xCE\xB6\xE3\x80\x80\xCE\xB6|||\xCE\xB6\xE3\x80\x80\xCE\xB6|||\xCE\xB6",
1003 b"(\xEF\xBE\x89\xE2\x89\xA7\xE2\x88\x80\xE2\x89\xA6)\xEF\xBE\x89 \xE2\x80\xA5\xE2\x80\xA6\xE2\x94\x81\xE2\x94\x81\xE2\x94\x81\xE2\x98\x85",
1004 b"(\xEF\xBE\x89>\xCF\x89<)\xEF\xBE\x89 :\xEF\xBD\xA1\xEF\xBD\xA5:*:\xEF\xBD\xA5\xEF\xBE\x9F\xE2\x80\x99\xE2\x98\x85,\xEF\xBD\xA1\xEF\xBD\xA5:*:\xEF\xBD\xA5\xEF\xBE\x9F\xE2\x80\x99\xE2\x98\x86",
1005 b"(\xE3\x83\x8E\xC2\xB0\xE2\x88\x80\xC2\xB0)\xE3\x83\x8E\xE2\x8C\x92\xEF\xBD\xA5*:.\xEF\xBD\xA1. .\xEF\xBD\xA1.:*\xEF\xBD\xA5\xE3\x82\x9C\xEF\xBE\x9F\xEF\xBD\xA5*\xE2\x98\x86",
1006 b"\xE2\x95\xB0( \xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96 \xCD\xA1\xC2\xB0 )\xE3\x81\xA4\xE2\x94\x80\xE2\x94\x80\xE2\x98\x86*:\xE3\x83\xBB\xEF\xBE\x9F",
1007 b"(\xEF\xBC\x83\xEF\xBF\xA3\xE2\x96\xA1\xEF\xBF\xA3)o\xE2\x94\x81\xE2\x88\x88\xE3\x83\xBB\xE3\x83\xBB\xE2\x94\x81\xE2\x94\x81\xE2\x94\x81\xE2\x94\x81\xE2\x98\x86",
1008 b"(\xE2\x8A\x83\xEF\xBD\xA1\xE2\x80\xA2\xCC\x81\xE2\x80\xBF\xE2\x80\xA2\xCC\x80\xEF\xBD\xA1)\xE2\x8A\x83\xE2\x94\x81\xE2\x9C\xBF\xE2\x9C\xBF\xE2\x9C\xBF\xE2\x9C\xBF\xE2\x9C\xBF\xE2\x9C\xBF",
1009 b"(\xE2\x88\xA9\xE1\x84\x91_\xE1\x84\x91)\xE2\x8A\x83\xE2\x94\x81\xE2\x98\x86\xEF\xBE\x9F*\xEF\xBD\xA5\xEF\xBD\xA1*\xEF\xBD\xA5:\xE2\x89\xA1( \xCE\xB5:)",
1010 b"(/\xEF\xBF\xA3\xE3\x83\xBC\xEF\xBF\xA3)/~~\xE2\x98\x86\xE2\x80\x99.\xEF\xBD\xA5.\xEF\xBD\xA5:\xE2\x98\x85\xE2\x80\x99.\xEF\xBD\xA5.\xEF\xBD\xA5:\xE2\x98\x86",
1011 b"(\xE2\x88\xA9` \xEF\xBE\x9B \xC2\xB4)\xE2\x8A\x83\xE2\x94\x81\xE7\x82\x8E\xE7\x82\x8E\xE7\x82\x8E\xE7\x82\x8E\xE7\x82\x8E",
1012 ];
1013
1014 pub const FOOD: [&[u8]; 18] = [
1016 b"(\xE3\x81\xA3\xCB\x98\xDA\xA1\xCB\x98\xCF\x82)",
1017 b"( o\xCB\x98\xE2\x97\xA1\xCB\x98o) \xE2\x94\x8Ciii\xE2\x94\x90",
1018 b"(\xE3\x80\x80\xE2\x80\x99\xCF\x89\xE2\x80\x99)\xE6\x97\xA6~~",
1019 b"( \xCB\x98\xE2\x96\xBD\xCB\x98)\xE3\x81\xA3\xE2\x99\xA8",
1020 b"\xE2\x99\xA8o(>_<)o\xE2\x99\xA8",
1021 b"( \xE3\x83\xBB\xCF\x89\xE3\x83\xBB)o-{{[\xE3\x80\x83]}}",
1022 b"(\xE3\x80\x80\xE3\x83\xBB\xCF\x89\xE3\x83\xBB)\xE2\x8A\x83-[\xE4\xBA\x8C\xE4\xBA\x8C]",
1023 b"( \xE3\x83\xBB\xE3\x83\xBB)\xE3\x81\xA4\xE2\x80\x95{}@{}@{}-",
1024 b"( \xE3\x83\xBB\xE3\x83\xBB)\xE3\x81\xA4-\xE2\x97\x8F\xE2\x97\x8F\xE2\x97\x8F",
1025 b"(*\xC2\xB4\xE3\x83\xBC`)\xE6\x97\xA6 \xE6\x97\xA6(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3*)",
1026 b"(*\xC2\xB4\xD0\xB7`)\xE5\x8F\xA3\xEF\xBE\x9F\xEF\xBD\xA1\xEF\xBE\x9F\xE5\x8F\xA3(\xE3\x83\xBB\xE2\x88\x80\xE3\x83\xBB )",
1027 b"( o^ ^o)\xE4\xB8\x94 \xE4\xB8\x94(\xC2\xB4\xCF\x89`*)",
1028 b"( \xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)[] [](\xE2\x89\xA7\xE2\x96\xBD\xE2\x89\xA6 )",
1029 b"( *^^)o\xE2\x88\x80*\xE2\x88\x80o(^^* )",
1030 b"( ^^)_\xE6\x97\xA6~~\xE3\x80\x80 ~~U_(^^ )",
1031 b"(*\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xE6\x97\xA6 \xE4\xB8\x94(\xC2\xB4\xE2\x88\x80`*)",
1032 b"-\xE2\x97\x8F\xE2\x97\x8F\xE2\x97\x8F-\xEF\xBD\x83(\xE3\x83\xBB\xE3\x83\xBB )",
1033 b"( \xE3\x83\xBB\xE3\x83\xBB)\xE3\x81\xA4\xE2\x80\x95\xE2\x97\x8F\xE2\x97\x8B\xE2\x97\x8E-",
1034 ];
1035
1036 pub const MUSIC: [&[u8]; 32] = [
1038 b"\xE3\x83\xBE(\xC2\xB4\xE3\x80\x87`)\xEF\xBE\x89\xE2\x99\xAA\xE2\x99\xAA\xE2\x99\xAA",
1039 b"\xE3\x83\x98(\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3\xE3\x83\x98)",
1040 b"(\xE3\x80\x9C\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xE3\x80\x9C",
1041 b"\xE3\x80\x9C(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3\xE3\x80\x9C)",
1042 b"\xE3\x83\xBD(o\xC2\xB4\xE2\x88\x80`)\xEF\xBE\x89\xE2\x99\xAA\xE2\x99\xAC",
1043 b"(\xEF\xBE\x89\xE2\x89\xA7\xE2\x88\x80\xE2\x89\xA6)\xEF\xBE\x89",
1044 b"\xE2\x99\xAA\xE3\x83\xBD(^^\xE3\x83\xBD)\xE2\x99\xAA",
1045 b"\xE2\x99\xAA(/_ _ )/\xE2\x99\xAA",
1046 b"\xE2\x99\xAA\xE2\x99\xAC((d\xE2\x8C\x92\xCF\x89\xE2\x8C\x92b))\xE2\x99\xAC\xE2\x99\xAA",
1047 b"\xE2\x94\x94(\xEF\xBF\xA3-\xEF\xBF\xA3\xE2\x94\x94))",
1048 b"((\xE2\x94\x98\xEF\xBF\xA3\xCF\x89\xEF\xBF\xA3)\xE2\x94\x98",
1049 b"\xE2\x88\x9A(\xEF\xBF\xA3\xE2\x80\xA5\xEF\xBF\xA3\xE2\x88\x9A)",
1050 b"\xE2\x94\x94(\xEF\xBC\xBE\xEF\xBC\xBE)\xE2\x94\x90",
1051 b"\xE2\x94\x8C(\xEF\xBC\xBE\xEF\xBC\xBE)\xE2\x94\x98",
1052 b"\xEF\xBC\xBC(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xBC\xBC",
1053 b"\xEF\xBC\x8F(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)\xEF\xBC\x8F",
1054 b"(\xEF\xBF\xA3\xE2\x96\xBD\xEF\xBF\xA3)/\xE2\x99\xAB\xE2\x80\xA2*\xC2\xA8*\xE2\x80\xA2.\xC2\xB8\xC2\xB8\xE2\x99\xAA",
1055 b"(^_^\xE2\x99\xAA)",
1056 b"(~\xCB\x98\xE2\x96\xBD\xCB\x98)~",
1057 b"~(\xCB\x98\xE2\x96\xBD\xCB\x98~)",
1058 b"\xE3\x83\xBE(\xE2\x8C\x90\xE2\x96\xA0_\xE2\x96\xA0)\xE3\x83\x8E\xE2\x99\xAA",
1059 b"(\xE3\x80\x9C\xEF\xBF\xA3\xE2\x96\xB3\xEF\xBF\xA3)\xE3\x80\x9C",
1060 b"(~\xE2\x80\xBE\xE2\x96\xBD\xE2\x80\xBE)~",
1061 b"~(\xCB\x98\xE2\x96\xBD\xCB\x98)~",
1062 b"\xE4\xB9\x81( \xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2\xE4\xB9\x81)",
1063 b"(\xEF\xBD\xA2\xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2)\xEF\xBD\xA2",
1064 b"\xE2\x81\xBD\xE2\x81\xBD\xE2\x97\x9D( \xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2 )\xE2\x97\x9C\xE2\x81\xBE\xE2\x81\xBE",
1065 b"\xE2\x9C\xBA\xE2\x97\x9F( \xE2\x80\xA2 \xCF\x89 \xE2\x80\xA2 )\xE2\x97\x9E\xE2\x9C\xBA",
1066 b"\xE2\x99\xAC\xE2\x99\xAB\xE2\x99\xAA\xE2\x97\x96(\xE2\x97\x8F o \xE2\x97\x8F)\xE2\x97\x97\xE2\x99\xAA\xE2\x99\xAB\xE2\x99\xAC",
1067 b"( \xCB\x98 \xC9\x9C\xCB\x98) \xE2\x99\xAC\xE2\x99\xAA\xE2\x99\xAB",
1068 b"\xE2\x99\xAA\xE2\x99\xAA\xE2\x99\xAA \xE3\x83\xBD(\xCB\x87\xE2\x88\x80\xCB\x87 )\xE3\x82\x9E",
1069 b"(\xCB\x87\xE2\x96\xBD\xCB\x87)\xE3\x83\x8E\xE2\x99\xAA\xE2\x99\xAC\xE2\x99\xAB",
1070 ];
1071 pub const GAMES: [&[u8]; 10] = [
1073 b"( ^^)p_____|_o____q(^^ )",
1074 b"(\xEF\xBC\x8Fo^)/ \xC2\xB0\xE2\x8A\xA5 \xEF\xBC\xBC(^o\xEF\xBC\xBC)",
1075 b"!(;\xEF\xBE\x9Fo\xEF\xBE\x9F)o/\xEF\xBF\xA3\xEF\xBF\xA3\xEF\xBF\xA3\xEF\xBF\xA3\xEF\xBF\xA3\xEF\xBF\xA3\xEF\xBF\xA3~ >\xEF\xBE\x9F))))\xE5\xBD\xA1",
1076 b"\xE3\x83\xBD(^o^)\xCF\x81\xE2\x94\xB3\xE2\x94\xBB\xE2\x94\xB3\xC2\xB0\xCF\x83(^o^)\xE3\x83\x8E",
1077 b"(\xEF\xBC\x8F_^)\xEF\xBC\x8F\xE3\x80\x80\xE3\x80\x80\xE2\x97\x8F\xE3\x80\x80\xEF\xBC\xBC(^_\xEF\xBC\xBC)",
1078 b"\"( (\xE2\x89\xA1|\xE2\x89\xA1))_\xEF\xBC\x8F \xEF\xBC\xBC_((\xE2\x89\xA1|\xE2\x89\xA1) )\"",
1079 b"( \xE3\x83\x8E-_-)\xE3\x83\x8E\xEF\xBE\x9E_\xE2\x96\xA1 VS \xE2\x96\xA1_\xE3\x83\xBE(^-^\xE3\x83\xBD)",
1080 b"\xE3\x83\xBD(\xEF\xBC\x9B^ ^)\xE3\x83\x8E\xEF\xBE\x9E \xEF\xBC\x8E\xEF\xBC\x8E\xEF\xBC\x8E...___\xE3\x80\x87",
1081 b"(=O*_*)=O Q(*_*Q)",
1082 b"\xD0\xAE\xE3\x80\x80\xE2\x97\x8B\xE4\xB8\x89\xE3\x80\x80\xEF\xBC\xBC(\xEF\xBF\xA3^\xEF\xBF\xA3\xEF\xBC\xBC)",
1083 ];
1084
1085 pub const FACES: [&[u8]; 18] = [
1087 b"( \xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96 \xCD\xA1\xC2\xB0)",
1088 b"( \xCD\xA1\xC2\xB0 \xCA\x96\xCC\xAF \xCD\xA1\xC2\xB0)",
1089 b"( \xCD\xA0\xC2\xB0 \xCD\x9F\xCA\x96 \xCD\xA1\xC2\xB0)",
1090 b"( \xCD\xA1\xE1\xB5\x94 \xCD\x9C\xCA\x96 \xCD\xA1\xE1\xB5\x94)",
1091 b"( . \xE2\x80\xA2\xCC\x81 _\xCA\x96 \xE2\x80\xA2\xCC\x80 .)",
1092 b"( \xE0\xB0\xA0 \xCD\x9F\xCA\x96 \xE0\xB0\xA0)",
1093 b"( \xCD\xA1\xE0\xB2\xA0 \xCA\x96\xCC\xAF \xCD\xA1\xE0\xB2\xA0)",
1094 b"( \xE0\xB2\xA0 \xCA\x96\xCC\xAF \xE0\xB2\xA0)",
1095 b"( \xE0\xB2\xA0 \xCD\x9C\xCA\x96 \xE0\xB2\xA0)",
1096 b"( \xE0\xB2\xA5 \xCA\x96\xCC\xAF \xE0\xB2\xA5)",
1097 b"( \xCD\xA1\xE2\x80\xA2 \xCD\x9C\xCA\x96 \xCD\xA1\xE2\x80\xA2 )",
1098 b"( \xEF\xBD\xA5\xE0\xB8\xB4 \xCD\x9C\xCA\x96 \xEF\xBD\xA5\xE0\xB8\xB4)",
1099 b"( \xCD\xA1 \xCD\x9C\xCA\x96 \xCD\xA1 )",
1100 b"(\xE2\x89\x96 \xCD\x9C\xCA\x96\xE2\x89\x96)",
1101 b"(\xCA\x98 \xCA\x96\xCC\xAF \xCA\x98)",
1102 b"(\xCA\x98 \xCD\x9F\xCA\x96 \xCA\x98)",
1103 b"(\xCA\x98 \xCD\x9C\xCA\x96 \xCA\x98)",
1104 b"(;\xC2\xB4\xE0\xBC\x8E\xE0\xBA\xB6\xD9\xB9\xE0\xBC\x8E\xE0\xBA\xB6`)",
1105 ];
1106
1107 #[cfg(test)]
1108 mod tests {
1109 #[test]
1110 fn friends() {
1111 test!(super::FRIENDS)
1112 }
1113
1114 #[test]
1115 fn enemies() {
1116 test!(super::ENEMIES)
1117 }
1118
1119 #[test]
1120 fn weapons() {
1121 test!(super::WEAPONS)
1122 }
1123
1124 #[test]
1125 fn magic() {
1126 test!(super::MAGIC)
1127 }
1128
1129 #[test]
1130 fn food() {
1131 test!(super::FOOD)
1132 }
1133
1134 #[test]
1135 fn music() {
1136 test!(super::MUSIC)
1137 }
1138
1139 #[test]
1140 fn games() {
1141 test!(super::GAMES)
1142 }
1143
1144 #[test]
1145 fn faces() {
1146 test!(super::FACES)
1147 }
1148 }
1149}
1150
1151pub mod special {
1153 pub const WAKING_UP: &[u8] = b"\xD9\xA9(\xCB\x8A\xE3\x80\x87\xCB\x8B*)\xD9\x88";
1154 pub const MILITARY_SALUTATION: &[u8] = b"(\xEF\xBF\xA3^\xEF\xBF\xA3)\xE3\x82\x9E";
1155 pub const FACE_PALM: &[u8] = b"(\xEF\xBC\x8D\xE2\x80\xB8\xE1\x83\x9A)";
1156 pub const THROWING_TABLE_IN_ANGER: &[u8] = b"(\xE2\x95\xAF\xC2\xB0\xE7\x9B\x8A\xC2\xB0)\xE2\x95\xAF\xE5\xBD\xA1\xE2\x94\xBB\xE2\x94\x81\xE2\x94\xBB";
1157 pub const TAKING_TABLE_AND_GOING_MAD: &[u8] = b"(\xE2\x95\xAE\xC2\xB0-\xC2\xB0)\xE2\x95\xAE\xE2\x94\xB3\xE2\x94\x81\xE2\x94\x81\xE2\x94\xB3 ( \xE2\x95\xAF\xC2\xB0\xE2\x96\xA1\xC2\xB0)\xE2\x95\xAF \xE2\x94\xBB\xE2\x94\x81\xE2\x94\x81\xE2\x94\xBB";
1158 pub const PUTTING_TABLE_BACK: &[u8] =
1159 b"\xE2\x94\xAC\xE2\x94\x80\xE2\x94\xAC\xE3\x83\x8E( \xC2\xBA _ \xC2\xBA\xE3\x83\x8E)";
1160 pub const SURRENDER: &[u8] = b"(oT-T)\xE5\xB0\xB8";
1161 pub const MEME_LENNY_FACE: &[u8] = b"( \xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96 \xCD\xA1\xC2\xB0)";
1162 pub const MONEY: &[u8] = b"[\xCC\xB2\xCC\x85$\xCC\xB2\xCC\x85(\xCC\xB2\xCC\x85 \xCD\xA1\xC2\xB0 \xCD\x9C\xCA\x96 \xCD\xA1\xC2\xB0\xCC\xB2\xCC\x85)\xCC\xB2\xCC\x85$\xCC\xB2\xCC\x85]";
1163 pub const MEME_LOOK_OF_DISSAPROVAL: &[u8] = b"(\xE0\xB2\xA0_\xE0\xB2\xA0)";
1164 pub const SMOKING: &[u8] = b"\xE0\xB1\xA6\xEF\xBC\x90o \xEF\xBD\xA1 (\xE2\x80\xBE\xCC\x81\xE3\x80\x82\xE2\x80\xBE\xCC\x81 )y~~";
1165 pub const HUNGRY: &[u8] = b"(\xEF\xBF\xA3\xEF\xB9\x83\xEF\xBF\xA3)";
1166 pub const ALIVE_AMONG_ZOMBIES: &[u8] = b"(x(x_(x_x(O_o)x_x)_x)x)";
1167 pub const POINTING: &[u8] = b"(\xE3\x80\x80\xEF\xBD\xA5\xCF\x89\xEF\xBD\xA5)\xE2\x98\x9E";
1168 pub const WITH_GLASSES: &[u8] = b"(\xE2\x8C\x90\xE2\x96\xA0_\xE2\x96\xA0)";
1169 pub const CUTE_FACE: &[u8] = b"(\xE2\x97\x95\xE2\x80\xBF\xE2\x97\x95\xE2\x9C\xBF)";
1170 pub const WATCHING_TV: &[u8] = b"(\xE3\x80\x80\xEF\xBF\xA3.)o-\xE3\x80\x80\xE3\x80\x80\xE3\x80\x90\xE3\x80\x80TV\xE3\x80\x80\xE3\x80\x91";
1171 pub const CATCHING_UMBRELLA_IN_THE_RAIN: &[u8] = b"\xEF\xBD\x80\xE3\x80\x81\xE3\x83\xBD\xEF\xBD\x80\xE3\x83\xBD\xEF\xBD\x80\xE3\x80\x81\xE3\x83\xBD(\xE3\x83\x8E\xEF\xBC\x9E\xEF\xBC\x9C)\xE3\x83\x8E \xEF\xBD\x80\xE3\x80\x81\xE3\x83\xBD\xEF\xBD\x80\xE2\x98\x82\xE3\x83\xBD\xEF\xBD\x80\xE3\x80\x81\xE3\x83\xBD";
1172 pub const DROWNING: &[u8] = b"\xE2\x80\xBF\xEF\xB8\xB5\xE2\x80\xBF\xEF\xB8\xB5\xE2\x80\xBF\xEF\xB8\xB5\xE2\x80\xBF\xE3\x83\xBD(\xC2\xB0\xE2\x96\xA1\xC2\xB0 )\xE3\x83\x8E\xEF\xB8\xB5\xE2\x80\xBF\xEF\xB8\xB5\xE2\x80\xBF\xEF\xB8\xB5\xE2\x80\xBF\xEF\xB8\xB5";
1173 pub const EMM_TRY_TO_FIGURE_OUT_WHAT_HES_DOING: &[u8] =
1174 b"( \xE2\x80\xA2 )( \xE2\x80\xA2 )\xD4\x85(\xE2\x89\x96\xE2\x80\xBF\xE2\x89\x96\xD4\x85)";
1175 pub const PUNISHMENT_FOR_CHEATING: &[u8] = b"( \xEF\xBC\xBE\xE2\x96\xBD\xEF\xBC\xBE)\xE3\x81\xA3\xE2\x9C\x82\xE2\x95\xB0\xE2\x8B\x83\xE2\x95\xAF";
1176 pub const CHASING_A_BUTTERYFLY: &[u8] = b"\xE3\x80\x9C\xE3\x80\x9C(\xEF\xBC\x8F\xEF\xBF\xA3\xE2\x96\xBD)\xEF\xBC\x8F\xE3\x80\x80\xE3\x80\x9C\xD1\x84";
1177 pub const ANGEL: &[u8] = b"\xE0\xAC\x98(\xE0\xA9\xAD\xCB\x8A\xE1\xB5\x95\xCB\x8B)\xE0\xA9\xAD* \xE0\xA9\x88\xE2\x9C\xA9\xE2\x80\xA7\xE2\x82\x8A\xCB\x9A";
1178 pub const ONE_MORE_ANGEL: &[u8] = b"\xE0\xAC\x98(\xE0\xA9\xAD\xCB\x8A\xEA\x92\xB3\xE2\x80\x8B\xCB\x8B)\xE0\xA9\xAD\xE2\x9C\xA7";
1179 pub const POPULAR_LYING_EMOTICON: &[u8] = b"_(:3 \xE3\x80\x8D\xE2\x88\xA0)_";
1180 pub const ANOTHER_LYING_EMOTICON: &[u8] =
1181 b"\xE2\x88\xA0( \xE1\x90\x9B \xE3\x80\x8D\xE2\x88\xA0)_";
1182
1183 #[cfg(test)]
1184 mod tests {
1185 #[test]
1186 fn special() {
1187 test_string!(0, super::WAKING_UP);
1188 test_string!(0, super::MILITARY_SALUTATION);
1189 test_string!(0, super::FACE_PALM);
1190 test_string!(0, super::THROWING_TABLE_IN_ANGER);
1191 test_string!(0, super::TAKING_TABLE_AND_GOING_MAD);
1192 test_string!(0, super::PUTTING_TABLE_BACK);
1193 test_string!(0, super::SURRENDER);
1194 test_string!(0, super::MEME_LENNY_FACE);
1195 test_string!(0, super::MONEY);
1196 test_string!(0, super::MEME_LOOK_OF_DISSAPROVAL);
1197 test_string!(0, super::SMOKING);
1198 test_string!(0, super::HUNGRY);
1199 test_string!(0, super::ALIVE_AMONG_ZOMBIES);
1200 test_string!(0, super::POINTING);
1201 test_string!(0, super::WITH_GLASSES);
1202 test_string!(0, super::CUTE_FACE);
1203 test_string!(0, super::WATCHING_TV);
1204 test_string!(0, super::CATCHING_UMBRELLA_IN_THE_RAIN);
1205 test_string!(0, super::DROWNING);
1206 test_string!(0, super::EMM_TRY_TO_FIGURE_OUT_WHAT_HES_DOING);
1207 test_string!(0, super::PUNISHMENT_FOR_CHEATING);
1208 test_string!(0, super::CHASING_A_BUTTERYFLY);
1209 test_string!(0, super::ANGEL);
1210 test_string!(0, super::ONE_MORE_ANGEL);
1211 test_string!(0, super::POPULAR_LYING_EMOTICON);
1212 test_string!(0, super::ANOTHER_LYING_EMOTICON);
1213 }
1214 }
1215}
1216
1217pub const ASCII: [&[u8]; 31] = [
1218 positive_emotions::EMBARRESMENT[1],
1219 positive_emotions::EMBARRESMENT[6],
1220 positive_emotions::EMBARRESMENT[14],
1221 negative_emotions::DISSATISFACTION[18],
1222 negative_emotions::DISSATISFACTION[22],
1223 negative_emotions::SADNESS[1],
1224 negative_emotions::SADNESS[28],
1225 negative_emotions::SADNESS[29],
1226 negative_emotions::PAIN[0],
1227 negative_emotions::PAIN[5],
1228 negative_emotions::FEAR[5],
1229 negative_emotions::FEAR[14],
1230 neutral_emotions::SUPRISE[5],
1231 neutral_emotions::SUPRISE[6],
1232 neutral_emotions::SUPRISE[7],
1233 neutral_emotions::SUPRISE[9],
1234 various_actions::GREETING[4],
1235 various_actions::GREETING[23],
1236 various_actions::HUGGING[12],
1237 various_actions::WINKING[0],
1238 various_actions::WINKING[2],
1239 various_actions::WINKING[6],
1240 various_actions::WINKING[12],
1241 various_actions::WINKING[16],
1242 various_actions::APOLOGIZING[0],
1243 various_actions::APOLOGIZING[2],
1244 various_actions::APOLOGIZING[3],
1245 various_actions::APOLOGIZING[6],
1246 various_actions::APOLOGIZING[7],
1247 various_actions::SLEEPING[5],
1248 various_actions::SLEEPING[9],
1249];