termin-ansicolor 1.3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,34 @@
1
+ # vim: set filetype=ruby et sw=2 ts=2:
2
+
3
+ require 'gem_hadar'
4
+
5
+ GemHadar do
6
+ name 'term-ansicolor'
7
+ path_name 'termin/ansicolor'
8
+ path_module 'Termin::ANSIColor'
9
+ author 'Florian Frank'
10
+ email 'flori@ping.de'
11
+ homepage "http://flori.github.com/#{name}"
12
+ summary 'Ruby library that colors strings using ANSI escape sequences'
13
+ description 'This library uses ANSI escape sequences to control the attributes of terminal output'
14
+ licenses << 'GPL-2'
15
+ test_dir 'tests'
16
+ ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.rvmrc', 'coverage', 'tags', '.bundle'
17
+ readme 'README.rdoc'
18
+ executables << 'cdiff' << 'decolor' << 'colortab' << 'term_mandel' << 'term_display'
19
+
20
+ dependency 'tins', '~>1.0'
21
+ development_dependency 'simplecov'
22
+
23
+ install_library do
24
+ destdir = "#{ENV['DESTDIR']}"
25
+ libdir = CONFIG["sitelibdir"]
26
+ cd 'lib' do
27
+ for file in Dir['**/*.rb']
28
+ dest = destdir + File.join(libdir, File.dirname(file))
29
+ mkdir_p dest
30
+ install file, dest
31
+ end
32
+ end
33
+ end
34
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.3.0.1
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ ## Little unix filter that colorizes diff output.
4
+ #
5
+
6
+ require 'termin/ansicolor'
7
+
8
+ include Termin::ANSIColor
9
+
10
+ ARGF.each do |line|
11
+ STDOUT.print(
12
+ case line
13
+ when /^\+/ then green { line }
14
+ when /^-/ then red { line }
15
+ when /^(@@|diff)/ then blue { line }
16
+ else line
17
+ end
18
+ )
19
+ end
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'termin/ansicolor'
4
+
5
+ class String
6
+ include Termin::ANSIColor
7
+ end
8
+
9
+ def print_color(c)
10
+ color = Termin::ANSIColor::Attribute[c]
11
+ text = [
12
+ Termin::ANSIColor::Attribute.nearest_rgb_color('#000'),
13
+ Termin::ANSIColor::Attribute.nearest_rgb_color('#fff'),
14
+ ].max_by { |t| t.distance_to(color) }
15
+ print ("%3u #{color.rgb.html} " % c).on_color(color.name).color(text.name)
16
+ end
17
+
18
+ for c in 0..3
19
+ print_color c
20
+ end
21
+ puts
22
+
23
+ for c in 4..7
24
+ print_color c
25
+ end
26
+ puts
27
+
28
+ for c in 8..11
29
+ print_color c
30
+ end
31
+ puts
32
+
33
+ for c in 12..15
34
+ print_color c
35
+ end
36
+ puts
37
+
38
+ for c in 16..231
39
+ (c - 16) % 6 == 0 and puts
40
+ print_color c
41
+ end
42
+ puts
43
+
44
+ for c in 232..255
45
+ (c - 16) % 6 == 0 and puts
46
+ print_color c
47
+ end
48
+ puts
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ ## Little unix filter that uncolorizes any input stream.
4
+ #
5
+
6
+ require 'termin/ansicolor'
7
+
8
+ include Termin::ANSIColor
9
+
10
+ ARGF.each do |line|
11
+ puts line.uncolored
12
+ end
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'tempfile'
4
+ require 'termin/ansicolor'
5
+ require 'open-uri'
6
+ require 'tins/xt'
7
+ include Tins::GO
8
+
9
+ def provide_ppm_file(filename, opts)
10
+ pnmtopnm = `which pnmtopnm`
11
+ if pnmtopnm.empty?
12
+ STDERR.puts "You might consider installing netpbm to enable image conversion/scaling!"
13
+ File.new(filename, 'rb')
14
+ else
15
+ cmd = [ pnmtopnm.chomp! ]
16
+ ext = File.extname(filename)
17
+ scale = `which pamscale`.chomp!
18
+ console_scale = "#{scale} -#{opts['s']} #{opts['C']} #{opts['R']}"
19
+ cmd.unshift console_scale
20
+ aspect_scaling = "#{scale} -xscale #{opts['a']}"
21
+ cmd.unshift aspect_scaling
22
+ convert_to_pnm =
23
+ case ext
24
+ when /\A(\.ppm\d*|\.pnm|\z)/
25
+ ''
26
+ when /\A.(jpe?g|exif|jfif)\z/i
27
+ 'jpegtopnm'
28
+ when /\A.tiff?\z/i
29
+ 'tifftopnm'
30
+ else
31
+ "#{ext[1..-1].downcase}topnm"
32
+ end
33
+ unless convert_to_pnm.empty?
34
+ convert_to_pnm = `which #{convert_to_pnm}`.chomp!
35
+ convert_to_pnm.empty? and fail "unknown pnm converter #{convert_to_pnm}"
36
+ cmd.unshift convert_to_pnm
37
+ end
38
+ temp = Tempfile.open(File.basename($0))
39
+ cmd *= '|'
40
+ STDERR.puts "Executing #{cmd.inspect}"
41
+ IO.popen(cmd, 'r+') do |converter|
42
+ open(filename, 'rb') do |input|
43
+ until input.eof?
44
+ converter.write input.read(8192)
45
+ end
46
+ converter.close_write
47
+ end
48
+ until converter.eof?
49
+ temp.write(converter.read)
50
+ end
51
+ end
52
+ temp.tap(&:rewind)
53
+ end
54
+ end
55
+
56
+ def usage(rc = 0)
57
+ puts to <<-end
58
+ Usage: #$0 [OPTIONS] FILENAME"
59
+
60
+ Options are
61
+
62
+ -m METRIC for distance (METRIC = #{Termin::ANSIColor::RGBColorMetrics.metrics * '|'})
63
+ -g yes|no use/don't use gray values, defaults to yes
64
+ -s xyfit|xyfill scaling strategy, defaults to xyfit
65
+ -a ASPECT x:y aspect, defaults to 2.2
66
+ -C COLS number of columns for rendering with aspect, defaults to max
67
+ -R ROWS number of rows for rendering with aspect, defaults to max - 1
68
+ -h this help
69
+
70
+ end
71
+ exit rc
72
+ end
73
+
74
+ opts = go 'hm:g:s:a:C:R:'
75
+ opts['h'] and usage
76
+ filename = ARGV.shift or usage 1
77
+ metric = Termin::ANSIColor::RGBColorMetrics.metric(opts['m'] || 'CIELab')
78
+ gray = (opts['g'] || 'yes') == 'yes'
79
+ opts['s'] ||= 'xyfit'
80
+ opts['a'] ||= '2.2'
81
+ opts['C'] ||= Tins::Termininal.cols
82
+ opts['R'] ||= [ Tins::Termininal.rows - 1, 0 ].max
83
+
84
+ file = provide_ppm_file(filename, opts)
85
+ ppm = Termin::ANSIColor::PPMReader.new(
86
+ file,
87
+ :metric => metric,
88
+ :gray => gray
89
+ )
90
+
91
+ puts ppm
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'termin/ansicolor'
4
+ require 'tins/xt'
5
+ require "complex"
6
+ include Tins::GO
7
+
8
+ @width, @height = Tins::Terminin.cols, Tins::Terminin.lines
9
+
10
+ def color_random
11
+ (1..3).map { rand(255) }
12
+ end
13
+
14
+ def draw_set(rx, ry)
15
+ sx = (rx.end - rx.begin).abs / @width
16
+ sy = (ry.end - ry.begin).abs / @height
17
+
18
+ ac = Termin::ANSIColor
19
+ color =
20
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
21
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
22
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
23
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
24
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
25
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
26
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute[ color_random ], :steps => 16) +
27
+ ac::Attribute[ color_random ].gradient_to(ac::Attribute['#000'], :steps => 16)
28
+ iters = color.size - 2
29
+
30
+ text = ''
31
+ for j in 0...@height
32
+ for i in 0...@width
33
+ n, z_n = 0, Complex(0, 0)
34
+ c = Complex(sx * i + rx.begin, sy * j + ry.begin)
35
+ while n <= iters
36
+ break if z_n.abs > 2
37
+ z_n = z_n ** 2 + c
38
+ n += 1
39
+ end
40
+ text << ac.on_color(color[n]) << ' '
41
+ end
42
+ text << ac.reset << "\n"
43
+ end
44
+ puts text
45
+ end
46
+
47
+ opts = go 'x:y:'
48
+
49
+ rx = opts['x'].full? { |r| Range.new(*(r.split('..', 2).map(&:to_f))) } || (-2.0..1.0)
50
+ ry = opts['y'].full? { |r| Range.new(*(r.split('..', 2).map(&:to_f))) } || (-1.0..1.0)
51
+
52
+ draw_set rx, ry
Binary file
Binary file
Binary file
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ require 'termin/ansicolor'
4
+
5
+ # Use this trick to work around namespace cluttering that
6
+ # happens if you just include Termin::ANSIColor:
7
+
8
+ class Color
9
+ extend Termin::ANSIColor
10
+ end
11
+
12
+ print Color.red, Color.bold, "No Namespace cluttering:", Color.clear, "\n"
13
+ print Color.green + "green" + Color.clear, "\n"
14
+ print Color.on_red(Color.green("green")), "\n"
15
+ print Color.yellow { Color.on_black { "yellow on_black" } }, "\n\n"
16
+
17
+ # Or shortcut Termin::ANSIColor by assignment:
18
+ c = Termin::ANSIColor
19
+
20
+ print c.red, c.bold, "No Namespace cluttering (alternative):", c.clear, "\n"
21
+ print c.green + "green" + c.clear, "\n"
22
+ print c.on_red(c.green("green")), "\n"
23
+ print c.yellow { c.on_black { "yellow on_black" } }, "\n\n"
24
+
25
+ # Anyway, I don't define any of Termin::ANSIColor's methods in this example
26
+ # and I want to keep it short:
27
+ include Termin::ANSIColor
28
+
29
+ print red, bold, "Usage as constants:", reset, "\n"
30
+ print clear, "clear", reset, reset, "reset", reset,
31
+ bold, "bold", reset, dark, "dark", reset,
32
+ underscore, "underscore", reset, blink, "blink", reset,
33
+ negative, "negative", reset, concealed, "concealed", reset, "|\n",
34
+ black, "black", reset, red, "red", reset, green, "green", reset,
35
+ yellow, "yellow", reset, blue, "blue", reset, magenta, "magenta", reset,
36
+ cyan, "cyan", reset, white, "white", reset, "|\n",
37
+ on_black, "on_black", reset, on_red, "on_red", reset,
38
+ on_green, "on_green", reset, on_yellow, "on_yellow", reset,
39
+ on_blue, "on_blue", reset, on_magenta, "on_magenta", reset,
40
+ on_cyan, "on_cyan", reset, on_white, "on_white", reset, "|\n\n"
41
+
42
+ print red, bold, "Usage as unary argument methods:", reset, "\n"
43
+ print clear("clear"), reset("reset"), bold("bold"), dark("dark"),
44
+ underscore("underscore"), blink("blink"), negative("negative"),
45
+ concealed("concealed"), "|\n",
46
+ black("black"), red("red"), green("green"), yellow("yellow"),
47
+ blue("blue"), magenta("magenta"), cyan("cyan"), white("white"), "|\n",
48
+ on_black("on_black"), on_red("on_red"), on_green("on_green"),#
49
+ on_yellow("on_yellow"), on_blue("on_blue"), on_magenta("on_magenta"),
50
+ on_cyan("on_cyan"), on_white("on_white"), "|\n\n"
51
+
52
+ print red { bold { "Usage as block forms:" } }, "\n"
53
+ print clear { "clear" }, reset { "reset" }, bold { "bold" },
54
+ dark { "dark" }, underscore { "underscore" }, blink { "blink" },
55
+ negative { "negative" }, concealed { "concealed" }, "|\n",
56
+ black { "black" }, red { "red" }, green { "green" },
57
+ yellow { "yellow" }, blue { "blue" }, magenta { "magenta" },
58
+ cyan { "cyan" }, white { "white" }, "|\n",
59
+ on_black { "on_black" }, on_red { "on_red" }, on_green { "on_green" },
60
+ on_yellow { "on_yellow" }, on_blue { "on_blue" },
61
+ on_magenta { "on_magenta" }, on_cyan { "on_cyan" },
62
+ on_white { "on_white" }, "|\n\n"
63
+
64
+ # Usage as Mixin into String or its Subclasses
65
+ class String
66
+ include Termin::ANSIColor
67
+ end
68
+
69
+ print "Usage as String Mixins:".red.bold, "\n"
70
+ print "clear".clear, "reset".reset, "bold".bold, "dark".dark,
71
+ "underscore".underscore, "blink".blink, "negative".negative,
72
+ "concealed".concealed, "|\n",
73
+ "black".black, "red".red, "green".green, "yellow".yellow,
74
+ "blue".blue, "magenta".magenta, "cyan".cyan, "white".white, "|\n",
75
+ "on_black".on_black, "on_red".on_red, "on_green".on_green,
76
+ "on_yellow".on_yellow, "on_blue".on_blue, "on_magenta".on_magenta,
77
+ "on_cyan".on_cyan, "on_white".on_white, "|\n\n"
78
+
79
+ symbols = Termin::ANSIColor::attributes
80
+ print red { bold { "All supported attributes = " } },
81
+ symbols.map { |s| __send__(s, s.inspect) } * ', ', "\n\n"
82
+
83
+ print "Send symbols to strings:".send(:red).send(:bold), "\n"
84
+ print symbols[12, 8].map { |c| c.to_s.send(c) } * '', "\n\n"
85
+
86
+ print red { bold { "Make strings monochromatic again:" } }, "\n"
87
+ print [
88
+ "red".red,
89
+ "not red anymore".red.uncolored,
90
+ uncolored { "not red anymore".red },
91
+ uncolored("not red anymore".red)
92
+ ].map { |x| x + "\n" } * ''
@@ -0,0 +1,135 @@
1
+ P3
2
+ 44 22
3
+ 255
4
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
5
+ 249 242 242 236 209 209 230 188 188 229 182 182 229 182 182 230 188 187 235 207 207 247 238 238
6
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
7
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
8
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
9
+ 255 255 255 255 255 255 255 255 255 255 255 255
10
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 246 234 234 215 137 136
11
+ 203 34 30 206 30 24 206 29 24 206 28 24 207 29 24 206 28 24 206 28 24 203 30 25
12
+ 213 126 125 244 229 229 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
13
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
14
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
15
+ 255 255 255 255 255 255 255 255 255 255 255 255
16
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 247 237 238 202 67 64 206 28 24
17
+ 205 29 24 202 37 32 207 68 65 207 96 95 208 91 89 204 52 49 203 28 23 206 28 24
18
+ 206 28 24 202 51 47 234 207 207 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
19
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
20
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
21
+ 255 255 255 255 255 255 255 255 255 255 255 255
22
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 227 184 184 205 29 24 212 124 123
23
+ 241 221 221 253 250 250 255 255 255 255 255 255 255 255 255 255 254 254 249 239 239 230 194 194
24
+ 206 82 80 206 28 24 202 36 32 234 207 207 255 255 255 255 255 255 255 255 255 255 255 255
25
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
26
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
27
+ 255 255 255 255 255 255 255 255 255 255 255 255
28
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 230 230 234 204 203 250 245 245
29
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
30
+ 250 244 244 209 118 117 206 29 24 202 47 43 242 223 223 255 255 255 255 255 255 255 255 255
31
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
32
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
33
+ 255 255 255 255 255 255 255 255 255 255 255 255
34
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
35
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
36
+ 255 255 255 250 245 245 206 98 97 206 28 24 202 74 72 247 237 238 255 255 255 255 255 255
37
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
38
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
39
+ 255 255 255 255 255 255 255 255 255 255 255 255
40
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
41
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
42
+ 255 255 255 255 255 255 246 234 234 201 41 37 206 28 24 206 105 104 252 247 247 255 255 255
43
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
44
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
45
+ 255 255 255 255 255 255 255 255 255 255 255 255
46
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
47
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
48
+ 255 255 255 254 251 252 215 146 146 204 28 24 206 28 24 206 29 24 213 137 136 255 253 253
49
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
50
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
51
+ 255 255 255 255 255 255 255 255 255 255 255 255
52
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
53
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
54
+ 252 248 249 212 133 132 205 28 24 206 28 24 206 29 24 206 29 24 204 29 24 221 169 168
55
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
56
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
57
+ 255 255 255 255 255 255 255 255 255 255 255 255
58
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
59
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 250 245 245
60
+ 209 118 117 205 28 24 206 29 24 206 28 24 206 28 24 206 28 24 206 28 24 202 29 25
61
+ 231 198 198 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
62
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
63
+ 255 255 255 255 255 255 255 255 255 255 255 255
64
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
65
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 240 240 207 104 103
66
+ 206 29 24 206 28 24 206 29 24 206 28 24 206 28 24 206 28 24 205 32 27 206 29 24
67
+ 202 44 40 240 219 219 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
68
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
69
+ 255 255 255 255 255 255 255 255 255 255 255 255
70
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
71
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 246 236 236 206 90 89 206 28 24
72
+ 206 28 24 206 28 24 206 28 24 206 28 24 206 28 24 206 105 103 243 228 229 204 92 91
73
+ 206 28 24 202 71 68 246 235 235 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
74
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
75
+ 255 255 255 255 255 255 255 255 255 255 255 255
76
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
77
+ 255 255 255 255 255 255 255 255 255 255 255 255 244 229 229 203 77 75 206 28 24 206 28 24
78
+ 206 28 24 206 29 24 206 28 24 205 30 24 210 120 118 250 245 245 255 255 255 245 233 233
79
+ 202 64 61 206 28 24 206 101 100 251 246 247 255 255 255 255 255 255 255 255 255 255 255 255
80
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
81
+ 255 255 255 255 255 255 255 255 255 255 255 255
82
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
83
+ 255 255 255 255 255 255 255 255 255 241 222 221 203 64 62 206 28 24 206 28 24 206 28 24
84
+ 206 28 24 206 29 24 205 29 24 213 135 134 252 249 249 255 255 255 255 255 255 255 255 255
85
+ 239 216 215 202 38 34 206 30 24 212 132 130 255 253 253 255 255 255 255 255 255 255 255 255
86
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
87
+ 255 255 255 255 255 255 255 255 255 255 255 255
88
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
89
+ 255 255 255 255 255 255 237 212 212 202 53 49 206 28 24 206 28 24 206 28 24 206 28 24
90
+ 206 28 24 204 29 24 217 152 151 254 252 252 255 255 255 255 255 255 255 255 255 255 255 255
91
+ 255 255 255 229 192 192 202 29 25 204 29 24 220 164 164 255 255 255 255 255 255 255 255 255
92
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
93
+ 255 255 255 255 255 255 255 255 255 255 255 255
94
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
95
+ 255 255 255 233 203 203 203 41 36 206 29 24 205 28 24 206 28 24 206 28 24 206 28 24
96
+ 204 29 25 221 167 167 255 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
97
+ 255 255 255 255 255 255 219 162 162 205 29 24 202 30 25 230 194 194 255 255 255 255 255 255
98
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
99
+ 255 255 255 255 255 255 255 255 255 255 255 255
100
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
101
+ 229 191 191 202 32 28 206 29 24 206 28 24 206 29 24 206 28 24 206 29 24 203 31 26
102
+ 227 182 182 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
103
+ 255 255 255 255 255 255 254 252 253 212 131 130 206 30 24 203 41 35 236 211 211 255 255 255
104
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 252 250 250
105
+ 249 243 243 251 247 247 255 255 255 255 255 255
106
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 224 177 177
107
+ 203 29 25 206 28 24 206 28 24 206 28 24 206 28 24 206 29 24 203 38 34 232 197 197
108
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
109
+ 255 255 255 255 255 255 255 255 255 251 246 246 205 100 98 206 29 24 203 42 38 229 192 191
110
+ 255 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 252 252 214 141 140
111
+ 203 26 22 206 130 130 255 255 255 255 255 255
112
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 220 163 163 204 29 24
113
+ 206 28 24 206 28 24 206 28 24 206 28 24 206 29 24 203 49 46 236 209 209 255 255 255
114
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
115
+ 255 255 255 255 255 255 255 255 255 255 255 255 247 235 235 202 69 67 206 29 24 205 29 24
116
+ 209 96 94 224 166 165 232 190 190 233 203 203 233 195 194 225 170 170 209 95 93 205 29 24
117
+ 206 28 24 213 147 147 255 255 255 255 255 255
118
+ 255 255 255 255 255 255 255 255 255 255 255 255 254 252 252 216 149 148 205 28 24 206 29 24
119
+ 206 28 24 206 28 24 206 28 24 206 28 24 202 62 59 239 219 219 255 255 255 255 255 255
120
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
121
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 243 226 226 203 72 69 206 29 24
122
+ 206 28 24 206 28 24 206 28 24 206 28 24 206 28 24 206 28 24 206 28 24 206 29 24
123
+ 204 79 76 246 233 234 255 255 255 255 255 255
124
+ 255 255 255 255 255 255 255 255 255 252 250 250 209 137 136 202 33 29 203 33 29 203 33 28
125
+ 203 33 28 203 33 28 203 34 28 203 78 76 243 228 228 255 255 255 255 255 255 255 255 255
126
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
127
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 249 241 241 223 164 163
128
+ 205 75 73 203 29 24 205 28 24 206 28 24 206 28 24 203 30 25 208 90 88 224 174 173
129
+ 250 244 244 255 255 255 255 255 255 255 255 255
130
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
131
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
132
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
133
+ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
134
+ 255 255 255 248 241 241 243 228 228 242 227 226 243 228 228 249 244 244 255 255 255 255 255 255
135
+ 255 255 255 255 255 255 255 255 255 255 255 255