termin-ansicolor 1.3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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