freeswitch/libs/spandsp/src/cielab_luts.h
2013-04-03 20:42:30 +02:00

4359 lines
39 KiB
C

static const float srgb_to_linear[256] =
{
0.000000,
0.000302,
0.000605,
0.000907,
0.001209,
0.001512,
0.001814,
0.002116,
0.002419,
0.002721,
0.003023,
0.003333,
0.003661,
0.004007,
0.004371,
0.004754,
0.005156,
0.005577,
0.006017,
0.006477,
0.006957,
0.007457,
0.007977,
0.008518,
0.009080,
0.009663,
0.010267,
0.010893,
0.011540,
0.012209,
0.012900,
0.013614,
0.014350,
0.015109,
0.015890,
0.016695,
0.017523,
0.018375,
0.019250,
0.020149,
0.021072,
0.022019,
0.022991,
0.023987,
0.025008,
0.026054,
0.027125,
0.028221,
0.029343,
0.030490,
0.031663,
0.032862,
0.034087,
0.035338,
0.036616,
0.037920,
0.039250,
0.040608,
0.041993,
0.043404,
0.044844,
0.046310,
0.047804,
0.049326,
0.050876,
0.052454,
0.054060,
0.055694,
0.057357,
0.059049,
0.060769,
0.062518,
0.064296,
0.066103,
0.067940,
0.069806,
0.071701,
0.073626,
0.075581,
0.077566,
0.079581,
0.081627,
0.083702,
0.085808,
0.087945,
0.090112,
0.092311,
0.094540,
0.096800,
0.099092,
0.101414,
0.103769,
0.106155,
0.108572,
0.111021,
0.113503,
0.116016,
0.118562,
0.121139,
0.123750,
0.126392,
0.129068,
0.131776,
0.134517,
0.137291,
0.140098,
0.142938,
0.145812,
0.148719,
0.151659,
0.154633,
0.157641,
0.160683,
0.163758,
0.166868,
0.170012,
0.173190,
0.176403,
0.179650,
0.182932,
0.186248,
0.189599,
0.192985,
0.196407,
0.199863,
0.203354,
0.206881,
0.210443,
0.214041,
0.217675,
0.221344,
0.225049,
0.228789,
0.232566,
0.236379,
0.240229,
0.244114,
0.248036,
0.251995,
0.255990,
0.260022,
0.264090,
0.268196,
0.272338,
0.276518,
0.280734,
0.284988,
0.289280,
0.293609,
0.297975,
0.302379,
0.306821,
0.311301,
0.315818,
0.320374,
0.324967,
0.329599,
0.334269,
0.338978,
0.343725,
0.348510,
0.353334,
0.358197,
0.363099,
0.368040,
0.373019,
0.378038,
0.383096,
0.388193,
0.393329,
0.398505,
0.403721,
0.408976,
0.414270,
0.419605,
0.424979,
0.430393,
0.435848,
0.441342,
0.446877,
0.452452,
0.458067,
0.463722,
0.469419,
0.475156,
0.480933,
0.486751,
0.492610,
0.498510,
0.504452,
0.510434,
0.516457,
0.522522,
0.528628,
0.534775,
0.540964,
0.547194,
0.553466,
0.559780,
0.566136,
0.572533,
0.578973,
0.585455,
0.591978,
0.598544,
0.605152,
0.611803,
0.618496,
0.625232,
0.632010,
0.638831,
0.645694,
0.652600,
0.659550,
0.666542,
0.673577,
0.680656,
0.687777,
0.694942,
0.702151,
0.709402,
0.716698,
0.724036,
0.731419,
0.738845,
0.746315,
0.753829,
0.761386,
0.768988,
0.776634,
0.784324,
0.792058,
0.799837,
0.807660,
0.815527,
0.823439,
0.831396,
0.839397,
0.847443,
0.855534,
0.863669,
0.871850,
0.880075,
0.888346,
0.896662,
0.905023,
0.913429,
0.921881,
0.930378,
0.938921,
0.947509,
0.956143,
0.964823,
0.973548,
0.982319,
0.991137
};
static const uint8_t linear_to_srgb[4096] =
{
0,
0,
1,
2,
3,
4,
4,
5,
6,
7,
8,
8,
9,
10,
11,
12,
12,
13,
14,
14,
15,
15,
16,
17,
17,
18,
18,
19,
19,
20,
20,
21,
21,
22,
22,
23,
23,
23,
24,
24,
25,
25,
25,
26,
26,
27,
27,
27,
28,
28,
28,
29,
29,
30,
30,
30,
31,
31,
31,
32,
32,
32,
33,
33,
33,
33,
34,
34,
34,
35,
35,
35,
36,
36,
36,
36,
37,
37,
37,
38,
38,
38,
38,
39,
39,
39,
39,
40,
40,
40,
40,
41,
41,
41,
41,
42,
42,
42,
42,
43,
43,
43,
43,
44,
44,
44,
44,
45,
45,
45,
45,
45,
46,
46,
46,
46,
47,
47,
47,
47,
47,
48,
48,
48,
48,
49,
49,
49,
49,
49,
50,
50,
50,
50,
50,
51,
51,
51,
51,
51,
52,
52,
52,
52,
52,
53,
53,
53,
53,
53,
54,
54,
54,
54,
54,
54,
55,
55,
55,
55,
55,
56,
56,
56,
56,
56,
56,
57,
57,
57,
57,
57,
57,
58,
58,
58,
58,
58,
59,
59,
59,
59,
59,
59,
60,
60,
60,
60,
60,
60,
61,
61,
61,
61,
61,
61,
62,
62,
62,
62,
62,
62,
62,
63,
63,
63,
63,
63,
63,
64,
64,
64,
64,
64,
64,
65,
65,
65,
65,
65,
65,
65,
66,
66,
66,
66,
66,
66,
66,
67,
67,
67,
67,
67,
67,
68,
68,
68,
68,
68,
68,
68,
69,
69,
69,
69,
69,
69,
69,
70,
70,
70,
70,
70,
70,
70,
70,
71,
71,
71,
71,
71,
71,
71,
72,
72,
72,
72,
72,
72,
72,
73,
73,
73,
73,
73,
73,
73,
73,
74,
74,
74,
74,
74,
74,
74,
75,
75,
75,
75,
75,
75,
75,
75,
76,
76,
76,
76,
76,
76,
76,
76,
77,
77,
77,
77,
77,
77,
77,
77,
78,
78,
78,
78,
78,
78,
78,
78,
79,
79,
79,
79,
79,
79,
79,
79,
80,
80,
80,
80,
80,
80,
80,
80,
80,
81,
81,
81,
81,
81,
81,
81,
81,
82,
82,
82,
82,
82,
82,
82,
82,
82,
83,
83,
83,
83,
83,
83,
83,
83,
83,
84,
84,
84,
84,
84,
84,
84,
84,
84,
85,
85,
85,
85,
85,
85,
85,
85,
85,
86,
86,
86,
86,
86,
86,
86,
86,
86,
87,
87,
87,
87,
87,
87,
87,
87,
87,
88,
88,
88,
88,
88,
88,
88,
88,
88,
89,
89,
89,
89,
89,
89,
89,
89,
89,
89,
90,
90,
90,
90,
90,
90,
90,
90,
90,
90,
91,
91,
91,
91,
91,
91,
91,
91,
91,
92,
92,
92,
92,
92,
92,
92,
92,
92,
92,
93,
93,
93,
93,
93,
93,
93,
93,
93,
93,
94,
94,
94,
94,
94,
94,
94,
94,
94,
94,
95,
95,
95,
95,
95,
95,
95,
95,
95,
95,
95,
96,
96,
96,
96,
96,
96,
96,
96,
96,
96,
97,
97,
97,
97,
97,
97,
97,
97,
97,
97,
97,
98,
98,
98,
98,
98,
98,
98,
98,
98,
98,
99,
99,
99,
99,
99,
99,
99,
99,
99,
99,
99,
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
101,
101,
101,
101,
101,
101,
101,
101,
101,
101,
101,
102,
102,
102,
102,
102,
102,
102,
102,
102,
102,
102,
103,
103,
103,
103,
103,
103,
103,
103,
103,
103,
103,
103,
104,
104,
104,
104,
104,
104,
104,
104,
104,
104,
104,
105,
105,
105,
105,
105,
105,
105,
105,
105,
105,
105,
105,
106,
106,
106,
106,
106,
106,
106,
106,
106,
106,
106,
106,
107,
107,
107,
107,
107,
107,
107,
107,
107,
107,
107,
107,
108,
108,
108,
108,
108,
108,
108,
108,
108,
108,
108,
108,
109,
109,
109,
109,
109,
109,
109,
109,
109,
109,
109,
109,
110,
110,
110,
110,
110,
110,
110,
110,
110,
110,
110,
110,
111,
111,
111,
111,
111,
111,
111,
111,
111,
111,
111,
111,
111,
112,
112,
112,
112,
112,
112,
112,
112,
112,
112,
112,
112,
113,
113,
113,
113,
113,
113,
113,
113,
113,
113,
113,
113,
113,
114,
114,
114,
114,
114,
114,
114,
114,
114,
114,
114,
114,
114,
115,
115,
115,
115,
115,
115,
115,
115,
115,
115,
115,
115,
115,
116,
116,
116,
116,
116,
116,
116,
116,
116,
116,
116,
116,
116,
117,
117,
117,
117,
117,
117,
117,
117,
117,
117,
117,
117,
117,
118,
118,
118,
118,
118,
118,
118,
118,
118,
118,
118,
118,
118,
118,
119,
119,
119,
119,
119,
119,
119,
119,
119,
119,
119,
119,
119,
120,
120,
120,
120,
120,
120,
120,
120,
120,
120,
120,
120,
120,
120,
121,
121,
121,
121,
121,
121,
121,
121,
121,
121,
121,
121,
121,
121,
122,
122,
122,
122,
122,
122,
122,
122,
122,
122,
122,
122,
122,
122,
123,
123,
123,
123,
123,
123,
123,
123,
123,
123,
123,
123,
123,
123,
124,
124,
124,
124,
124,
124,
124,
124,
124,
124,
124,
124,
124,
124,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
125,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
126,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
127,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
128,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
129,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
130,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
131,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
132,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
133,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
134,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
135,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
136,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
137,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
138,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
139,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
140,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
141,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
142,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
143,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
144,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
145,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
146,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
147,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
148,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
149,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
150,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
151,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
152,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
153,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
154,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
155,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
156,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
157,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
158,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
159,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
160,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
161,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
162,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
163,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
164,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
165,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
166,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
167,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
168,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
169,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
170,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
171,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
172,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
173,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
174,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
175,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
176,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
177,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
178,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
179,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
180,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
181,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
182,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
183,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
184,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
185,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
186,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
187,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
188,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
189,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
190,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
191,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
192,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
193,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
194,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
195,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
196,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
197,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
198,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
199,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
200,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
201,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
202,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
203,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
204,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
205,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
206,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
207,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
208,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
209,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
210,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
211,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
212,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
213,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
214,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
215,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
216,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
217,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
218,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
219,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
220,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
221,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
222,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
223,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
224,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
225,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
226,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
227,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
228,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
229,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
230,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
231,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
232,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
233,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
234,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
235,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
236,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
237,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
238,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
239,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
240,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
241,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
242,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
243,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
244,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
245,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
246,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
247,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
248,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
249,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
250,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
251,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
252,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
253,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
254,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255,
255
};