Subversion Repositories gelsvn

Rev

Rev 561 | Rev 597 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 561 Rev 563
1
/**
1
/**
2
 * @file   Console.cpp
2
 * @file   Console.cpp
3
 * @author Anders Wang Kristensen <awk@imm.dtu.dk>
3
 * @author Anders Wang Kristensen <awk@imm.dtu.dk>
4
 * @date   Fri Oct 22 18:36:58 2011
4
 * @date   Fri Oct 22 18:36:58 2011
5
 */
5
 */
6
 
6
 
7
#include <GLGraphics/Console.h>
7
#include <GLGraphics/Console.h>
8
#include <GLGraphics/gel_glut.h>
8
#include <GLGraphics/gel_glut.h>
9
 
9
 
10
#include <cstdarg>
10
#include <cstdarg>
11
#include <set>
11
#include <set>
12
#include <iostream> //cerr
12
#include <iostream> //cerr
13
#include <iterator> //back_inserter
13
#include <iterator> //back_inserter
14
#include <fstream>
14
#include <fstream>
15
#include <utility> //min
15
#include <utility> //min
16
 
16
 
17
#include <GLGraphics/stb_image.h>
17
#include <GLGraphics/stb_image.h>
18
 
18
 
19
static const char* history_filename = "history.txt";
19
static const char* history_filename = "history.txt";
20
 
20
 
21
static const int line_spacing = 13;
21
static const int line_spacing = 13;
22
static const int char_spacing = 7;
22
static const int char_spacing = 7;
23
 
23
 
24
using namespace GLGraphics;
24
using namespace GLGraphics;
25
 
25
 
26
//----------------------------------------------------------------------------
26
//----------------------------------------------------------------------------
27
 
27
 
28
Console::Console() : m_history_index(0), m_caret(0),
28
Console::Console() : m_history_index(0), m_caret(0),
29
                     m_id_counter(0), m_is_executing(false),
29
                     m_id_counter(0), m_is_executing(false),
30
                     m_font(0)
30
                     m_font(0)
31
{
31
{
32
    load_history();
32
    load_history();
33
 
33
 
34
    //register builtin commands
34
    //register builtin commands
35
    void (Console::*help0)() = &Console::help;
35
    void (Console::*help0)() = &Console::help;
36
    reg_cmd("help",
36
    reg_cmd0("help",
37
            std::bind(help0, this), "Print list of commands.");
37
             std::bind(help0, this), "Print list of commands.");
38
 
38
 
39
    void (Console::*help1)(const std::string&) = &Console::help;
39
    void (Console::*help1)(const std::string&) = &Console::help;
40
    reg_cmd<std::string>("help", std::bind(help1, this, std::placeholders::_1),
40
    reg_cmd1<std::string>("help", std::bind(help1, this, std::placeholders::_1),
41
                         "Show help for specified command.");
41
                          "Show help for specified command.");
42
 
42
 
43
    reg_cmd("clear", std::bind(&Console::clear, this), "Clear console.");
43
    reg_cmd0("clear", std::bind(&Console::clear, this), "Clear console.");
44
 
44
 
45
    reg_cmd("history", std::bind(&Console::history, this),
45
    reg_cmd0("history", std::bind(&Console::history, this),
46
            "Show history of commands.");
46
             "Show history of commands.");
47
    reg_cmd("clear_history", std::bind(&Console::history, this),
47
    reg_cmd0("clear_history", std::bind(&Console::history, this),
48
            "Clear history of commands.");
48
             "Clear history of commands.");
49
    reg_cmd("load_history", std::bind(&Console::load_history, this),
49
    reg_cmd0("load_history", std::bind(&Console::load_history, this),
50
            "Load history of commands from file.");
50
             "Load history of commands from file.");
51
    reg_cmd("save_history", std::bind(&Console::save_history, this),
51
    reg_cmd0("save_history", std::bind(&Console::save_history, this),
52
            "Save history of commands to file.");
52
             "Save history of commands to file.");
53
}
53
}
54
 
54
 
55
Console::~Console() throw()
55
Console::~Console() throw()
56
{
56
{
57
    save_history();
57
    save_history();
58
}
58
}
59
 
59
 
60
//----------------------------------------------------------------------------
60
//----------------------------------------------------------------------------
61
 
61
 
62
void Console::load_history()
62
void Console::load_history()
63
{
63
{
64
    std::ifstream ifs(history_filename);
64
    std::ifstream ifs(history_filename);
65
 
65
 
66
    while (ifs.good())
66
    while (ifs.good())
67
    {
67
    {
68
        std::string line;
68
        std::string line;
69
        getline(ifs, line);
69
        getline(ifs, line);
70
        if (!line.empty())
70
        if (!line.empty())
71
            m_history.push_back(std::move(line));
71
            m_history.push_back(std::move(line));
72
    }
72
    }
73
 
73
 
74
    m_history_index = m_history.size();
74
    m_history_index = m_history.size();
75
}
75
}
76
 
76
 
77
void Console::save_history() const
77
void Console::save_history() const
78
{
78
{
79
    std::ofstream ofs(history_filename);
79
    std::ofstream ofs(history_filename);
80
    if (!ofs)
80
    if (!ofs)
81
        std::cerr << "Console: Unable to save history.";
81
        std::cerr << "Console: Unable to save history.";
82
    else
82
    else
83
        for (auto it=m_history.begin(); it!=m_history.end(); ++it)
83
        for (auto it=m_history.begin(); it!=m_history.end(); ++it)
84
            ofs << *it << '\n';
84
            ofs << *it << '\n';
85
}
85
}
86
 
86
 
87
void Console::clear_history()
87
void Console::clear_history()
88
{
88
{
89
    m_history.clear();
89
    m_history.clear();
90
    m_history_index = 0;
90
    m_history_index = 0;
91
}
91
}
92
 
92
 
93
//----------------------------------------------------------------------------
93
//----------------------------------------------------------------------------
94
 
94
 
95
void Console::display()
95
void Console::display()
96
{
96
{
97
    if (m_font == 0)
97
    if (m_font == 0)
98
    {
98
    {
99
        glGenTextures(1, &m_font);
99
        glGenTextures(1, &m_font);
100
        glBindTexture(GL_TEXTURE_2D, m_font);
100
        glBindTexture(GL_TEXTURE_2D, m_font);
101
        int width, height, components=1;
101
        int width, height, components=1;
102
        unsigned char* data = stbi_load_from_memory(g_png_data,
102
        unsigned char* data = stbi_load_from_memory(g_png_data,
103
            int(g_png_size), &width, &height, &components, 1);
103
            int(g_png_size), &width, &height, &components, 1);
104
        assert(data);
104
        assert(data);
105
        unsigned char* p = data;
105
        unsigned char* p = data;
106
        unsigned char* q = data + width*(height-1);
106
        unsigned char* q = data + width*(height-1);
107
        for (int h=0; h<height/2; ++h, q-=2*width)
107
        for (int h=0; h<height/2; ++h, q-=2*width)
108
            for (int w=0; w<width; ++w)
108
            for (int w=0; w<width; ++w)
109
                std::swap(*p++, *q++);
109
                std::swap(*p++, *q++);
110
        glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA8, width, height, 0,
110
        glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA8, width, height, 0,
111
            GL_ALPHA, GL_UNSIGNED_BYTE, data);
111
            GL_ALPHA, GL_UNSIGNED_BYTE, data);
112
        stbi_image_free(data);
112
        stbi_image_free(data);
113
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
113
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
114
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
114
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
115
        glBindTexture(GL_TEXTURE_2D, 0);
115
        glBindTexture(GL_TEXTURE_2D, 0);
116
        assert(glGetError() == GL_NO_ERROR);
116
        assert(glGetError() == GL_NO_ERROR);
117
    }
117
    }
118
 
118
 
119
    //setup matrices
119
    //setup matrices
120
    int vp[4];
120
    int vp[4];
121
    glGetIntegerv(GL_VIEWPORT, vp);
121
    glGetIntegerv(GL_VIEWPORT, vp);
122
    int width = vp[2];
122
    int width = vp[2];
123
    int height = vp[3];
123
    int height = vp[3];
124
 
124
 
125
    glMatrixMode(GL_PROJECTION);
125
    glMatrixMode(GL_PROJECTION);
126
    glPushMatrix();
126
    glPushMatrix();
127
    glLoadIdentity();
127
    glLoadIdentity();
128
    gluOrtho2D(0, width, 0, height);
128
    gluOrtho2D(0, width, 0, height);
129
    glMatrixMode(GL_MODELVIEW);
129
    glMatrixMode(GL_MODELVIEW);
130
    glPushMatrix();
130
    glPushMatrix();
131
    glLoadIdentity();
131
    glLoadIdentity();
132
 
132
 
133
    //gray background + separator
133
    //gray background + separator
134
    glPushAttrib(GL_COLOR_BUFFER_BIT);
134
    glPushAttrib(GL_COLOR_BUFFER_BIT);
135
    glEnable(GL_BLEND);
135
    glEnable(GL_BLEND);
136
    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
136
    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
137
 
137
 
138
    glColor4f(0.15f, 0.15f, 0.15f, 0.75f);
138
    glColor4f(0.15f, 0.15f, 0.15f, 0.75f);
139
    glRecti(0, 0, width, height);
139
    glRecti(0, 0, width, height);
140
    glColor3f(0.7f, 0.7f, 0.7f);
140
    glColor3f(0.7f, 0.7f, 0.7f);
141
    glRecti(0, 1, width, 2);
141
    glRecti(0, 1, width, 2);
142
    glColor3f(0.5f, 0.5f, 0.5f);
142
    glColor3f(0.5f, 0.5f, 0.5f);
143
    glRecti(0, 0, width, 1);
143
    glRecti(0, 0, width, 1);
144
 
144
 
145
    glPopAttrib();
145
    glPopAttrib();
146
 
146
 
147
    int current = 3;
147
    int current = 3;
148
 
148
 
149
    //draw caret
149
    //draw caret
150
    if (!m_is_executing)
150
    if (!m_is_executing)
151
    {
151
    {
152
        const int cx = int(m_caret*char_spacing) + char_spacing + 1;
152
        const int cx = int(m_caret*char_spacing) + char_spacing + 1;
153
        glRecti(cx, current, cx+char_spacing, current+2);
153
        glRecti(cx, current, cx+char_spacing, current+2);
154
    }
154
    }
155
 
155
 
156
    //restore matrices
156
    //restore matrices
157
    glMatrixMode(GL_PROJECTION);
157
    glMatrixMode(GL_PROJECTION);
158
    glPopMatrix();
158
    glPopMatrix();
159
    glMatrixMode(GL_MODELVIEW);
159
    glMatrixMode(GL_MODELVIEW);
160
    glPopMatrix();
160
    glPopMatrix();
161
 
161
 
162
    //draw command line
162
    //draw command line
163
    if (!m_is_executing)
163
    if (!m_is_executing)
164
    {
164
    {
165
        draw_textf(1, current,
165
        draw_textf(1, current,
166
                   0.9f, 0.9f, 0.9f,
166
                   0.9f, 0.9f, 0.9f,
167
                   ">%s", m_current_command.c_str());
167
                   ">%s", m_current_command.c_str());
168
        current += line_spacing;
168
        current += line_spacing;
169
    }
169
    }
170
 
170
 
171
    //draw rest
171
    //draw rest
172
    std::vector<std::string>::const_reverse_iterator it;
172
    std::vector<std::string>::const_reverse_iterator it;
173
    for (it=m_buffer.rbegin(); it!=m_buffer.rend(); ++it)
173
    for (it=m_buffer.rbegin(); it!=m_buffer.rend(); ++it)
174
    {
174
    {
175
        draw_text(1, current,
175
        draw_text(1, current,
176
                  0.75f, 0.75f, 0.75f,
176
                  0.75f, 0.75f, 0.75f,
177
                  it->c_str());
177
                  it->c_str());
178
        current += line_spacing;
178
        current += line_spacing;
179
 
179
 
180
        if (current > height)
180
        if (current > height)
181
            break;
181
            break;
182
    }
182
    }
183
}
183
}
184
 
184
 
185
//----------------------------------------------------------------------------
185
//----------------------------------------------------------------------------
186
 
186
 
187
void Console::draw_text(int cx, int cy,
187
void Console::draw_text(int cx, int cy,
188
                        float r, float g, float b,
188
                        float r, float g, float b,
189
                        const char* buffer)
189
                        const char* buffer)
190
{
190
{
191
    //save OpenGL state
191
    //save OpenGL state
192
    glPushAttrib(GL_ENABLE_BIT);
192
    glPushAttrib(GL_ENABLE_BIT);
193
    glPushAttrib(GL_COLOR_BUFFER_BIT);
193
    glPushAttrib(GL_COLOR_BUFFER_BIT);
194
 
194
 
195
    //setup texture mapping + blending
195
    //setup texture mapping + blending
196
    glDisable(GL_DEPTH_TEST);
196
    glDisable(GL_DEPTH_TEST);
197
    glDisable(GL_LIGHTING);
197
    glDisable(GL_LIGHTING);
198
    glEnable(GL_TEXTURE_2D);
198
    glEnable(GL_TEXTURE_2D);
199
    glEnable(GL_BLEND);
199
    glEnable(GL_BLEND);
200
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
200
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
201
 
201
 
202
    //setup matrices
202
    //setup matrices
203
    int vp[4];
203
    int vp[4];
204
    glGetIntegerv(GL_VIEWPORT, vp);
204
    glGetIntegerv(GL_VIEWPORT, vp);
205
    int width = vp[2];
205
    int width = vp[2];
206
    int height = vp[3];
206
    int height = vp[3];
207
 
207
 
208
    assert(width>0 && height>0);
208
    assert(width>0 && height>0);
209
    glMatrixMode(GL_PROJECTION);
209
    glMatrixMode(GL_PROJECTION);
210
    glPushMatrix();
210
    glPushMatrix();
211
    glLoadIdentity();
211
    glLoadIdentity();
212
    gluOrtho2D(0, width, 0, height);
212
    gluOrtho2D(0, width, 0, height);
213
    glMatrixMode(GL_MODELVIEW);
213
    glMatrixMode(GL_MODELVIEW);
214
    glPushMatrix();
214
    glPushMatrix();
215
    glLoadIdentity();
215
    glLoadIdentity();
216
 
216
 
217
    //color + texture
217
    //color + texture
218
    glColor3f(r,g,b);
218
    glColor3f(r,g,b);
219
    glBindTexture(GL_TEXTURE_2D, m_font);
219
    glBindTexture(GL_TEXTURE_2D, m_font);
220
 
220
 
221
    glBegin(GL_QUADS);
221
    glBegin(GL_QUADS);
222
    while (*buffer)
222
    while (*buffer)
223
    {
223
    {
224
        char c = *buffer++;
224
        char c = *buffer++;
225
 
225
 
226
        if (c < 32)
226
        if (c < 32)
227
            continue;
227
            continue;
228
 
228
 
229
        int fx = (c & 0x0F) << 4;
229
        int fx = (c & 0x0F) << 4;
230
        float txl = (fx +  4.f) / 256.f;
230
        float txl = (fx +  4.f) / 256.f;
231
        float txr = (fx + 11.f) / 256.f;
231
        float txr = (fx + 11.f) / 256.f;
232
 
232
 
233
        int fy = 15*16 - (c & 0xF0);
233
        int fy = 15*16 - (c & 0xF0);
234
        float tyl = (fy +  0.f) / 256.f;
234
        float tyl = (fy +  0.f) / 256.f;
235
        float tyu = (fy + 15.f) / 256.f;
235
        float tyu = (fy + 15.f) / 256.f;
236
 
236
 
237
        glTexCoord2f(txl, tyl);
237
        glTexCoord2f(txl, tyl);
238
        glVertex2i(cx +  0, cy +  1);
238
        glVertex2i(cx +  0, cy +  1);
239
        glTexCoord2f(txr, tyl);
239
        glTexCoord2f(txr, tyl);
240
        glVertex2i(cx + 7, cy +  1);
240
        glVertex2i(cx + 7, cy +  1);
241
        glTexCoord2f(txr, tyu);
241
        glTexCoord2f(txr, tyu);
242
        glVertex2i(cx + 7, cy + 16);
242
        glVertex2i(cx + 7, cy + 16);
243
        glTexCoord2f(txl, tyu);
243
        glTexCoord2f(txl, tyu);
244
        glVertex2i(cx +  0, cy + 16);
244
        glVertex2i(cx +  0, cy + 16);
245
 
245
 
246
        cx += char_spacing;
246
        cx += char_spacing;
247
    }
247
    }
248
    glEnd();
248
    glEnd();
249
 
249
 
250
    glBindTexture(GL_TEXTURE_2D, 0);
250
    glBindTexture(GL_TEXTURE_2D, 0);
251
 
251
 
252
    //restore matrices
252
    //restore matrices
253
    glMatrixMode(GL_PROJECTION);
253
    glMatrixMode(GL_PROJECTION);
254
    glPopMatrix();
254
    glPopMatrix();
255
    glMatrixMode(GL_MODELVIEW);
255
    glMatrixMode(GL_MODELVIEW);
256
    glPopMatrix();
256
    glPopMatrix();
257
 
257
 
258
    //and attributes
258
    //and attributes
259
    glPopAttrib();
259
    glPopAttrib();
260
    glPopAttrib();
260
    glPopAttrib();
261
}
261
}
262
 
262
 
263
void Console::draw_textf(int x, int y,
263
void Console::draw_textf(int x, int y,
264
                         float r, float g, float b,
264
                         float r, float g, float b,
265
                         const char* fmt, ...)
265
                         const char* fmt, ...)
266
{
266
{
267
    //format text
267
    //format text
268
    char buffer[1024];
268
    char buffer[1024];
269
    va_list arguments;
269
    va_list arguments;
270
    va_start(arguments, fmt);
270
    va_start(arguments, fmt);
271
    vsnprintf(buffer, 1024, fmt, arguments);
271
    vsnprintf(buffer, 1024, fmt, arguments);
272
    va_end(arguments);
272
    va_end(arguments);
273
 
273
 
274
    draw_text(x, y, r, g, b, buffer);
274
    draw_text(x, y, r, g, b, buffer);
275
}
275
}
276
 
276
 
277
//----------------------------------------------------------------------------
277
//----------------------------------------------------------------------------
278
 
278
 
279
void Console::tab_completion()
279
void Console::tab_completion()
280
{
280
{
281
    if (m_current_command.empty())
281
    if (m_current_command.empty())
282
        return;
282
        return;
283
 
283
 
284
    //search through command list..
284
    //search through command list..
285
    std::set<std::string> matches;
285
    std::set<std::string> matches;
286
    command_map_t::const_iterator it1;
286
    command_map_t::const_iterator it1;
287
    for (it1=m_commands.begin(); it1!= m_commands.end(); ++it1)
287
    for (it1=m_commands.begin(); it1!= m_commands.end(); ++it1)
288
    {
288
    {
289
        std::string cmd = it1->first;
289
        std::string cmd = it1->first;
290
        if (cmd.find(m_current_command) != 0)
290
        if (cmd.find(m_current_command) != 0)
291
            continue;
291
            continue;
292
 
292
 
293
        matches.insert(cmd);
293
        matches.insert(cmd);
294
    }
294
    }
295
 
295
 
296
    if (matches.empty())
296
    if (matches.empty())
297
        return;
297
        return;
298
 
298
 
299
    if (matches.size() == 1)
299
    if (matches.size() == 1)
300
    {
300
    {
301
        m_current_command = *matches.begin() + " ";
301
        m_current_command = *matches.begin() + " ";
302
        return;
302
        return;
303
    }
303
    }
304
 
304
 
305
    //show possible matches
305
    //show possible matches
306
    std::stringstream ss;
306
    std::stringstream ss;
307
    std::set<std::string>::const_iterator it2;
307
    std::set<std::string>::const_iterator it2;
308
    for (it2=matches.begin(); it2!=matches.end(); ++it2)
308
    for (it2=matches.begin(); it2!=matches.end(); ++it2)
309
        ss << *it2 << " ";
309
        ss << *it2 << " ";
310
    print(ss.str().c_str());
310
    print(ss.str().c_str());
311
 
311
 
312
    //find longest common prefix and set as current command
312
    //find longest common prefix and set as current command
313
    it2 = matches.begin();
313
    it2 = matches.begin();
314
    std::string current = *it2++;
314
    std::string current = *it2++;
315
    for (; it2!=matches.end(); ++it2)
315
    for (; it2!=matches.end(); ++it2)
316
    {
316
    {
317
        std::string::size_type n = 0;
317
        std::string::size_type n = 0;
318
        for (; n<(std::min)(current.size(), it2->size()); ++n)
318
        for (; n<(std::min)(current.size(), it2->size()); ++n)
319
             if (current.at(n) != it2->at(n))
319
             if (current.at(n) != it2->at(n))
320
                 break;
320
                 break;
321
 
321
 
322
        current.resize(n);
322
        current.resize(n);
323
    }
323
    }
324
 
324
 
325
    m_current_command = current;
325
    m_current_command = current;
326
}
326
}
327
 
327
 
328
//----------------------------------------------------------------------------
328
//----------------------------------------------------------------------------
329
 
329
 
330
void Console::keyboard(unsigned char key)
330
void Console::keyboard(unsigned char key)
331
{
331
{
332
    switch (key)
332
    switch (key)
333
    {
333
    {
334
#ifdef __APPLE__
334
#ifdef __APPLE__
335
    case 0x7f: //apple's glut sends 127 (del) when backspace is pressed
335
    case 0x7f: //apple's glut sends 127 (del) when backspace is pressed
336
#else
336
#else
337
    case '\b': //backspace
337
    case '\b': //backspace
338
#endif
338
#endif
339
        if (m_caret > 0)
339
        if (m_caret > 0)
340
        {
340
        {
341
            //delete character before caret..
341
            //delete character before caret..
342
            m_current_command.erase(m_caret-1, 1);
342
            m_current_command.erase(m_caret-1, 1);
343
            m_caret--;
343
            m_caret--;
344
        }
344
        }
345
        break;
345
        break;
346
 
346
 
347
    case '\t': //tab
347
    case '\t': //tab
348
        tab_completion();
348
        tab_completion();
349
        m_caret = m_current_command.size();
349
        m_caret = m_current_command.size();
350
        break;
350
        break;
351
 
351
 
352
    case '\r': //enter
352
    case '\r': //enter
353
        if (!m_current_command.empty())
353
        if (!m_current_command.empty())
354
        {
354
        {
355
            std::string tmp = m_current_command;
355
            std::string tmp = m_current_command;
356
            m_current_command.clear();
356
            m_current_command.clear();
357
            m_caret = 0;
357
            m_caret = 0;
358
            printf(">%s", tmp.c_str());
358
            printf(">%s", tmp.c_str());
359
 
359
 
360
            //add command to history..
360
            //add command to history..
361
            m_history.push_back(tmp);
361
            m_history.push_back(tmp);
362
            m_history_index = m_history.size();
362
            m_history_index = m_history.size();
363
 
363
 
364
            execute(tmp.c_str());
364
            execute(tmp.c_str());
365
        }
365
        }
366
        break;
366
        break;
367
 
367
 
368
    default:
368
    default:
369
        if (key>=' ' && key<0x7f) //127 == delete
369
        if (key>=' ' && key<0x7f) //127 == delete
370
        {
370
        {
371
            m_current_command.insert(m_caret, 1, key);
371
            m_current_command.insert(m_caret, 1, key);
372
            m_caret++;
372
            m_caret++;
373
        }
373
        }
374
        break;
374
        break;
375
    }
375
    }
376
}
376
}
377
 
377
 
378
void Console::special(int key)
378
void Console::special(int key)
379
{
379
{
380
    switch (key)
380
    switch (key)
381
    {
381
    {
382
    case GLUT_KEY_LEFT:
382
    case GLUT_KEY_LEFT:
383
        if (m_caret > 0)
383
        if (m_caret > 0)
384
            m_caret -= 1;
384
            m_caret -= 1;
385
        break;
385
        break;
386
 
386
 
387
    case GLUT_KEY_RIGHT:
387
    case GLUT_KEY_RIGHT:
388
        if (m_caret < m_current_command.size())
388
        if (m_caret < m_current_command.size())
389
            m_caret += 1;
389
            m_caret += 1;
390
        break;
390
        break;
391
 
391
 
392
    case GLUT_KEY_HOME:
392
    case GLUT_KEY_HOME:
393
        m_caret = 0;
393
        m_caret = 0;
394
        break;
394
        break;
395
 
395
 
396
    case GLUT_KEY_END:
396
    case GLUT_KEY_END:
397
        m_caret = m_current_command.size();
397
        m_caret = m_current_command.size();
398
        break;
398
        break;
399
 
399
 
400
    case GLUT_KEY_UP:
400
    case GLUT_KEY_UP:
401
        if (!m_history.empty())
401
        if (!m_history.empty())
402
        {
402
        {
403
            if (m_history_index > 0)
403
            if (m_history_index > 0)
404
                m_history_index--;
404
                m_history_index--;
405
 
405
 
406
            m_current_command = m_history[m_history_index];
406
            m_current_command = m_history[m_history_index];
407
            m_caret = m_current_command.size();
407
            m_caret = m_current_command.size();
408
        }
408
        }
409
        break;
409
        break;
410
 
410
 
411
    case GLUT_KEY_DOWN:
411
    case GLUT_KEY_DOWN:
412
        if (m_history_index < m_history.size())
412
        if (m_history_index < m_history.size())
413
        {
413
        {
414
            if (m_history_index < m_history.size()-1)
414
            if (m_history_index < m_history.size()-1)
415
                m_history_index++;
415
                m_history_index++;
416
 
416
 
417
            assert(m_history_index < m_history.size());
417
            assert(m_history_index < m_history.size());
418
            m_current_command = m_history[m_history_index];
418
            m_current_command = m_history[m_history_index];
419
            m_caret = m_current_command.size();
419
            m_caret = m_current_command.size();
420
        }
420
        }
421
        break;
421
        break;
422
    }
422
    }
423
}
423
}
424
 
424
 
425
//----------------------------------------------------------------------------
425
//----------------------------------------------------------------------------
426
 
426
 
427
void Console::execute(const char* buffer)
427
void Console::execute(const char* buffer)
428
{
428
{
429
    //split into command arg0 arg1 ..
429
    //split into command arg0 arg1 ..
430
    std::vector<std::string> tmp;
430
    std::vector<std::string> tmp;
431
 
431
 
432
    try {
432
    try {
433
        tmp = parse_cmdline(buffer);
433
        tmp = parse_cmdline(buffer);
434
    }
434
    }
435
    catch (std::exception& e)
435
    catch (std::exception& e)
436
    {
436
    {
437
        printf("Error: %s", e.what());
437
        printf("Error: %s", e.what());
438
        return;
438
        return;
439
    }
439
    }
440
 
440
 
441
    if (tmp.empty())
441
    if (tmp.empty())
442
        return;
442
        return;
443
 
443
 
444
    const std::string command_name = std::move(tmp[0]);
444
    const std::string command_name = std::move(tmp[0]);
445
    std::vector<std::string> args;
445
    std::vector<std::string> args;
446
    std::move(tmp.begin()+1, tmp.end(), std::back_inserter(args));
446
    std::move(tmp.begin()+1, tmp.end(), std::back_inserter(args));
447
 
447
 
448
    //find commands with matching names
448
    //find commands with matching names
449
    std::pair<command_map_t::const_iterator,command_map_t::const_iterator> rng;
449
    std::pair<command_map_t::const_iterator,command_map_t::const_iterator> rng;
450
    rng = m_commands.equal_range(command_name);
450
    rng = m_commands.equal_range(command_name);
451
 
451
 
452
     //find command with right number of arguments and execute
452
     //find command with right number of arguments and execute
453
    command_map_t::const_iterator it;
453
    command_map_t::const_iterator it;
454
     for (it=rng.first; it!=rng.second; ++it)
454
     for (it=rng.first; it!=rng.second; ++it)
455
     {
455
     {
-
 
456
         size_t arity = it->second->arity();
456
         if (it->second->arity() != args.size())
457
         if (arity!=any_arity && arity!=args.size())
457
             continue;
458
             continue;
458
 
459
 
459
         m_is_executing = true;
460
         m_is_executing = true;
460
 
461
 
461
         try {
462
         try {
462
             it->second->execute(args);
463
             it->second->execute(args);
463
         }
464
         }
464
         catch (std::exception& e)
465
         catch (std::exception& e)
465
         {
466
         {
466
             printf("Error: %s", e.what());
467
             printf("Error: %s", e.what());
467
         }
468
         }
468
         catch (...)
469
         catch (...)
469
         {
470
         {
470
             printf("Unknown exception.");
471
             printf("Unknown exception.");
471
         }
472
         }
472
 
473
 
473
         m_is_executing = false;
474
         m_is_executing = false;
474
 
475
 
475
         return;
476
         return;
476
     }
477
     }
477
 
478
 
478
    //didn't find a matching command: error!
479
    //didn't find a matching command: error!
479
     if (rng.first == rng.second)
480
     if (rng.first == rng.second)
480
         printf("Syntax error: Command '%s' not found.", command_name.c_str());
481
         printf("Syntax error: Command '%s' not found.", command_name.c_str());
481
     else
482
     else
482
        printf("Syntax error: Command '%s' with %u arguments not found.",
483
        printf("Syntax error: Command '%s' with %u arguments not found.",
483
            command_name.c_str(), args.size());
484
            command_name.c_str(), args.size());
484
}
485
}
485
 
486
 
486
void Console::executef(const char* format, ...)
487
void Console::executef(const char* format, ...)
487
{
488
{
488
    //format text
489
    //format text
489
    char buffer[1024];
490
    char buffer[1024];
490
    va_list arguments;
491
    va_list arguments;
491
    va_start(arguments, format);
492
    va_start(arguments, format);
492
    vsprintf(buffer, format, arguments);
493
    vsprintf(buffer, format, arguments);
493
    va_end(arguments);
494
    va_end(arguments);
494
 
495
 
495
    execute(buffer);
496
    execute(buffer);
496
}
497
}
497
 
498
 
498
//----------------------------------------------------------------------------
499
//----------------------------------------------------------------------------
499
 
500
 
500
std::vector<std::string> Console::parse_cmdline(const char* buffer) const
501
std::vector<std::string> Console::parse_cmdline(const char* buffer) const
501
{
502
{
502
    std::string str(buffer);
503
    std::string str(buffer);
503
    std::vector<std::string> tmp;
504
    std::vector<std::string> tmp;
504
    size_t curr = 0;
505
    size_t curr = 0;
505
    while (true)
506
    while (true)
506
    {
507
    {
507
        //eat whitespace, nom nom nom
508
        //eat whitespace, nom nom nom
508
        size_t start = str.find_first_not_of(' ', curr);
509
        size_t start = str.find_first_not_of(' ', curr);
509
        if (start == std::string::npos)
510
        if (start == std::string::npos)
510
            break;
511
            break;
511
 
512
 
512
        //grouping delimiters, note: doesn't have nesting
513
        //grouping delimiters, note: doesn't have nesting
513
        const char delim[] = { '[' ,']', '(', ')', '{', '}', '"', '"'};
514
        const char delim[] = { '[' ,']', '(', ')', '{', '}', '"', '"'};
514
        const size_t n = sizeof(delim) / sizeof(delim[0]);
515
        const size_t n = sizeof(delim) / sizeof(delim[0]);
515
 
516
 
516
        char c = ' ';
517
        char c = ' ';
517
        for (size_t i=0; i<n; i+=2)
518
        for (size_t i=0; i<n; i+=2)
518
        {
519
        {
519
            if (str[start] != delim[i])
520
            if (str[start] != delim[i])
520
                continue;
521
                continue;
521
 
522
 
522
            c = delim[i+1];
523
            c = delim[i+1];
523
 
524
 
524
            if (c == '"')
525
            if (c == '"')
525
                start++;
526
                start++;
526
            break;
527
            break;
527
        }
528
        }
528
 
529
 
529
        //find closing character
530
        //find closing character
530
        size_t end = str.find_first_of(c, start+1);
531
        size_t end = str.find_first_of(c, start+1);
531
 
532
 
532
        //done?
533
        //done?
533
        if (end == std::string::npos)
534
        if (end == std::string::npos)
534
        {
535
        {
535
            if (c != ' ')
536
            if (c != ' ')
536
            {
537
            {
537
                std::stringstream ss;
538
                std::stringstream ss;
538
                ss << "Missing closing '" << c << "' in expression.";
539
                ss << "Missing closing '" << c << "' in expression.";
539
                throw std::invalid_argument(ss.str());
540
                throw std::invalid_argument(ss.str());
540
            }
541
            }
541
 
542
 
542
            tmp.push_back(str.substr(start, end));
543
            tmp.push_back(str.substr(start, end));
543
            break;
544
            break;
544
        }
545
        }
545
 
546
 
546
        //don't include '"' or trailing ' '
547
        //don't include '"' or trailing ' '
547
        if (c=='"' || c==' ')
548
        if (c=='"' || c==' ')
548
            end--;
549
            end--;
549
 
550
 
550
        size_t len = end - start + 1;
551
        size_t len = end - start + 1;
551
        tmp.push_back(str.substr(start, len));
552
        tmp.push_back(str.substr(start, len));
552
 
553
 
553
        if (c=='"' || c==' ')
554
        if (c=='"' || c==' ')
554
            end++;
555
            end++;
555
 
556
 
556
        curr = end+1;
557
        curr = end+1;
557
    }
558
    }
558
 
559
 
559
    return tmp;
560
    return tmp;
560
}
561
}
561
 
562
 
562
//----------------------------------------------------------------------------
563
//----------------------------------------------------------------------------
563
 
564
 
564
void Console::print(const char* buffer)
565
void Console::print(const char* buffer)
565
{
566
{
566
    std::string tmp(buffer);
567
    std::string tmp(buffer);
567
 
568
 
568
    //parse into multiple lines
569
    //parse into multiple lines
569
    size_t curr = 0;
570
    size_t curr = 0;
570
    while (curr < tmp.length())
571
    while (curr < tmp.length())
571
    {
572
    {
572
        //TODO: handle '\t'
573
        //TODO: handle '\t'
573
        size_t end = tmp.find('\n', curr);
574
        size_t end = tmp.find('\n', curr);
574
 
575
 
575
        if (end == std::string::npos)
576
        if (end == std::string::npos)
576
        {
577
        {
577
            m_buffer.push_back(tmp.substr(curr, end));
578
            m_buffer.push_back(tmp.substr(curr, end));
578
            break;
579
            break;
579
        }
580
        }
580
 
581
 
581
        size_t len = end-curr;
582
        size_t len = end-curr;
582
        m_buffer.push_back(tmp.substr(curr, len));
583
        m_buffer.push_back(tmp.substr(curr, len));
583
        curr = end + 1;
584
        curr = end + 1;
584
    }
585
    }
585
}
586
}
586
 
587
 
587
void Console::printf(const char* format, ...)
588
void Console::printf(const char* format, ...)
588
{
589
{
589
    //format text
590
    //format text
590
    char buffer[1024];
591
    char buffer[1024];
591
    va_list args;
592
    va_list args;
592
    va_start(args, format);
593
    va_start(args, format);
593
    vsprintf(buffer, format, args);
594
    vsprintf(buffer, format, args);
594
    va_end(args);
595
    va_end(args);
595
 
596
 
596
    print(buffer);
597
    print(buffer);
597
}
598
}
598
 
599
 
599
void Console::newline()
600
void Console::newline()
600
{
601
{
601
    m_buffer.push_back("");
602
    m_buffer.push_back("");
602
}
603
}
603
 
604
 
604
//----------------------------------------------------------------------------
605
//----------------------------------------------------------------------------
605
 
606
 
606
Console::cmd_token Console::add_command(const std::string& name,
607
Console::cmd_token Console::add_command(const std::string& name,
607
                                        std::unique_ptr<command_base>&& ptr)
608
                                        std::unique_ptr<command_base>&& ptr)
608
{
609
{
609
    auto it = m_commands.insert(std::make_pair(name, std::move(ptr)));
610
    auto it = m_commands.insert(std::make_pair(name, std::move(ptr)));
610
    return it->second->get_id();
611
    return it->second->get_id();
611
}
612
}
612
 
613
 
613
void Console::remove_command(cmd_token id)
614
void Console::remove_command(cmd_token id)
614
{
615
{
615
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
616
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
616
    {
617
    {
617
        if (it->second->get_id() != id)
618
        if (it->second->get_id() != id)
618
            continue;
619
            continue;
619
 
620
 
620
        m_commands.erase(it);
621
        m_commands.erase(it);
621
        return;
622
        return;
622
    }
623
    }
623
 
624
 
624
    assert(false);
625
    assert(false);
625
}
626
}
626
 
627
 
627
//----------------------------------------------------------------------------
628
//----------------------------------------------------------------------------
628
 
629
 
629
const char* Console::get_name(cmd_token id) const
630
const char* Console::get_name(cmd_token id) const
630
{
631
{
631
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
632
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
632
    {
633
    {
633
        if (it->second->get_id() != id)
634
        if (it->second->get_id() != id)
634
            continue;
635
            continue;
635
 
636
 
636
        return it->first.c_str();
637
        return it->first.c_str();
637
    }
638
    }
638
 
639
 
639
    assert(false);
640
    assert(false);
640
    return NULL;
641
    return NULL;
641
}
642
}
642
 
643
 
643
const char* Console::get_help(cmd_token id) const
644
const char* Console::get_help(cmd_token id) const
644
{
645
{
645
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
646
    for (auto it=m_commands.begin(); it!=m_commands.end(); ++it)
646
    {
647
    {
647
        if (it->second->get_id() != id)
648
        if (it->second->get_id() != id)
648
            continue;
649
            continue;
649
 
650
 
650
        return it->second->get_help();
651
        return it->second->get_help();
651
    }
652
    }
652
 
653
 
653
    assert(false);
654
    assert(false);
654
    return NULL;
655
    return NULL;
655
}
656
}
656
 
657
 
657
//----------------------------------------------------------------------------
658
//----------------------------------------------------------------------------
658
 
659
 
659
void Console::clear()
660
void Console::clear()
660
{
661
{
661
    m_buffer.clear();
662
    m_buffer.clear();
662
}
663
}
663
 
664
 
664
void Console::history()
665
void Console::history()
665
{
666
{
666
    printf("Printing history:");
667
    printf("Printing history:");
667
    std::vector<std::string>::const_iterator it;
668
    std::vector<std::string>::const_iterator it;
668
    for (it=m_history.begin(); it!=m_history.end(); ++it)
669
    for (it=m_history.begin(); it!=m_history.end(); ++it)
669
        printf("  %s", it->c_str());
670
        printf("  %s", it->c_str());
670
}
671
}
671
 
672
 
672
void Console::help()
673
void Console::help()
673
{
674
{
674
    printf("Printing list of commands:");
675
    printf("Printing list of commands:");
675
 
676
 
676
    command_map_t::const_iterator it = m_commands.begin();
677
    command_map_t::const_iterator it = m_commands.begin();
677
    while (it != m_commands.end())
678
    while (it != m_commands.end())
678
    {
679
    {
679
        int n = 0;
680
        int n = 0;
680
        std::string prev = it->first;
681
        std::string prev = it->first;
681
        do
682
        do
682
        {
683
        {
683
            ++n;
684
            ++n;
684
            ++it;
685
            ++it;
685
        }
686
        }
686
        while (it!=m_commands.end() && it->first==prev);
687
        while (it!=m_commands.end() && it->first==prev);
687
 
688
 
688
        printf("  %s(%i)", prev.c_str(), n);
689
        printf("  %s(%i)", prev.c_str(), n);
689
    }
690
    }
690
}
691
}
691
 
692
 
692
void Console::help(const std::string& cmd)
693
void Console::help(const std::string& cmd)
693
{
694
{
694
    std::pair<command_map_t::const_iterator,command_map_t::const_iterator> rng;
695
    std::pair<command_map_t::const_iterator,command_map_t::const_iterator> rng;
695
    rng = m_commands.equal_range(cmd);
696
    rng = m_commands.equal_range(cmd);
696
 
697
 
697
    if (rng.first == rng.second)
698
    if (rng.first == rng.second)
698
    {
699
    {
699
        printf("Command '%s' not found.", cmd.c_str());
700
        printf("Command '%s' not found.", cmd.c_str());
700
        return;
701
        return;
701
    }
702
    }
702
 
703
 
703
    printf("Printing help for command(s) '%s':", cmd.c_str());
704
    printf("Printing help for command(s) '%s':", cmd.c_str());
704
 
705
 
705
    for (command_map_t::const_iterator it=rng.first; it!=rng.second; ++it)
706
    for (command_map_t::const_iterator it=rng.first; it!=rng.second; ++it)
706
    {
707
    {
707
        std::stringstream ss;
708
        std::stringstream ss;
-
 
709
        if (it->second->arity() != any_arity)
708
        for (size_t i=0; i<it->second->arity(); ++i)
710
            for (size_t i=0; i<it->second->arity(); ++i)
709
            ss << "arg" << i << " ";
711
                ss << "arg" << i << " ";
-
 
712
        else
-
 
713
            ss << "arg0, arg1, .., argN";
710
 
714
 
711
        printf("  %s %s: %s",
715
        printf("  %s %s: %s",
712
            it->first.c_str(), ss.str().c_str(),
716
            it->first.c_str(), ss.str().c_str(),
713
            it->second->get_help());
717
            it->second->get_help());
714
    }
718
    }
715
}
719
}
716
 
720
 
717
//----------------------------------------------------------------------------
721
//----------------------------------------------------------------------------
718
 
722
 
719
const unsigned char Console::g_png_data[] = {
723
const unsigned char Console::g_png_data[] = {
720
 
724
 
721
    0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D,
725
    0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D,
722
    0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
726
    0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
723
    0x08, 0x03, 0x00, 0x00, 0x00, 0x6B, 0xAC, 0x58, 0x54, 0x00, 0x00, 0x00,
727
    0x08, 0x03, 0x00, 0x00, 0x00, 0x6B, 0xAC, 0x58, 0x54, 0x00, 0x00, 0x00,
724
    0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xAE, 0xCE, 0x1C, 0xE9, 0x00, 0x00,
728
    0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xAE, 0xCE, 0x1C, 0xE9, 0x00, 0x00,
725
    0x00, 0x04, 0x67, 0x41, 0x4D, 0x41, 0x00, 0x00, 0xB1, 0x8F, 0x0B, 0xFC,
729
    0x00, 0x04, 0x67, 0x41, 0x4D, 0x41, 0x00, 0x00, 0xB1, 0x8F, 0x0B, 0xFC,
726
    0x61, 0x05, 0x00, 0x00, 0x03, 0x00, 0x50, 0x4C, 0x54, 0x45, 0x00, 0x00,
730
    0x61, 0x05, 0x00, 0x00, 0x03, 0x00, 0x50, 0x4C, 0x54, 0x45, 0x00, 0x00,
727
    0x00, 0x3A, 0x3A, 0x3A, 0x66, 0x66, 0x66, 0x90, 0x90, 0x90, 0xB6, 0xB6,
731
    0x00, 0x3A, 0x3A, 0x3A, 0x66, 0x66, 0x66, 0x90, 0x90, 0x90, 0xB6, 0xB6,
728
    0xB6, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
732
    0xB6, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
729
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
733
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
730
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
734
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
731
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
735
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
732
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
736
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
733
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
737
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
734
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
738
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
735
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
739
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
736
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
740
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
737
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
741
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
738
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
742
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
739
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
743
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
740
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
744
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
741
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
745
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
742
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
743
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
747
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
744
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
748
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
745
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
749
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
750
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
747
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
751
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
748
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
752
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
749
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
753
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
750
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
754
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
751
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
755
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
752
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
756
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
753
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
757
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
754
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
758
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
755
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
759
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
756
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
760
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
757
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
761
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
758
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
762
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
759
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
763
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
760
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
764
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
761
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
765
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
762
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
766
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
763
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
767
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
764
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
768
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
765
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
769
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
766
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
770
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
767
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
771
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
768
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
772
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
769
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
773
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
770
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
774
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
771
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
775
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
772
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
776
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
773
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
777
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
774
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
778
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
775
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
779
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
776
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
780
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
777
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
781
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
778
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
782
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
779
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
783
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
780
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
784
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
781
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
785
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
782
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
786
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
783
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
787
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
784
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
788
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
785
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
789
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
786
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
790
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
787
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
791
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
788
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
792
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
789
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
793
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
790
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x75,
794
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC5, 0x75,
791
    0x62, 0x5B, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
795
    0x62, 0x5B, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
792
    0x0E, 0xC3, 0x00, 0x00, 0x0E, 0xC3, 0x01, 0xC7, 0x6F, 0xA8, 0x64, 0x00,
796
    0x0E, 0xC3, 0x00, 0x00, 0x0E, 0xC3, 0x01, 0xC7, 0x6F, 0xA8, 0x64, 0x00,
793
    0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77,
797
    0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6F, 0x66, 0x74, 0x77,
794
    0x61, 0x72, 0x65, 0x00, 0x50, 0x61, 0x69, 0x6E, 0x74, 0x2E, 0x4E, 0x45,
798
    0x61, 0x72, 0x65, 0x00, 0x50, 0x61, 0x69, 0x6E, 0x74, 0x2E, 0x4E, 0x45,
795
    0x54, 0x20, 0x76, 0x33, 0x2E, 0x35, 0x2E, 0x38, 0x37, 0x3B, 0x80, 0x5D,
799
    0x54, 0x20, 0x76, 0x33, 0x2E, 0x35, 0x2E, 0x38, 0x37, 0x3B, 0x80, 0x5D,
796
    0x00, 0x00, 0x13, 0x3D, 0x49, 0x44, 0x41, 0x54, 0x78, 0x5E, 0xED, 0x5D,
800
    0x00, 0x00, 0x13, 0x3D, 0x49, 0x44, 0x41, 0x54, 0x78, 0x5E, 0xED, 0x5D,
797
    0xD9, 0x72, 0xDB, 0x30, 0x0C, 0xB4, 0x75, 0xFD, 0xFF, 0x27, 0x77, 0x41,
801
    0xD9, 0x72, 0xDB, 0x30, 0x0C, 0xB4, 0x75, 0xFD, 0xFF, 0x27, 0x77, 0x41,
798
    0x77, 0x6A, 0xEC, 0x42, 0x25, 0x82, 0x52, 0x8E, 0x93, 0x94, 0x99, 0xC9,
802
    0x77, 0x6A, 0xEC, 0x42, 0x25, 0x82, 0x52, 0x8E, 0x93, 0x94, 0x99, 0xC9,
799
    0x03, 0x2D, 0x89, 0xC7, 0x12, 0x24, 0x71, 0xF3, 0x76, 0x9B, 0x7F, 0x13,
803
    0x03, 0x2D, 0x89, 0xC7, 0x12, 0x24, 0x71, 0xF3, 0x76, 0x9B, 0x7F, 0x13,
800
    0x81, 0x89, 0xC0, 0x44, 0x60, 0x22, 0xA0, 0x08, 0x1C, 0xC7, 0x4E, 0x3F,
804
    0x81, 0x89, 0xC0, 0x44, 0x60, 0x22, 0xA0, 0x08, 0x1C, 0xC7, 0x4E, 0x3F,
801
    0x7D, 0x76, 0x39, 0x9B, 0x91, 0xAC, 0x3F, 0xD5, 0xF1, 0x84, 0xF6, 0xB6,
805
    0x7D, 0x76, 0x39, 0x9B, 0x91, 0xAC, 0x3F, 0xD5, 0xF1, 0x84, 0xF6, 0xB6,
802
    0xDB, 0x4A, 0xBF, 0x7D, 0x76, 0x39, 0x03, 0x20, 0xEB, 0x8F, 0x7E, 0x5F,
806
    0xDB, 0x4A, 0xBF, 0x7D, 0x76, 0x39, 0x03, 0x20, 0xEB, 0x8F, 0x7E, 0x5F,
803
    0x7D, 0xFF, 0x96, 0x7D, 0xF0, 0xEA, 0xE7, 0x13, 0x80, 0x04, 0x81, 0x6C,
807
    0x7D, 0xFF, 0x96, 0x7D, 0xF0, 0xEA, 0xE7, 0x13, 0x80, 0x04, 0x81, 0x6C,
804
    0x02, 0x26, 0x05, 0x08, 0x02, 0x55, 0xC0, 0xE6, 0x12, 0xC8, 0x10, 0x7B,
808
    0x02, 0x26, 0x05, 0x08, 0x02, 0x55, 0xC0, 0xE6, 0x12, 0xC8, 0x10, 0x7B,
805
    0xF5, 0xF3, 0xB9, 0x07, 0xBC, 0x7B, 0x0F, 0xC8, 0xCE, 0xD9, 0x57, 0x3F,
809
    0xF5, 0xF3, 0xB9, 0x07, 0xBC, 0x7B, 0x0F, 0xC8, 0xCE, 0xD9, 0x57, 0x3F,
806
    0xCF, 0x28, 0x20, 0x6B, 0x7F, 0x98, 0x0F, 0xC8, 0x3A, 0x30, 0x9F, 0x4F,
810
    0xCF, 0x28, 0x20, 0x6B, 0x7F, 0x98, 0x0F, 0xC8, 0x3A, 0x30, 0x9F, 0x4F,
807
    0x04, 0x26, 0x02, 0x13, 0x81, 0x89, 0xC0, 0x44, 0xE0, 0x07, 0x21, 0x90,
811
    0x04, 0x26, 0x02, 0x13, 0x81, 0x89, 0xC0, 0x44, 0xE0, 0x07, 0x21, 0x90,
808
    0x9D, 0xAB, 0x5F, 0xFD, 0xF9, 0xF0, 0x54, 0xBC, 0x9A, 0xB5, 0x7D, 0x75,
812
    0x9D, 0xAB, 0x5F, 0xFD, 0xF9, 0xF0, 0x54, 0xBC, 0x9A, 0xB5, 0x7D, 0x75,
809
    0xFD, 0x13, 0x80, 0x51, 0x04, 0x5E, 0x3D, 0x43, 0xAF, 0xAE, 0x7F, 0x74,
813
    0xFD, 0x13, 0x80, 0x51, 0x04, 0x5E, 0x3D, 0x43, 0xAF, 0xAE, 0x7F, 0x74,
810
    0xFC, 0x6F, 0x17, 0x7F, 0x47, 0x01, 0x9A, 0x00, 0x8C, 0x22, 0x30, 0x3A,
814
    0xFC, 0x6F, 0x17, 0x7F, 0x47, 0x01, 0x9A, 0x00, 0x8C, 0x22, 0x30, 0x3A,
811
    0x03, 0xEF, 0xFE, 0x7E, 0x74, 0xFC, 0x73, 0x09, 0x7C, 0xF5, 0x73, 0x3E,
815
    0x03, 0xEF, 0xFE, 0x7E, 0x74, 0xFC, 0x73, 0x09, 0x7C, 0xF5, 0x73, 0x3E,
812
    0xEB, 0xDF, 0x30, 0x05, 0xCC, 0x0A, 0x26, 0x02, 0x13, 0x81, 0x89, 0xC0,
816
    0xEB, 0xDF, 0x30, 0x05, 0xCC, 0x0A, 0x26, 0x02, 0x13, 0x81, 0x89, 0xC0,
813
    0x44, 0x60, 0x22, 0xF0, 0x44, 0x60, 0x65, 0xEB, 0xF8, 0xBE, 0x2D, 0xC7,
817
    0x44, 0x60, 0x22, 0xF0, 0x44, 0x60, 0x65, 0xEB, 0xF8, 0xBE, 0x2D, 0xC7,
814
    0xBD, 0x8B, 0xCF, 0xE6, 0x1F, 0xAF, 0x66, 0x5C, 0xDF, 0x9C, 0x7D, 0x79,
818
    0xBD, 0x8B, 0xCF, 0xE6, 0x1F, 0xAF, 0x66, 0x5C, 0xDF, 0x9C, 0x7D, 0x79,
815
    0x3D, 0x8E, 0x85, 0x3E, 0x5F, 0x8F, 0xA0, 0xB8, 0xF6, 0x3F, 0xAC, 0x6C,
819
    0x3D, 0x8E, 0x85, 0x3E, 0x5F, 0x8F, 0xA0, 0xB8, 0xF6, 0x3F, 0xAC, 0x6C,
816
    0x9B, 0xBE, 0xDD, 0xEE, 0xFA, 0xC3, 0xF0, 0x64, 0xAD, 0x5B, 0xB7, 0x0A,
820
    0x9B, 0xBE, 0xDD, 0xEE, 0xFA, 0xC3, 0xF0, 0x64, 0xAD, 0x5B, 0xB7, 0x0A,
817
    0x01, 0x60, 0xDB, 0xEE, 0x04, 0xC0, 0x7D, 0xBB, 0xED, 0x7E, 0x44, 0xDB,
821
    0x01, 0x60, 0xDB, 0xEE, 0x04, 0xC0, 0x7D, 0xBB, 0xED, 0x7E, 0x44, 0xDB,
818
    0x41, 0x23, 0x3C, 0x6E, 0xDB, 0xB2, 0xB8, 0x06, 0xEE, 0xC7, 0x6D, 0x61,
822
    0x41, 0x23, 0x3C, 0x6E, 0xDB, 0xB2, 0xB8, 0x06, 0xEE, 0xC7, 0x6D, 0x61,
819
    0x44, 0x17, 0x05, 0x80, 0xAA, 0xBB, 0xDD, 0x18, 0xAF, 0xFB, 0xB1, 0xAC,
823
    0x44, 0x17, 0x05, 0x80, 0xAA, 0xBB, 0xDD, 0x18, 0xAF, 0xFB, 0xB1, 0xAC,
820
    0xFB, 0xC5, 0x10, 0xEC, 0xFD, 0x09, 0xF5, 0xDD, 0x07, 0x52, 0xDB, 0x8A,
824
    0xFB, 0xC5, 0x10, 0xEC, 0xFD, 0x09, 0xF5, 0xDD, 0x07, 0x52, 0xDB, 0x8A,
821
    0x31, 0xB8, 0x3F, 0x3C, 0xF6, 0x15, 0x00, 0x2E, 0x7A, 0x6C, 0x00, 0xF8,
825
    0x31, 0xB8, 0x3F, 0x3C, 0xF6, 0x15, 0x00, 0x2E, 0x7A, 0x6C, 0x00, 0xF8,
822
    0x1F, 0xEE, 0xFB, 0x8D, 0xBF, 0x57, 0x3C, 0x6E, 0x3A, 0x1F, 0x82, 0xD7,
826
    0x1F, 0xEE, 0xFB, 0x8D, 0xBF, 0x57, 0x3C, 0x6E, 0x3A, 0x1F, 0x82, 0xD7,
823
    0x6D, 0x17, 0x02, 0x94, 0xFE, 0xD5, 0xE9, 0x41, 0x1B, 0xD0, 0x1A, 0xFA,
827
    0x6D, 0x17, 0x02, 0x94, 0xFE, 0xD5, 0xE9, 0x41, 0x1B, 0xD0, 0x1A, 0xFA,
824
    0x0D, 0xEC, 0x98, 0xF0, 0xE3, 0x78, 0x4E, 0xC9, 0xBA, 0x61, 0x88, 0xEE,
828
    0x0D, 0xEC, 0x98, 0xF0, 0xE3, 0x78, 0x4E, 0xC9, 0xBA, 0x61, 0x88, 0xEE,
825
    0x6F, 0x3B, 0x76, 0xBF, 0x00, 0x6C, 0x42, 0xB7, 0x3E, 0xC5, 0x85, 0x05,
829
    0x6F, 0x3B, 0x76, 0xBF, 0x00, 0x6C, 0x42, 0xB7, 0x3E, 0xC5, 0x85, 0x05,
826
    0x46, 0x14, 0x11, 0x29, 0x60, 0x18, 0x80, 0x8D, 0x97, 0x64, 0x40, 0x30,
830
    0x46, 0x14, 0x11, 0x29, 0x60, 0x18, 0x80, 0x8D, 0x97, 0x64, 0x40, 0x30,
827
    0x69, 0x00, 0x6B, 0x94, 0xA7, 0xFC, 0x90, 0xF1, 0x09, 0xC0, 0xAB, 0x3E,
831
    0x69, 0x00, 0x6B, 0x94, 0xA7, 0xFC, 0x90, 0xF1, 0x09, 0xC0, 0xAB, 0x3E,
828
    0x97, 0x06, 0xE3, 0x7C, 0x08, 0x49, 0xE8, 0x1E, 0x30, 0x0A, 0x00, 0x4F,
832
    0x97, 0x06, 0xE3, 0x7C, 0x08, 0x49, 0xE8, 0x1E, 0x30, 0x0A, 0x00, 0x4F,
829
    0xD8, 0x09, 0x01, 0x25, 0x0D, 0x6C, 0x8B, 0xD4, 0xB0, 0xC8, 0x2E, 0x77,
833
    0xD8, 0x09, 0x01, 0x25, 0x0D, 0x6C, 0x8B, 0xD4, 0xB0, 0xC8, 0x2E, 0x77,
830
    0x60, 0xDB, 0x7B, 0x2E, 0xB2, 0x75, 0xDF, 0x0E, 0x46, 0x4C, 0x01, 0x08,
834
    0x60, 0xDB, 0x7B, 0x2E, 0xB2, 0x75, 0xDF, 0x0E, 0x46, 0x4C, 0x01, 0x08,
831
    0xF4, 0xD1, 0x25, 0xD1, 0x07, 0x05, 0x76, 0x16, 0xB1, 0xED, 0x49, 0xDD,
835
    0xF4, 0xD1, 0x25, 0xD1, 0x07, 0x05, 0x76, 0x16, 0xB1, 0xED, 0x49, 0xDD,
832
    0x35, 0xCE, 0x04, 0x5A, 0x5D, 0x41, 0xF7, 0xD6, 0x3E, 0xB5, 0xB0, 0x2E,
836
    0x35, 0xCE, 0x04, 0x5A, 0x5D, 0x41, 0xF7, 0xD6, 0x3E, 0xB5, 0xB0, 0x2E,
833
    0xB4, 0xE8, 0xD7, 0x75, 0xBF, 0xBB, 0x9D, 0x1C, 0xAF, 0xEE, 0x3B, 0xEF,
837
    0xB4, 0xE8, 0xD7, 0x75, 0xBF, 0xBB, 0x9D, 0x1C, 0xAF, 0xEE, 0x3B, 0xEF,
834
    0x82, 0xDC, 0x66, 0xC4, 0x3B, 0x59, 0xA3, 0xA3, 0x14, 0x10, 0x0E, 0x21,
838
    0x82, 0xDC, 0x66, 0xC4, 0x3B, 0x59, 0xA3, 0xA3, 0x14, 0x10, 0x0E, 0x21,
835
    0xC5, 0x40, 0x4E, 0x01, 0x7D, 0xBC, 0xDF, 0x75, 0x97, 0xC4, 0x36, 0xFD,
839
    0xC5, 0x40, 0x4E, 0x01, 0x7D, 0xBC, 0xDF, 0x75, 0x97, 0xC4, 0x36, 0xFD,
836
    0x7C, 0x09, 0xE4, 0x41, 0x00, 0xD8, 0x82, 0x76, 0x5B, 0x46, 0x04, 0x3C,
840
    0x7C, 0x09, 0xE4, 0x41, 0x00, 0xD8, 0x82, 0x76, 0x5B, 0x46, 0x04, 0x3C,
837
    0x5D, 0x02, 0xD9, 0x1E, 0x05, 0x0A, 0xEB, 0x9F, 0xD2, 0xFC, 0x3C, 0x1C,
841
    0x5D, 0x02, 0xD9, 0x1E, 0x05, 0x0A, 0xEB, 0x9F, 0xD2, 0xFC, 0x3C, 0x1C,
838
    0xB3, 0xE1, 0xE3, 0x04, 0x80, 0xE3, 0x46, 0x55, 0x18, 0xC5, 0xF9, 0x16,
842
    0xB3, 0xE1, 0xE3, 0x04, 0x80, 0xE3, 0x46, 0x55, 0x18, 0xC5, 0xF9, 0x16,
839
    0x30, 0xE3, 0x58, 0x02, 0x0E, 0x10, 0xDB, 0x32, 0xBB, 0x08, 0xF4, 0x37,
843
    0x30, 0xE3, 0x58, 0x02, 0x0E, 0x10, 0xDB, 0x32, 0xBB, 0x08, 0xF4, 0x37,
840
    0xC1, 0x13, 0xC4, 0x64, 0xCD, 0xAC, 0xC2, 0x67, 0x84, 0x19, 0x63, 0x00,
844
    0xC1, 0x13, 0xC4, 0x64, 0xCD, 0xAC, 0xC2, 0x67, 0x84, 0x19, 0x63, 0x00,
841
    0x12, 0xA6, 0xA6, 0xBA, 0x24, 0xF0, 0x7E, 0x8F, 0xBE, 0x3F, 0x52, 0x5D,
845
    0x12, 0xA6, 0xA6, 0xBA, 0x24, 0xF0, 0x7E, 0x8F, 0xBE, 0x3F, 0x52, 0x5D,
842
    0x76, 0x0C, 0x66, 0x75, 0x04, 0xBE, 0xA2, 0xCF, 0xE5, 0xF4, 0x8F, 0xA4,
846
    0x76, 0x0C, 0x66, 0x75, 0x04, 0xBE, 0xA2, 0xCF, 0xE5, 0xF4, 0x8F, 0xA4,
843
    0xAC, 0xB1, 0xB3, 0xE7, 0xA3, 0x00, 0x30, 0x5F, 0xA5, 0x8C, 0x50, 0xDA,
847
    0xAC, 0xB1, 0xB3, 0xE7, 0xA3, 0x00, 0x30, 0x5F, 0xA5, 0x8C, 0x50, 0xDA,
844
    0x23, 0x65, 0x13, 0xD2, 0x0F, 0xBE, 0xE0, 0x0B, 0x44, 0xA3, 0xD9, 0x29,
848
    0x23, 0x65, 0x13, 0xD2, 0x0F, 0xBE, 0xE0, 0x0B, 0x44, 0xA3, 0xD9, 0x29,
845
    0xFD, 0x05, 0xFB, 0x3F, 0xBB, 0x34, 0x11, 0x98, 0x08, 0x4C, 0x04, 0xBE,
849
    0xFD, 0x05, 0xFB, 0x3F, 0xBB, 0x34, 0x11, 0x98, 0x08, 0x4C, 0x04, 0xBE,
846
    0x0F, 0x02, 0xE0, 0xDC, 0xB9, 0xB3, 0x60, 0x5B, 0xE8, 0x20, 0x03, 0xB3,
850
    0x0F, 0x02, 0xE0, 0xDC, 0xB9, 0xB3, 0x60, 0x5B, 0xE8, 0x20, 0x03, 0xB3,
847
    0x4B, 0x2F, 0xE8, 0x73, 0x30, 0x36, 0x72, 0xF0, 0xED, 0x24, 0xFE, 0x1A,
851
    0x4B, 0x2F, 0xE8, 0x73, 0x30, 0x36, 0x72, 0xF0, 0xED, 0x24, 0xFE, 0x1A,
848
    0x63, 0x44, 0xE2, 0x16, 0x58, 0x25, 0x27, 0xCF, 0x37, 0xC6, 0xC9, 0x7F,
852
    0x63, 0x44, 0xE2, 0x16, 0x58, 0x25, 0x27, 0xCF, 0x37, 0xC6, 0xC9, 0x7F,
849
    0x20, 0xFA, 0x84, 0x1B, 0xCA, 0xD7, 0x1F, 0xD5, 0x32, 0x22, 0x5F, 0x34,
853
    0x20, 0xFA, 0x84, 0x1B, 0xCA, 0xD7, 0x1F, 0xD5, 0x32, 0x22, 0x5F, 0x34,
850
    0x36, 0xC2, 0xB3, 0x22, 0xCB, 0xCE, 0xE2, 0x3B, 0xF4, 0x1F, 0x37, 0x55,
854
    0x36, 0xC2, 0xB3, 0x22, 0xCB, 0xCE, 0xE2, 0x3B, 0xF4, 0x1F, 0x37, 0x55,
851
    0x48, 0x70, 0x79, 0x23, 0x5E, 0x54, 0x84, 0xFF, 0xF8, 0x31, 0x1A, 0xF7,
855
    0x48, 0x70, 0x79, 0x23, 0x5E, 0x54, 0x84, 0xFF, 0xF8, 0x31, 0x1A, 0xF7,
852
    0xDC, 0xAF, 0xF1, 0xD5, 0xBE, 0x6C, 0x7D, 0xA9, 0x8A, 0x2B, 0xA2, 0x51,
856
    0xDC, 0xAF, 0xF1, 0xD5, 0xBE, 0x6C, 0x7D, 0xA9, 0x8A, 0x2B, 0xA2, 0x51,
853
    0xE1, 0x09, 0x3E, 0xD1, 0x7E, 0x50, 0xFF, 0xAD, 0x31, 0x9A, 0x42, 0xD5,
857
    0xE1, 0x09, 0x3E, 0xD1, 0x7E, 0x50, 0xFF, 0xAD, 0x31, 0x9A, 0x42, 0xD5,
854
    0x5F, 0xA0, 0x3A, 0x15, 0xE8, 0xA9, 0x41, 0x41, 0x4C, 0x01, 0x38, 0x93,
858
    0x5F, 0xA0, 0x3A, 0x15, 0xE8, 0xA9, 0x41, 0x41, 0x4C, 0x01, 0x38, 0x93,
855
    0x6C, 0xFC, 0xF7, 0xA6, 0x6E, 0xF2, 0x03, 0x36, 0x36, 0x80, 0xBF, 0x51,
859
    0x6C, 0xFC, 0xF7, 0xA6, 0x6E, 0xF2, 0x03, 0x36, 0x36, 0x80, 0xBF, 0x51,
856
    0x5E, 0x3F, 0xF0, 0xFE, 0x5D, 0x46, 0xFB, 0x4C, 0x12, 0xA1, 0xFE, 0xA3,
860
    0x5E, 0x3F, 0xF0, 0xFE, 0x5D, 0x46, 0xFB, 0x4C, 0x12, 0xA1, 0xFE, 0xA3,
857
    0x00, 0x5E, 0xDD, 0xCB, 0x8F, 0x61, 0x0E, 0x99, 0x55, 0xC3, 0x1A, 0x22,
861
    0x00, 0x5E, 0xDD, 0xCB, 0x8F, 0x61, 0x0E, 0x99, 0x55, 0xC3, 0x1A, 0x22,
858
    0x0D, 0xD5, 0x71, 0xA7, 0x0F, 0x4C, 0x5C, 0xF4, 0x4B, 0x04, 0xC2, 0xA1,
862
    0x0D, 0xD5, 0x71, 0xA7, 0x0F, 0x4C, 0x5C, 0xF4, 0x4B, 0x04, 0xC2, 0xA1,
859
    0x8A, 0xA7, 0x82, 0x09, 0xAF, 0x18, 0x03, 0x9B, 0xA5, 0xC7, 0x04, 0x00,
863
    0x8A, 0xA7, 0x82, 0x09, 0xAF, 0x18, 0x03, 0x9B, 0xA5, 0xC7, 0x04, 0x00,
860
    0xD1, 0x58, 0x62, 0xC5, 0xF2, 0x12, 0x43, 0x75, 0xBC, 0xA4, 0x76, 0x5E,
864
    0xD1, 0x58, 0x62, 0xC5, 0xF2, 0x12, 0x43, 0x75, 0xBC, 0xA4, 0x76, 0x5E,
861
    0xC2, 0xFB, 0x82, 0x15, 0xDB, 0x07, 0x20, 0x68, 0x74, 0xFC, 0x0F, 0x98,
865
    0xC2, 0xFB, 0x82, 0x15, 0xDB, 0x07, 0x20, 0x68, 0x74, 0xFC, 0x0F, 0x98,
862
    0xB1, 0x48, 0xF5, 0xAE, 0x45, 0x03, 0x57, 0x46, 0xAC, 0x1A, 0x1F, 0x96,
866
    0xB1, 0x48, 0xF5, 0xAE, 0x45, 0x03, 0x57, 0x46, 0xAC, 0x1A, 0x1F, 0x96,
863
    0x16, 0x81, 0x57, 0x22, 0x8E, 0x75, 0x16, 0xF4, 0xF9, 0x5E, 0xBC, 0xB1,
867
    0x16, 0x81, 0x57, 0x22, 0x8E, 0x75, 0x16, 0xF4, 0xF9, 0x5E, 0xBC, 0xB1,
864
    0xCE, 0x8A, 0x15, 0x42, 0x1B, 0x3A, 0x28, 0xAB, 0x5E, 0x76, 0x49, 0x01,
868
    0xCE, 0x8A, 0x15, 0x42, 0x1B, 0x3A, 0x28, 0xAB, 0x5E, 0x76, 0x49, 0x01,
865
    0x90, 0xD7, 0xF0, 0x6F, 0xFD, 0x00, 0x6B, 0x2D, 0xFD, 0x00, 0x9A, 0xE8,
869
    0x90, 0xD7, 0xF0, 0x6F, 0xFD, 0x00, 0x6B, 0x2D, 0xFD, 0x00, 0x9A, 0xE8,
866
    0x48, 0x35, 0xF2, 0xF0, 0x6C, 0xCD, 0xAB, 0x38, 0x93, 0x68, 0x6D, 0x79,
870
    0x48, 0x35, 0xF2, 0xF0, 0x6C, 0xCD, 0xAB, 0x38, 0x93, 0x68, 0x6D, 0x79,
867
    0x94, 0x36, 0x81, 0xEE, 0x2F, 0xA7, 0x00, 0x01, 0xC9, 0x66, 0x87, 0xA7,
871
    0x94, 0x36, 0x81, 0xEE, 0x2F, 0xA7, 0x00, 0x01, 0xC9, 0x66, 0x87, 0xA7,
868
    0x58, 0x26, 0x34, 0x8E, 0x5F, 0x37, 0xA9, 0x40, 0x01, 0x7E, 0x8D, 0xD8,
872
    0x58, 0x26, 0x34, 0x8E, 0x5F, 0x37, 0xA9, 0x40, 0x01, 0x7E, 0x8D, 0xD8,
869
    0x43, 0x1E, 0xB2, 0x74, 0x18, 0xED, 0xCB, 0x8C, 0xB3, 0x16, 0x1A, 0xC7,
873
    0x43, 0x1E, 0xB2, 0x74, 0x18, 0xED, 0xCB, 0x8C, 0xB3, 0x16, 0x1A, 0xC7,
870
    0x02, 0x77, 0xD9, 0xA6, 0x8C, 0xFE, 0x8A, 0x7B, 0x80, 0x6E, 0xE9, 0x72,
874
    0x02, 0x77, 0xD9, 0xA6, 0x8C, 0xFE, 0x8A, 0x7B, 0x80, 0x6E, 0xE9, 0x72,
871
    0xCC, 0x61, 0x89, 0xD3, 0x1A, 0x52, 0x44, 0xED, 0xB9, 0x68, 0xA9, 0xC3,
875
    0xCC, 0x61, 0x89, 0xD3, 0x1A, 0x52, 0x44, 0xED, 0xB9, 0x68, 0xA9, 0xC3,
872
    0x1E, 0x40, 0xCF, 0xAD, 0x02, 0x9A, 0xA2, 0x70, 0x88, 0xD2, 0x73, 0x23,
876
    0x1E, 0x40, 0xCF, 0xAD, 0x02, 0x9A, 0xA2, 0x70, 0x88, 0xD2, 0x73, 0x23,
873
    0x29, 0x1D, 0xB0, 0x9E, 0xDB, 0xAA, 0xD4, 0xAC, 0x9D, 0x02, 0x57, 0x2B,
877
    0x29, 0x1D, 0xB0, 0x9E, 0xDB, 0xAA, 0xD4, 0xAC, 0x9D, 0x02, 0x57, 0x2B,
874
    0xD9, 0x3F, 0x9D, 0x05, 0x12, 0x02, 0xF9, 0xF4, 0xF6, 0xDF, 0xDD, 0xE0,
878
    0xD9, 0x3F, 0x9D, 0x05, 0x12, 0x02, 0xF9, 0xF4, 0xF6, 0xDF, 0xDD, 0xE0,
875
    0x4F, 0x90, 0xFF, 0xDF, 0x8D, 0xE1, 0x6C, 0x7F, 0x22, 0x30, 0x11, 0x98,
879
    0x4F, 0x90, 0xFF, 0xDF, 0x8D, 0xE1, 0x6C, 0x7F, 0x22, 0x30, 0x11, 0x98,
876
    0x08, 0x38, 0x04, 0x02, 0xAF, 0xFE, 0x9F, 0xA1, 0x03, 0xBE, 0x80, 0x59,
880
    0x08, 0x38, 0x04, 0x02, 0xAF, 0xFE, 0x9F, 0xA1, 0x03, 0xBE, 0x80, 0x59,
877
    0x39, 0xE6, 0xB4, 0x1A, 0x63, 0xC4, 0x8C, 0x17, 0x49, 0x3B, 0x26, 0xCE,
881
    0x39, 0xE6, 0xB4, 0x1A, 0x63, 0xC4, 0x8C, 0x17, 0x49, 0x3B, 0x26, 0xCE,
878
    0x93, 0xB0, 0x61, 0xEF, 0xFB, 0x1F, 0xB4, 0xDC, 0x98, 0xE7, 0x67, 0x85,
882
    0x93, 0xB0, 0x61, 0xEF, 0xFB, 0x1F, 0xB4, 0xDC, 0x98, 0xE7, 0x67, 0x85,
879
    0x26, 0x09, 0xFA, 0xF6, 0x5B, 0x7B, 0xFA, 0xBD, 0x63, 0xFD, 0x4C, 0x7C,
883
    0x26, 0x09, 0xFA, 0xF6, 0x5B, 0x7B, 0xFA, 0xBD, 0x63, 0xFD, 0x4C, 0x7C,
880
    0x26, 0x17, 0x0B, 0x11, 0x77, 0x8D, 0xEF, 0xF7, 0xCF, 0x03, 0xAB, 0xAF,
884
    0x26, 0x17, 0x0B, 0x11, 0x77, 0x8D, 0xEF, 0xF7, 0xCF, 0x03, 0xAB, 0xAF,
881
    0x8C, 0x59, 0xB3, 0x73, 0xAD, 0x9E, 0xB7, 0xDA, 0xC9, 0xF2, 0x63, 0xCF,
885
    0x8C, 0x59, 0xB3, 0x73, 0xAD, 0x9E, 0xB7, 0xDA, 0xC9, 0xF2, 0x63, 0xCF,
882
    0x3D, 0xAB, 0x0C, 0x73, 0x35, 0xC1, 0xD1, 0xC4, 0x69, 0xEA, 0xB0, 0x10,
886
    0x3D, 0xAB, 0x0C, 0x73, 0x35, 0xC1, 0xD1, 0xC4, 0x69, 0xEA, 0xB0, 0x10,
883
    0x90, 0xF0, 0x75, 0x67, 0xDF, 0x07, 0x07, 0x04, 0xAD, 0x82, 0x01, 0x60,
887
    0x90, 0xF0, 0x75, 0x67, 0xDF, 0x07, 0x07, 0x04, 0xAD, 0x82, 0x01, 0x60,
884
    0xD1, 0x41, 0x00, 0xD8, 0x51, 0xDE, 0xDC, 0x6F, 0x9B, 0x4C, 0x70, 0xD3,
888
    0xD1, 0x41, 0x00, 0xD8, 0x51, 0xDE, 0xDC, 0x6F, 0x9B, 0x4C, 0x70, 0xD3,
885
    0x7F, 0x78, 0x66, 0x74, 0xBF, 0x63, 0x0E, 0x17, 0xC7, 0xBC, 0x2E, 0x2B,
889
    0x7F, 0x78, 0x66, 0x74, 0xBF, 0x63, 0x0E, 0x17, 0xC7, 0xBC, 0x2E, 0x2B,
886
    0x59, 0x7F, 0x1B, 0x00, 0xDE, 0xE3, 0x45, 0xD4, 0x35, 0x8F, 0x19, 0x74,
890
    0x59, 0x7F, 0x1B, 0x00, 0xDE, 0xE3, 0x45, 0xD4, 0x35, 0x8F, 0x19, 0x74,
887
    0x3D, 0x54, 0x4B, 0x9D, 0x32, 0xB6, 0xA7, 0xDF, 0xFB, 0x11, 0x47, 0xE3,
891
    0x3D, 0x54, 0x4B, 0x9D, 0x32, 0xB6, 0xA7, 0xDF, 0xFB, 0x11, 0x47, 0xE3,
888
    0xA7, 0xAF, 0x1E, 0x4F, 0x59, 0x16, 0x50, 0x00, 0xD0, 0x7F, 0xA8, 0x28,
892
    0xA7, 0xAF, 0x1E, 0x4F, 0x59, 0x16, 0x50, 0x00, 0xD0, 0x7F, 0xA8, 0x28,
889
    0xFE, 0x54, 0xB8, 0x61, 0xB4, 0x1E, 0xE0, 0xC6, 0x36, 0xFB, 0x1A, 0x76,
893
    0xFE, 0x54, 0xB8, 0x61, 0xB4, 0x1E, 0xE0, 0xC6, 0x36, 0xFB, 0x1A, 0x76,
890
    0xBC, 0xBD, 0x7B, 0x00, 0xE0, 0xF1, 0xE3, 0xEB, 0x34, 0x92, 0x24, 0xC0,
894
    0xBC, 0xBD, 0x7B, 0x00, 0xE0, 0xF1, 0xE3, 0xEB, 0x34, 0x92, 0x24, 0xC0,
891
    0x44, 0x10, 0x68, 0xE0, 0x10, 0x00, 0x22, 0x2C, 0x18, 0x49, 0xBB, 0x6F,
895
    0x44, 0x10, 0x68, 0xE0, 0x10, 0x00, 0x22, 0x2C, 0x18, 0x49, 0xBB, 0x6F,
892
    0xD0, 0x01, 0x6C, 0x3A, 0x6E, 0x09, 0x04, 0xF9, 0x3D, 0x03, 0x40, 0x2C,
896
    0xD0, 0x01, 0x6C, 0x3A, 0x6E, 0x09, 0x04, 0xF9, 0x3D, 0x03, 0x40, 0x2C,
893
    0x27, 0x0A, 0x80, 0xD1, 0x2B, 0x01, 0xB0, 0x2E, 0x1E, 0x80, 0xD6, 0x55,
897
    0x27, 0x0A, 0x80, 0xD1, 0x2B, 0x01, 0xB0, 0x2E, 0x1E, 0x80, 0xD6, 0x55,
894
    0x27, 0x3C, 0xDC, 0xB7, 0x75, 0x5D, 0x36, 0x07, 0x40, 0x93, 0xDE, 0x3C,
898
    0x27, 0x3C, 0xDC, 0xB7, 0x75, 0x5D, 0x36, 0x07, 0x40, 0x93, 0xDE, 0x3C,
895
    0x41, 0xD8, 0x9A, 0x73, 0x08, 0xA8, 0x28, 0x11, 0x01, 0xE8, 0x2F, 0x01,
899
    0x41, 0xD8, 0x9A, 0x73, 0x08, 0xA8, 0x28, 0x11, 0x01, 0xE8, 0x2F, 0x01,
896
    0x6B, 0xDB, 0x77, 0x48, 0xF7, 0x00, 0x08, 0xC7, 0x41, 0x25, 0x48, 0x14,
900
    0x6B, 0xDB, 0x77, 0x48, 0xF7, 0x00, 0x08, 0xC7, 0x41, 0x25, 0x48, 0x14,
897
    0xA0, 0xEA, 0x15, 0x01, 0x00, 0xB6, 0x5B, 0x01, 0x00, 0x70, 0x38, 0xC0,
901
    0xA0, 0xEA, 0x15, 0x01, 0x00, 0xB6, 0x5B, 0x01, 0x00, 0x70, 0x38, 0xC0,
898
    0x15, 0x80, 0x65, 0xC5, 0xE8, 0x57, 0x07, 0x40, 0x93, 0xFE, 0xDC, 0x80,
902
    0x15, 0x80, 0x65, 0xC5, 0xE8, 0x57, 0x07, 0x40, 0x93, 0xFE, 0xDC, 0x80,
899
    0xAD, 0x3B, 0x7E, 0x4D, 0xA8, 0x76, 0x24, 0x0C, 0x20, 0x5B, 0x02, 0xB2,
903
    0xAD, 0x3B, 0x7E, 0x4D, 0xA8, 0x76, 0x24, 0x0C, 0x20, 0x5B, 0x02, 0xB2,
900
    0xE9, 0x95, 0x01, 0x10, 0x9F, 0x2D, 0x22, 0x57, 0x23, 0x46, 0xC3, 0xDF,
904
    0xE9, 0x95, 0x01, 0x10, 0x9F, 0x2D, 0x22, 0x57, 0x23, 0x46, 0xC3, 0xDF,
901
    0x11, 0x09, 0xEA, 0xDF, 0xFC, 0xA6, 0xA8, 0x4B, 0xC0, 0x00, 0xD8, 0xF0,
905
    0x11, 0x09, 0xEA, 0xDF, 0xFC, 0xA6, 0xA8, 0x4B, 0xC0, 0x00, 0xD8, 0xF0,
902
    0xFF, 0x67, 0xDA, 0xDA, 0x0B, 0x0E, 0xD5, 0xB6, 0xEB, 0x92, 0xD7, 0x57,
906
    0xFF, 0x67, 0xDA, 0xDA, 0x0B, 0x0E, 0xD5, 0xB6, 0xEB, 0x92, 0xD7, 0x57,
903
    0xDC, 0x04, 0x79, 0xD7, 0xEE, 0x53, 0x80, 0x69, 0xB0, 0x2A, 0x14, 0x70,
907
    0xDC, 0x04, 0x79, 0xD7, 0xEE, 0x53, 0x80, 0x69, 0xB0, 0x2A, 0x14, 0x70,
904
    0x5F, 0x58, 0x5F, 0x82, 0xFE, 0x74, 0x37, 0xC1, 0x13, 0x00, 0xEE, 0x5E,
908
    0x5F, 0x58, 0x5F, 0x82, 0xFE, 0x74, 0x37, 0xC1, 0x13, 0x00, 0xEE, 0x5E,
905
    0xE7, 0x69, 0xD4, 0x4C, 0xFE, 0x0C, 0xF0, 0xE9, 0x82, 0x5F, 0xD3, 0x9F,
909
    0xE7, 0x69, 0xD4, 0x4C, 0xFE, 0x0C, 0xF0, 0xE9, 0x82, 0x5F, 0xD3, 0x9F,
906
    0x4E, 0x3F, 0xFA, 0xE6, 0xA6, 0x59, 0xF7, 0x00, 0x34, 0x1F, 0x8E, 0x41,
910
    0x4E, 0x3F, 0xFA, 0xE6, 0xA6, 0x59, 0xF7, 0x00, 0x34, 0x1F, 0x8E, 0x41,
907
    0xD6, 0x11, 0xEA, 0x31, 0x26, 0x80, 0xE8, 0xF7, 0xD9, 0x31, 0x88, 0x3D,
911
    0xD6, 0x11, 0xEA, 0x31, 0x26, 0x80, 0xE8, 0xF7, 0xD9, 0x31, 0x88, 0x3D,
908
    0xDA, 0x2B, 0x40, 0x1E, 0xC7, 0xA0, 0xFB, 0xA5, 0xF9, 0xCC, 0x68, 0xFF,
912
    0xDA, 0x2B, 0x40, 0x1E, 0xC7, 0xA0, 0xFB, 0xA5, 0xF9, 0xCC, 0x68, 0xFF,
909
    0x9F, 0x93, 0x64, 0x14, 0x46, 0x2A, 0x15, 0xD4, 0x47, 0x1A, 0x89, 0xD4,
913
    0x9F, 0x93, 0x64, 0x14, 0x46, 0x2A, 0x15, 0xD4, 0x47, 0x1A, 0x89, 0xD4,
910
    0x61, 0xE4, 0xA7, 0xB3, 0x45, 0x0D, 0xA1, 0x9F, 0x3E, 0xC8, 0xEE, 0xF8,
914
    0x61, 0xE4, 0xA7, 0xB3, 0x45, 0x0D, 0xA1, 0x9F, 0x3E, 0xC8, 0xEE, 0xF8,
911
    0x40, 0x42, 0xFF, 0x37, 0x00, 0xFF, 0xF5, 0xEC, 0xCF, 0xC1, 0x4F, 0x04,
915
    0x40, 0x42, 0xFF, 0x37, 0x00, 0xFF, 0xF5, 0xEC, 0xCF, 0xC1, 0x4F, 0x04,
912
    0x26, 0x02, 0xDF, 0x0E, 0x01, 0x31, 0x1C, 0x04, 0xAB, 0x0C, 0x5B, 0xE3,
916
    0x26, 0x02, 0xDF, 0x0E, 0x01, 0x31, 0x1C, 0x04, 0xAB, 0x0C, 0x5B, 0xE3,
913
    0xF3, 0xE1, 0x05, 0x79, 0x5F, 0xE4, 0xE5, 0xC0, 0x08, 0xD9, 0x73, 0xC7,
917
    0xF3, 0xE1, 0x05, 0x79, 0x5F, 0xE4, 0xE5, 0xC0, 0x08, 0xD9, 0x73, 0xC7,
914
    0x0C, 0xAA, 0xEF, 0xAE, 0xB0, 0xB6, 0xBF, 0x19, 0xAB, 0x27, 0xAB, 0xA4,
918
    0x0C, 0xAA, 0xEF, 0xAE, 0xB0, 0xB6, 0xBF, 0x19, 0xAB, 0x27, 0xAB, 0xA4,
915
    0x9C, 0x9A, 0x89, 0xD2, 0x4E, 0x44, 0x7E, 0x08, 0x96, 0x4E, 0xE0, 0x08,
919
    0x9C, 0x9A, 0x89, 0xD2, 0x4E, 0x44, 0x7E, 0x08, 0x96, 0x4E, 0xE0, 0x08,
916
    0xA6, 0x2E, 0xF5, 0x75, 0x8E, 0x5E, 0x65, 0xE2, 0x0B, 0xCA, 0x96, 0xC1,
920
    0xA6, 0x2E, 0xF5, 0x75, 0x8E, 0x5E, 0x65, 0xE2, 0x0B, 0xCA, 0x96, 0xC1,
917
    0x80, 0x48, 0xE3, 0xAC, 0x3C, 0xEF, 0x2F, 0xF2, 0xB2, 0x99, 0xCE, 0xBC,
921
    0x80, 0x48, 0xE3, 0xAC, 0x3C, 0xEF, 0x2F, 0xF2, 0xB2, 0x99, 0xCE, 0xBC,
918
    0x00, 0x14, 0x0D, 0x97, 0x2C, 0xBC, 0x28, 0x6F, 0xAF, 0xBC, 0x77, 0x1B,
922
    0x00, 0x14, 0x0D, 0x97, 0x2C, 0xBC, 0x28, 0x6F, 0xAF, 0xBC, 0x77, 0x1B,
919
    0xA0, 0xEF, 0x34, 0xD0, 0xD4, 0xFA, 0xB5, 0x0D, 0x1A, 0xA3, 0x02, 0x10,
923
    0xA0, 0xEF, 0x34, 0xD0, 0xD4, 0xFA, 0xB5, 0x0D, 0x1A, 0xA3, 0x02, 0x10,
920
    0x9D, 0xBF, 0x19, 0x00, 0x13, 0xF7, 0x7A, 0x74, 0xD0, 0x84, 0x1D, 0xC7,
924
    0x9D, 0xBF, 0x19, 0x00, 0x13, 0xF7, 0x7A, 0x74, 0xD0, 0x84, 0x1D, 0xC7,
921
    0x0E, 0xB6, 0xCE, 0x38, 0x56, 0xD3, 0x00, 0xF0, 0xB2, 0x40, 0x15, 0x80,
925
    0x0E, 0xB6, 0xCE, 0x38, 0x56, 0xD3, 0x00, 0xF0, 0xB2, 0x40, 0x15, 0x80,
922
    0x66, 0xFC, 0xF4, 0xD2, 0xA4, 0x02, 0xB0, 0x88, 0x31, 0xD8, 0xEC, 0xF5,
926
    0x66, 0xFC, 0xF4, 0xD2, 0xA4, 0x02, 0xB0, 0x88, 0x31, 0xD8, 0xEC, 0xF5,
923
    0x6C, 0xFC, 0x63, 0x84, 0xC3, 0x80, 0x83, 0x07, 0x04, 0x0F, 0x18, 0x8F,
927
    0x6C, 0xFC, 0x63, 0x84, 0xC3, 0x80, 0x83, 0x07, 0x04, 0x0F, 0x18, 0x8F,
924
    0xBB, 0xDC, 0x6E, 0x53, 0x78, 0xB8, 0x0E, 0x36, 0xF2, 0x76, 0xF2, 0xB2,
928
    0xBB, 0xDC, 0x6E, 0x53, 0x78, 0xB8, 0x0E, 0x36, 0xF2, 0x76, 0xF2, 0xB2,
925
    0x75, 0x9E, 0x94, 0x40, 0xBB, 0x9A, 0x06, 0xFB, 0x14, 0x60, 0xE0, 0x7A,
929
    0x75, 0x9E, 0x94, 0x40, 0xBB, 0x9A, 0x06, 0xFB, 0x14, 0x60, 0xE0, 0x7A,
926
    0x85, 0x4A, 0xF3, 0xB5, 0xA6, 0x28, 0x23, 0x31, 0xF5, 0x00, 0x10, 0x61,
930
    0x85, 0x4A, 0xF3, 0xB5, 0xA6, 0x28, 0x23, 0x31, 0xF5, 0x00, 0x10, 0x61,
927
    0xCC, 0xB8, 0xFF, 0x01, 0x80, 0x20, 0x3E, 0x13, 0x00, 0x56, 0x59, 0xD7,
931
    0xCC, 0xB8, 0xFF, 0x01, 0x80, 0x20, 0x3E, 0x13, 0x00, 0x56, 0x59, 0xD7,
928
    0xDC, 0xAE, 0x6B, 0x3C, 0x00, 0x10, 0x8D, 0xA1, 0x02, 0x41, 0x1F, 0x00,
932
    0xDC, 0xAE, 0x6B, 0x3C, 0x00, 0x10, 0x8D, 0xA1, 0x02, 0x41, 0x1F, 0x00,
929
    0x03, 0xD3, 0xCF, 0x28, 0x84, 0x4F, 0x8E, 0xB9, 0x81, 0x7E, 0x44, 0x0D,
933
    0x03, 0xD3, 0xCF, 0x28, 0x84, 0x4F, 0x8E, 0xB9, 0x81, 0x7E, 0x44, 0x0D,
930
    0xF6, 0x4C, 0xB1, 0xB2, 0xC8, 0x23, 0xC9, 0xAB, 0xB5, 0x38, 0xF7, 0x07,
934
    0xF6, 0x4C, 0xB1, 0xB2, 0xC8, 0x23, 0xC9, 0xAB, 0xB5, 0x38, 0xF7, 0x07,
931
    0xF7, 0x0D, 0x28, 0x7E, 0x27, 0x4B, 0x80, 0x1D, 0x48, 0xF0, 0x31, 0xCB,
935
    0xF7, 0x0D, 0x28, 0x7E, 0x27, 0x4B, 0x80, 0x1D, 0x48, 0xF0, 0x31, 0xCB,
932
    0xA3, 0x09, 0x00, 0x90, 0xB5, 0xBD, 0xF4, 0x05, 0x00, 0x16, 0xAF, 0xB2,
936
    0xA3, 0x09, 0x00, 0x90, 0xB5, 0xBD, 0xF4, 0x05, 0x00, 0x16, 0xAF, 0xB2,
933
    0xC2, 0xF4, 0x48, 0x18, 0x99, 0xF4, 0xC8, 0x9C, 0x94, 0xFC, 0x5F, 0xB6,
937
    0xC2, 0xF4, 0x48, 0x18, 0x99, 0xF4, 0xC8, 0x9C, 0x94, 0xFC, 0x5F, 0xB6,
934
    0xE6, 0x59, 0x9F, 0xF3, 0x81, 0x53, 0x40, 0xEA, 0xB7, 0xDE, 0xF8, 0x25,
938
    0xE6, 0x59, 0x9F, 0xF3, 0x81, 0x53, 0x40, 0xEA, 0xB7, 0xDE, 0xF8, 0x25,
935
    0xD1, 0x36, 0x41, 0x7D, 0x87, 0xE4, 0x49, 0xEE, 0x70, 0x93, 0xB7, 0xFD,
939
    0xD1, 0x36, 0x41, 0x7D, 0x87, 0xE4, 0x49, 0xEE, 0x70, 0x93, 0xB7, 0xFD,
936
    0xFB, 0xF7, 0x83, 0x7C, 0x9E, 0x36, 0xD3, 0x50, 0xF8, 0xF8, 0x02, 0x8B,
940
    0xFB, 0xF7, 0x83, 0x7C, 0x9E, 0x36, 0xD3, 0x50, 0xF8, 0xF8, 0x02, 0x8B,
937
    0xA8, 0xA0, 0x5D, 0x4A, 0x00, 0xD0, 0x25, 0x7E, 0x12, 0xF1, 0x22, 0x6B,
941
    0xA8, 0xA0, 0x5D, 0x4A, 0x00, 0xD0, 0x25, 0x7E, 0x12, 0xF1, 0x22, 0x6B,
938
    0x7C, 0x8C, 0x02, 0xCC, 0x4D, 0xCD, 0x8F, 0xCF, 0x00, 0xF0, 0x6E, 0x38,
942
    0x7C, 0x8C, 0x02, 0xCC, 0x4D, 0xCD, 0x8F, 0xCF, 0x00, 0xF0, 0x6E, 0x38,
939
    0x1A, 0x1F, 0x10, 0x54, 0x58, 0x38, 0x17, 0xD9, 0x03, 0x80, 0x5D, 0xB0,
943
    0x1A, 0x1F, 0x10, 0x54, 0x58, 0x38, 0x17, 0xD9, 0x03, 0x80, 0x5D, 0xB0,
940
    0x8C, 0x9C, 0xFC, 0x2F, 0xB6, 0xA3, 0xB0, 0x93, 0x87, 0x00, 0xAA, 0x3A,
944
    0x8C, 0x9C, 0xFC, 0x2F, 0xB6, 0xA3, 0xB0, 0x93, 0x87, 0x00, 0xAA, 0x3A,
941
    0xC3, 0x13, 0x00, 0xC4, 0xAB, 0xAC, 0x06, 0x40, 0xA4, 0x91, 0x2C, 0xAA,
945
    0xC3, 0x13, 0x00, 0xC4, 0xAB, 0xAC, 0x06, 0x40, 0xA4, 0x91, 0x2C, 0xAA,
942
    0x2C, 0xA7, 0xAA, 0x97, 0xBE, 0x71, 0x02, 0x80, 0x30, 0x43, 0xA3, 0x00,
946
    0x2C, 0xA7, 0xAA, 0x97, 0xBE, 0x71, 0x02, 0x80, 0x30, 0x43, 0xA3, 0x00,
943
    0x7C, 0x82, 0xAB, 0xE2, 0x08, 0x42, 0x69, 0xD0, 0x17, 0x47, 0xB4, 0x8C,
947
    0x7C, 0x82, 0xAB, 0xE2, 0x08, 0x42, 0x69, 0xD0, 0x17, 0x47, 0xB4, 0x8C,
944
    0x34, 0xF5, 0x35, 0xBF, 0x8D, 0x3E, 0x34, 0x72, 0x68, 0x04, 0x17, 0x1E,
948
    0x34, 0xF5, 0x35, 0xBF, 0x8D, 0x3E, 0x34, 0x72, 0x68, 0x04, 0x17, 0x1E,
945
    0xDA, 0xF3, 0xDB, 0x8A, 0x52, 0x5F, 0xD7, 0xAF, 0x39, 0xD2, 0xD9, 0xAB,
949
    0xDA, 0xF3, 0xDB, 0x8A, 0x52, 0x5F, 0xD7, 0xAF, 0x39, 0xD2, 0xD9, 0xAB,
946
    0x89, 0xC0, 0x44, 0xE0, 0x53, 0x10, 0x48, 0x36, 0x84, 0x8F, 0xC4, 0x69,
950
    0x89, 0xC0, 0x44, 0xE0, 0x53, 0x10, 0x48, 0x36, 0x84, 0x8F, 0xC4, 0x69,
947
    0xF6, 0x3D, 0x3B, 0x6D, 0xD7, 0xFA, 0x7B, 0x2C, 0x6B, 0xAC, 0x3F, 0xE4,
951
    0xF6, 0x3D, 0x3B, 0x6D, 0xD7, 0xFA, 0x7B, 0x2C, 0x6B, 0xAC, 0x3F, 0xE4,
948
    0x17, 0xA0, 0x1F, 0xA2, 0x57, 0xA6, 0xFA, 0x15, 0x96, 0x51, 0xEB, 0x07,
952
    0x17, 0xA0, 0x1F, 0xA2, 0x57, 0xA6, 0xFA, 0x15, 0x96, 0x51, 0xEB, 0x07,
949
    0x77, 0x8F, 0x03, 0xD0, 0x77, 0x7E, 0x1F, 0x06, 0xE0, 0xC4, 0xBB, 0xBD,
953
    0x77, 0x8F, 0x03, 0xD0, 0x77, 0x7E, 0x1F, 0x06, 0xE0, 0xC4, 0xBB, 0xBD,
950
    0x0C, 0x41, 0x26, 0x2E, 0x67, 0x15, 0xF6, 0x29, 0xA0, 0xEB, 0xC7, 0x79,
954
    0x0C, 0x41, 0x26, 0x2E, 0x67, 0x15, 0xF6, 0x29, 0xA0, 0xEB, 0xC7, 0x79,
951
    0x62, 0x0A, 0xED, 0xB7, 0x16, 0x7D, 0xD9, 0xE3, 0x2F, 0x59, 0x7F, 0xFB,
955
    0x62, 0x0A, 0xED, 0xB7, 0x16, 0x7D, 0xD9, 0xE3, 0x2F, 0x59, 0x7F, 0xFB,
952
    0xCF, 0xC5, 0x23, 0x04, 0xC2, 0x9B, 0x50, 0xB0, 0x98, 0xBE, 0x4C, 0x65,
956
    0xCF, 0xC5, 0x23, 0x04, 0xC2, 0x9B, 0x50, 0xB0, 0x98, 0xBE, 0x4C, 0x65,
953
    0xE3, 0x79, 0x7F, 0xD1, 0x28, 0x35, 0x8D, 0x91, 0x7F, 0xDE, 0x78, 0xE9,
957
    0xE3, 0x79, 0x7F, 0xD1, 0x28, 0x35, 0x8D, 0x91, 0x7F, 0xDE, 0x78, 0xE9,
954
    0xE7, 0x92, 0x08, 0xF5, 0x93, 0xFF, 0x88, 0xE9, 0x2A, 0xF8, 0x07, 0x1B,
958
    0xE7, 0x92, 0x08, 0xF5, 0x93, 0xFF, 0x88, 0xE9, 0x2A, 0xF8, 0x07, 0x1B,
955
    0x6E, 0x2F, 0xBE, 0x01, 0xA2, 0x15, 0x85, 0xEE, 0x2E, 0x9B, 0xB8, 0x00,
959
    0x6E, 0x2F, 0xBE, 0x01, 0xA2, 0x15, 0x85, 0xEE, 0x2E, 0x9B, 0xB8, 0x00,
956
    0xA9, 0x87, 0xC8, 0x19, 0x1A, 0x14, 0x41, 0x02, 0x61, 0x95, 0xE4, 0x69,
960
    0xA9, 0x87, 0xC8, 0x19, 0x1A, 0x14, 0x41, 0x02, 0x61, 0x95, 0xE4, 0x69,
957
    0x11, 0x5E, 0x43, 0xC4, 0x89, 0x28, 0x40, 0x48, 0xB9, 0x60, 0x92, 0xA4,
961
    0x11, 0x5E, 0x43, 0xC4, 0x89, 0x28, 0x40, 0x48, 0xB9, 0x60, 0x92, 0xA4,
958
    0x39, 0x67, 0x7B, 0xF3, 0x3B, 0xEA, 0xEB, 0x3A, 0x6B, 0xB3, 0xBE, 0xC6,
962
    0x39, 0x67, 0x7B, 0xF3, 0x3B, 0xEA, 0xEB, 0x3A, 0x6B, 0xB3, 0xBE, 0xC6,
959
    0x08, 0x5E, 0x14, 0x12, 0x4C, 0x01, 0x2D, 0xE5, 0x89, 0x37, 0xEE, 0x4A,
963
    0x08, 0x5E, 0x14, 0x12, 0x4C, 0x01, 0x2D, 0xE5, 0x89, 0x37, 0xEE, 0x4A,
960
    0xFD, 0x6A, 0x1C, 0x8D, 0xE3, 0x17, 0xA7, 0x1F, 0xD5, 0x18, 0xA9, 0xA4,
964
    0xFD, 0x6A, 0x1C, 0x8D, 0xE3, 0x17, 0xA7, 0x1F, 0xD5, 0x18, 0xA9, 0xA4,
961
    0x60, 0x83, 0x21, 0x8D, 0x51, 0x60, 0xB4, 0x78, 0x09, 0x04, 0x00, 0xC4,
965
    0x60, 0x83, 0x21, 0x8D, 0x51, 0x60, 0xB4, 0x78, 0x09, 0x04, 0x00, 0xC4,
962
    0xFA, 0x2C, 0xE3, 0xB5, 0xFE, 0xA9, 0x33, 0xB6, 0xF8, 0x4A, 0x0B, 0x00,
966
    0xFA, 0x2C, 0xE3, 0xB5, 0xFE, 0xA9, 0x33, 0xB6, 0xF8, 0x4A, 0x0B, 0x00,
963
    0x10, 0xB6, 0x7B, 0xD6, 0xED, 0x87, 0x8A, 0xAE, 0xB3, 0x08, 0x54, 0x05,
967
    0x10, 0xB6, 0x7B, 0xD6, 0xED, 0x87, 0x8A, 0xAE, 0xB3, 0x08, 0x54, 0x05,
964
    0x56, 0x05, 0x20, 0x6E, 0x79, 0x9A, 0x23, 0x45, 0xA4, 0xCD, 0x32, 0x00,
968
    0x56, 0x05, 0x20, 0x6E, 0x79, 0x9A, 0x23, 0x45, 0xA4, 0xCD, 0x32, 0x00,
965
    0x1A, 0x5D, 0x70, 0x31, 0x00, 0x46, 0x22, 0x7E, 0xCD, 0x66, 0x4E, 0x52,
969
    0x1A, 0x5D, 0x70, 0x31, 0x00, 0x46, 0x22, 0x7E, 0xCD, 0x66, 0x4E, 0x52,
966
    0xCD, 0x05, 0xC7, 0xAD, 0xF1, 0x18, 0xCB, 0xCD, 0x00, 0xA8, 0xA8, 0xA6,
970
    0xCD, 0x05, 0xC7, 0xAD, 0xF1, 0x18, 0xCB, 0xCD, 0x00, 0xA8, 0xA8, 0xA6,
967
    0xFE, 0x07, 0x39, 0x05, 0xB0, 0x93, 0x98, 0xBE, 0xBF, 0x27, 0x14, 0x90,
971
    0xFE, 0x07, 0x39, 0x05, 0xB0, 0x93, 0x98, 0xBE, 0xBF, 0x27, 0x14, 0x90,
968
    0x2F, 0x01, 0x53, 0x81, 0xD1, 0x80, 0x62, 0x58, 0x1D, 0x6D, 0x6A, 0xD8,
972
    0x2F, 0x01, 0x53, 0x81, 0xD1, 0x80, 0x62, 0x58, 0x1D, 0x6D, 0x6A, 0xD8,
969
    0x63, 0xE8, 0x28, 0xB3, 0x4D, 0x86, 0x14, 0x1C, 0x91, 0x02, 0x14, 0x60,
973
    0x63, 0xE8, 0x28, 0xB3, 0x4D, 0x86, 0x14, 0x1C, 0x91, 0x02, 0x14, 0x60,
970
    0x76, 0xC0, 0x90, 0x5D, 0x2F, 0xEE, 0x01, 0x10, 0x57, 0x9F, 0x9B, 0xE8,
974
    0x76, 0xC0, 0x90, 0x5D, 0x2F, 0xEE, 0x01, 0x10, 0x57, 0x9F, 0x9B, 0xE8,
971
    0x23, 0x64, 0xE5, 0x49, 0xD2, 0x19, 0x00, 0xAA, 0xEF, 0x18, 0x3B, 0x31,
975
    0x23, 0x64, 0xE5, 0x49, 0xD2, 0x19, 0x00, 0xAA, 0xEF, 0x18, 0x3B, 0x31,
972
    0xFE, 0xE1, 0xEB, 0xB6, 0xE1, 0xD5, 0x92, 0x18, 0x5C, 0x7D, 0xCE, 0xFD,
976
    0xFE, 0xE1, 0xEB, 0xB6, 0xE1, 0xD5, 0x92, 0x18, 0x5C, 0x7D, 0xCE, 0xFD,
973
    0x43, 0xAF, 0x2F, 0xFC, 0xC4, 0x00, 0xA8, 0xA5, 0x3C, 0x08, 0x51, 0x7B,
977
    0x43, 0xAF, 0x2F, 0xFC, 0xC4, 0x00, 0xA8, 0xA5, 0x3C, 0x08, 0x51, 0x7B,
974
    0x17, 0xF6, 0xE6, 0x0D, 0x55, 0x35, 0x92, 0xED, 0x67, 0x72, 0xA2, 0x5E,
978
    0x17, 0xF6, 0xE6, 0x0D, 0x55, 0x35, 0x92, 0xED, 0x67, 0x72, 0xA2, 0x5E,
975
    0x7D, 0xE4, 0xD8, 0x7E, 0xC3, 0x30, 0x66, 0x93, 0x13, 0x81, 0x89, 0xC0,
979
    0x7D, 0xE4, 0xD8, 0x7E, 0xC3, 0x30, 0x66, 0x93, 0x13, 0x81, 0x89, 0xC0,
976
    0x97, 0x41, 0xE0, 0x23, 0xF2, 0xEA, 0x97, 0xE9, 0xEC, 0x25, 0x1D, 0x91,
980
    0x97, 0x41, 0xE0, 0x23, 0xF2, 0xEA, 0x97, 0xE9, 0xEC, 0x25, 0x1D, 0x91,
977
    0xF0, 0x7C, 0x35, 0xA4, 0x24, 0x69, 0x85, 0x2E, 0xE9, 0x82, 0xAF, 0xE4,
981
    0xF0, 0x7C, 0x35, 0xA4, 0x24, 0x69, 0x85, 0x2E, 0xE9, 0x82, 0xAF, 0xE4,
978
    0xD3, 0x4F, 0xE9, 0x90, 0x77, 0x48, 0xEC, 0x56, 0x89, 0x5D, 0x03, 0xC7,
982
    0xD3, 0x4F, 0xE9, 0x90, 0x77, 0x48, 0xEC, 0x56, 0x89, 0x5D, 0x03, 0xC7,
979
    0x50, 0xE1, 0x10, 0xFA, 0x00, 0x5C, 0x9F, 0x0E, 0x80, 0x4A, 0x1B, 0x61,
983
    0x50, 0xE1, 0x10, 0xFA, 0x00, 0x5C, 0x9F, 0x0E, 0x80, 0x4A, 0x1B, 0x61,
980
    0x09, 0xF4, 0x7D, 0x3F, 0xEF, 0xCB, 0x42, 0x00, 0x9C, 0xCA, 0xCB, 0x1E,
984
    0x09, 0xF4, 0x7D, 0x3F, 0xEF, 0xCB, 0x42, 0x00, 0x9C, 0xCA, 0xCB, 0x1E,
981
    0x53, 0x13, 0xAF, 0x55, 0xDE, 0x57, 0x4F, 0x55, 0x71, 0xAE, 0xF6, 0x73,
985
    0x53, 0x13, 0xAF, 0x55, 0xDE, 0x57, 0x4F, 0x55, 0x71, 0xAE, 0xF6, 0x73,
982
    0x24, 0xC6, 0xD6, 0xE0, 0x31, 0x62, 0x6E, 0xAC, 0xDE, 0xF4, 0x66, 0xEF,
986
    0x24, 0xC6, 0xD6, 0xE0, 0x31, 0x62, 0x6E, 0xAC, 0xDE, 0xF4, 0x66, 0xEF,
983
    0xFB, 0xF8, 0x83, 0xC6, 0x37, 0xD0, 0x1C, 0x5F, 0x0D, 0x80, 0xC8, 0xFB,
987
    0xFB, 0xF8, 0x83, 0xC6, 0x37, 0xD0, 0x1C, 0x5F, 0x0D, 0x80, 0xC8, 0xFB,
984
    0x2A, 0xDF, 0x37, 0xE9, 0xDB, 0x63, 0xAA, 0xF8, 0x0A, 0x05, 0xA8, 0x70,
988
    0x2A, 0xDF, 0x37, 0xE9, 0xDB, 0x63, 0xAA, 0xF8, 0x0A, 0x05, 0xA8, 0x70,
985
    0xD3, 0x6C, 0x8B, 0x6E, 0x00, 0x87, 0xF9, 0x07, 0x78, 0xF1, 0x00, 0xAC,
989
    0xD3, 0x6C, 0x8B, 0x6E, 0x00, 0x87, 0xF9, 0x07, 0x78, 0xF1, 0x00, 0xAC,
986
    0x21, 0xB9, 0xC3, 0xAB, 0x71, 0x15, 0x44, 0xC8, 0xB6, 0x46, 0xF5, 0x89,
990
    0x21, 0xB9, 0xC3, 0xAB, 0x71, 0x15, 0x44, 0xC8, 0xB6, 0x46, 0xF5, 0x89,
987
    0x89, 0x14, 0xC0, 0xD9, 0x10, 0xCC, 0xDA, 0xEB, 0x24, 0xE8, 0x48, 0x01,
991
    0x89, 0x14, 0xC0, 0xD9, 0x10, 0xCC, 0xDA, 0xEB, 0x24, 0xE8, 0x48, 0x01,
988
    0xD1, 0x7F, 0x9F, 0x56, 0x99, 0x0E, 0x58, 0xCD, 0xF9, 0x09, 0x00, 0x36,
992
    0xD1, 0x7F, 0x9F, 0x56, 0x99, 0x0E, 0x58, 0xCD, 0xF9, 0x09, 0x00, 0x36,
989
    0x3A, 0x3F, 0x5E, 0x44, 0xA8, 0x90, 0xBC, 0x6E, 0xFA, 0x1D, 0x12, 0xF0,
993
    0x3A, 0x3F, 0x5E, 0x44, 0xA8, 0x90, 0xBC, 0x6E, 0xFA, 0x1D, 0x12, 0xF0,
990
    0xED, 0x7D, 0x5E, 0xA4, 0x6C, 0x8B, 0x0E, 0x7B, 0x5C, 0x3C, 0x05, 0x7C,
994
    0xED, 0x7D, 0x5E, 0xA4, 0x6C, 0x8B, 0x0E, 0x7B, 0x5C, 0x3C, 0x05, 0x7C,
991
    0x02, 0x06, 0x33, 0xC6, 0x53, 0x85, 0xC3, 0x00, 0x98, 0xF3, 0xB5, 0xEF,
995
    0x02, 0x06, 0x33, 0xC6, 0x53, 0x85, 0xC3, 0x00, 0x98, 0xF3, 0xB5, 0xEF,
992
    0x71, 0x06, 0xC0, 0xCA, 0x21, 0x38, 0xE6, 0x9D, 0x2F, 0xFE, 0xEE, 0x2A,
996
    0x71, 0x06, 0xC0, 0xCA, 0x21, 0x38, 0xE6, 0x9D, 0x2F, 0xFE, 0xEE, 0x2A,
993
    0x2F, 0xCB, 0x88, 0x74, 0xC6, 0x55, 0xC7, 0xD8, 0xA7, 0x00, 0x80, 0xC9,
997
    0x2F, 0xCB, 0x88, 0x74, 0xC6, 0x55, 0xC7, 0xD8, 0xA7, 0x00, 0x80, 0xC9,
994
    0x39, 0x2D, 0xCF, 0x00, 0xF0, 0x2A, 0x29, 0x95, 0xEF, 0xCF, 0xB4, 0x27,
998
    0x39, 0x2D, 0xCF, 0x00, 0xF0, 0x2A, 0x29, 0x95, 0xEF, 0xCF, 0xB4, 0x27,
995
    0xBC, 0x0F, 0xF3, 0xA6, 0x0A, 0xBC, 0x49, 0x3F, 0x80, 0x68, 0x0B, 0x71,
999
    0xBC, 0x0F, 0xF3, 0xA6, 0x0A, 0xBC, 0x49, 0x3F, 0x80, 0x68, 0x0B, 0x71,
996
    0x59, 0x59, 0x8D, 0x06, 0x9E, 0x7F, 0x96, 0xB4, 0x95, 0x66, 0x1C, 0x4A,
1000
    0x59, 0x59, 0x8D, 0x06, 0x9E, 0x7F, 0x96, 0xB4, 0x95, 0x66, 0x1C, 0x4A,
997
    0x2D, 0xBF, 0xF7, 0xFA, 0x70, 0x9E, 0xF6, 0xFB, 0xE8, 0x1E, 0x20, 0xA7,
1001
    0x2D, 0xBF, 0xF7, 0xFA, 0x70, 0x9E, 0xF6, 0xFB, 0xE8, 0x1E, 0x20, 0xA7,
998
    0x40, 0x70, 0x83, 0x53, 0xF9, 0x3E, 0x44, 0x7D, 0x89, 0xD6, 0xD2, 0xD2,
1002
    0x40, 0x70, 0x83, 0x53, 0xF9, 0x3E, 0x44, 0x7D, 0x89, 0xD6, 0xD2, 0xD2,
999
    0x07, 0x52, 0x50, 0x11, 0xEB, 0x13, 0xC4, 0x5B, 0xBF, 0x6D, 0x78, 0xDE,
1003
    0x07, 0x52, 0x50, 0x11, 0xEB, 0x13, 0xC4, 0x5B, 0xBF, 0x6D, 0x78, 0xDE,
1000
    0xE1, 0xE2, 0x11, 0xE6, 0xE6, 0x11, 0xE0, 0x84, 0x09, 0x6D, 0x13, 0xA4,
1004
    0xE1, 0xE2, 0x11, 0xE6, 0xE6, 0x11, 0xE0, 0x84, 0x09, 0x6D, 0x13, 0xA4,
1001
    0x45, 0x30, 0x08, 0x80, 0x1E, 0x6C, 0x67, 0x7C, 0x54, 0x29, 0x85, 0xC5,
1005
    0x45, 0x30, 0x08, 0x80, 0x1E, 0x6C, 0x67, 0x7C, 0x54, 0x29, 0x85, 0xC5,
1002
    0x07, 0x4E, 0xCA, 0xDA, 0x2B, 0x59, 0x12, 0x9D, 0x9F, 0x0E, 0x40, 0xAA,
1006
    0x07, 0x4E, 0xCA, 0xDA, 0x2B, 0x59, 0x12, 0x9D, 0x9F, 0x0E, 0x40, 0xAA,
1003
    0x2C, 0x18, 0x64, 0x84, 0xBE, 0x3A, 0x05, 0x7C, 0x80, 0x4F, 0x93, 0x63,
1007
    0x2C, 0x18, 0x64, 0x84, 0xBE, 0x3A, 0x05, 0x7C, 0x80, 0x4F, 0x93, 0x63,
1004
    0xE3, 0xDD, 0xAC, 0x70, 0x8D, 0xBE, 0xE7, 0xDB, 0x13, 0x81, 0x2A, 0x02,
1008
    0xE3, 0xDD, 0xAC, 0x70, 0x8D, 0xBE, 0xE7, 0xDB, 0x13, 0x81, 0x2A, 0x02,
1005
    0x1B, 0x52, 0x3D, 0x55, 0xBF, 0xF1, 0xEF, 0x8F, 0x7E, 0x3F, 0xD2, 0xF6,
1009
    0x1B, 0x52, 0x3D, 0x55, 0xBF, 0xF1, 0xEF, 0x8F, 0x7E, 0x3F, 0xD2, 0xF6,
1006
    0x35, 0xDF, 0x66, 0x79, 0x83, 0xB3, 0x56, 0x46, 0xBF, 0x8F, 0xF5, 0x53,
1010
    0x35, 0xDF, 0x66, 0x79, 0x83, 0xB3, 0x56, 0x46, 0xBF, 0x8F, 0xF5, 0x53,
1007
    0xEA, 0xEC, 0xAC, 0xF9, 0x18, 0x0A, 0xAB, 0x07, 0x2F, 0xFB, 0x03, 0x04,
1011
    0xEA, 0xEC, 0xAC, 0xF9, 0x18, 0x0A, 0xAB, 0x07, 0x2F, 0xFB, 0x03, 0x04,
1008
    0x57, 0xE4, 0xBC, 0x81, 0xD1, 0x37, 0x8C, 0xF3, 0x29, 0xD5, 0x51, 0x94,
1012
    0x57, 0xE4, 0xBC, 0x81, 0xD1, 0x37, 0x8C, 0xF3, 0x29, 0xD5, 0x51, 0x94,
1009
    0xA7, 0x75, 0xC0, 0xCA, 0xE9, 0x12, 0x89, 0xDB, 0xED, 0x05, 0xDC, 0x19,
1013
    0xA7, 0x75, 0xC0, 0xCA, 0xE9, 0x12, 0x89, 0xDB, 0xED, 0x05, 0xDC, 0x19,
1010
    0x89, 0x4F, 0x08, 0x3D, 0x0D, 0xE6, 0xE7, 0xF8, 0x79, 0xDF, 0x85, 0xC2,
1014
    0x89, 0x4F, 0x08, 0x3D, 0x0D, 0xE6, 0xE7, 0xF8, 0x79, 0xDF, 0x85, 0xC2,
1011
    0xD8, 0xB2, 0xAE, 0x43, 0x7D, 0x38, 0x38, 0xA5, 0x87, 0x7D, 0xF0, 0x34,
1015
    0xD8, 0xB2, 0xAE, 0x43, 0x7D, 0x38, 0x38, 0xA5, 0x87, 0x7D, 0xF0, 0x34,
1012
    0x21, 0x42, 0x48, 0x90, 0x20, 0x9F, 0x37, 0x0A, 0x70, 0x3A, 0x8D, 0x13,
1016
    0x21, 0x42, 0x48, 0x90, 0x20, 0x9F, 0x37, 0x0A, 0x70, 0x3A, 0x8D, 0x13,
1013
    0x4F, 0x6F, 0x62, 0x95, 0xC1, 0xC6, 0x67, 0x9C, 0x13, 0x09, 0x83, 0xA1,
1017
    0x4F, 0x6F, 0x62, 0x95, 0xC1, 0xC6, 0x67, 0x9C, 0x13, 0x09, 0x83, 0xA1,
1014
    0xB7, 0x41, 0xDC, 0x4E, 0x89, 0xA1, 0xAA, 0x83, 0x4B, 0x28, 0x20, 0xB6,
1018
    0xB7, 0x41, 0xDC, 0x4E, 0x89, 0xA1, 0xAA, 0x83, 0x4B, 0x28, 0x20, 0xB6,
1015
    0xB7, 0x7B, 0xF9, 0xFF, 0x24, 0x3E, 0x81, 0x23, 0x5F, 0x39, 0x1D, 0xE1,
1019
    0xB7, 0x7B, 0xF9, 0xFF, 0x24, 0x3E, 0x81, 0x23, 0x5F, 0x39, 0x1D, 0xE1,
1016
    0x59, 0xEF, 0xFB, 0x1D, 0xAE, 0x26, 0xA6, 0xD2, 0xE8, 0xF2, 0x14, 0xAF,
1020
    0x59, 0xEF, 0xFB, 0x1D, 0xAE, 0x26, 0xA6, 0xD2, 0xE8, 0xF2, 0x14, 0xAF,
1017
    0xE0, 0x03, 0x92, 0xF5, 0x47, 0x56, 0x98, 0x6E, 0x0A, 0x72, 0xE1, 0x87,
1021
    0xE0, 0x03, 0x92, 0xF5, 0x47, 0x56, 0x98, 0x6E, 0x0A, 0x72, 0xE1, 0x87,
1018
    0x49, 0xFB, 0x5D, 0xD7, 0xC8, 0xBE, 0x31, 0x1C, 0x4F, 0x55, 0xE1, 0x92,
1022
    0x49, 0xFB, 0x5D, 0xD7, 0xC8, 0xBE, 0x31, 0x1C, 0x4F, 0x55, 0xE1, 0x92,
1019
    0x8E, 0x28, 0xA5, 0x38, 0xA9, 0xA1, 0x44, 0x01, 0xA7, 0x09, 0x28, 0xC9,
1023
    0x8E, 0x28, 0xA5, 0x38, 0xA9, 0xA1, 0x44, 0x01, 0xA7, 0x09, 0x28, 0xC9,
1020
    0xD8, 0xCA, 0x09, 0x14, 0x35, 0x1E, 0xE3, 0xA4, 0xF7, 0x59, 0xAA, 0xEA,
1024
    0xD8, 0xCA, 0x09, 0x14, 0x35, 0x1E, 0xE3, 0xA4, 0xF7, 0x59, 0xAA, 0xEA,
1021
    0xBE, 0x0B, 0xCF, 0x49, 0x85, 0xD5, 0x0F, 0x18, 0x80, 0x6C, 0x0F, 0xC0,
1025
    0xBE, 0x0B, 0xCF, 0x49, 0x85, 0xD5, 0x0F, 0x18, 0x80, 0x6C, 0x0F, 0xC0,
1022
    0x2D, 0x35, 0x41, 0x6D, 0x29, 0xF1, 0x09, 0xB5, 0x25, 0xA0, 0xF1, 0x06,
1026
    0x2D, 0x35, 0x41, 0x6D, 0x29, 0xF1, 0x09, 0xB5, 0x25, 0xA0, 0xF1, 0x06,
1023
    0x61, 0x44, 0x69, 0xFA, 0x46, 0x3D, 0x47, 0x85, 0x44, 0xB1, 0x60, 0xBD,
1027
    0x61, 0x44, 0x69, 0xFA, 0x46, 0x3D, 0x47, 0x85, 0x44, 0xB1, 0x60, 0xBD,
1024
    0x7C, 0x0F, 0xE9, 0x1F, 0x23, 0xE8, 0xE9, 0x5D, 0xFB, 0x4B, 0x60, 0x87,
1028
    0x7C, 0x0F, 0xE9, 0x1F, 0x23, 0xE8, 0xE9, 0x5D, 0xFB, 0x4B, 0x60, 0x87,
1025
    0x2D, 0x74, 0x11, 0x1D, 0x80, 0xDE, 0x7B, 0x43, 0x97, 0xDC, 0x64, 0x9B,
1029
    0x2D, 0x74, 0x11, 0x1D, 0x80, 0xDE, 0x7B, 0x43, 0x97, 0xDC, 0x64, 0x9B,
1026
    0x60, 0x72, 0xA5, 0x0C, 0xF0, 0xD0, 0x80, 0x7A, 0x85, 0x48, 0xF2, 0xF7,
1030
    0x60, 0x72, 0xA5, 0x0C, 0xF0, 0xD0, 0x80, 0x7A, 0x85, 0x48, 0xF2, 0xF7,
1027
    0xAB, 0x16, 0x18, 0xA3, 0xF7, 0x33, 0x34, 0x0A, 0x80, 0x52, 0x40, 0x8C,
1031
    0xAB, 0x16, 0x18, 0xA3, 0xF7, 0x33, 0x34, 0x0A, 0x80, 0x52, 0x40, 0x8C,
1028
    0x4F, 0x08, 0xC7, 0x46, 0x77, 0x11, 0x9F, 0x64, 0x98, 0x4C, 0x17, 0xB9,
1032
    0x4F, 0x08, 0xC7, 0x46, 0x77, 0x11, 0x9F, 0x64, 0x98, 0x4C, 0x17, 0xB9,
1029
    0xAE, 0x61, 0xE6, 0x44, 0x43, 0x4C, 0x1B, 0x52, 0x3A, 0x94, 0x0E, 0xC6,
1033
    0xAE, 0x61, 0xE6, 0x44, 0x43, 0x4C, 0x1B, 0x52, 0x3A, 0x94, 0x0E, 0xC6,
1030
    0x6A, 0xFB, 0xEF, 0x7E, 0x9F, 0x83, 0xBA, 0xB0, 0x3E, 0x99, 0x6B, 0x82,
1034
    0x6A, 0xFB, 0xEF, 0x7E, 0x9F, 0x83, 0xBA, 0xB0, 0x3E, 0x99, 0x6B, 0x82,
1031
    0xB6, 0xE6, 0x7A, 0x5E, 0xF3, 0xDD, 0x63, 0x9E, 0xED, 0x4F, 0x04, 0x26,
1035
    0xB6, 0xE6, 0x7A, 0x5E, 0xF3, 0xDD, 0x63, 0x9E, 0xED, 0x4F, 0x04, 0x26,
1032
    0x02, 0x13, 0x81, 0x1F, 0x8B, 0xC0, 0x8E, 0xCC, 0x5A, 0x89, 0x79, 0x98,
1036
    0x02, 0x13, 0x81, 0x1F, 0x8B, 0xC0, 0x8E, 0xCC, 0x5A, 0x89, 0x79, 0x98,
1033
    0x2D, 0x3F, 0xBA, 0xC9, 0xC3, 0x49, 0x8F, 0xE2, 0xFC, 0x84, 0x11, 0x2A,
1037
    0x2D, 0x3F, 0xBA, 0xC9, 0xC3, 0x49, 0x8F, 0xE2, 0xFC, 0x84, 0x11, 0x2A,
1034
    0x03, 0xB7, 0x1D, 0x6B, 0xF7, 0x46, 0xC1, 0x51, 0x8D, 0x4E, 0xFD, 0x7B,
1038
    0x03, 0xB7, 0x1D, 0x6B, 0xF7, 0x46, 0xC1, 0x51, 0x8D, 0x4E, 0xFD, 0x7B,
1035
    0x8D, 0xB7, 0xE7, 0xB0, 0x46, 0x49, 0xCE, 0xD6, 0xC2, 0x4C, 0x87, 0x74,
1039
    0x8D, 0xB7, 0xE7, 0xB0, 0x46, 0x49, 0xCE, 0xD6, 0xC2, 0x4C, 0x87, 0x74,
1036
    0x56, 0x50, 0x00, 0xB8, 0x93, 0xD5, 0x2E, 0x2E, 0x83, 0x3B, 0xF4, 0xDF,
1040
    0x56, 0x50, 0x00, 0xB8, 0x93, 0xD5, 0x2E, 0x2E, 0x83, 0x3B, 0xF4, 0xDF,
1037
    0x0D, 0x25, 0x65, 0x80, 0x79, 0x02, 0x43, 0x7E, 0x82, 0x33, 0x5E, 0x5F,
1041
    0x0D, 0x25, 0x65, 0x80, 0x79, 0x02, 0x43, 0x7E, 0x82, 0x33, 0x5E, 0x5F,
1038
    0xD8, 0x1A, 0x1E, 0x1E, 0xC6, 0xCB, 0x2A, 0x1C, 0x08, 0xE4, 0x57, 0x32,
1042
    0xD8, 0x1A, 0x1E, 0x1E, 0xC6, 0xCB, 0x2A, 0x1C, 0x08, 0xE4, 0x57, 0x32,
1039
    0x42, 0xB8, 0xB9, 0x6C, 0xC3, 0xA4, 0x75, 0xC6, 0x39, 0xA4, 0x21, 0x6C,
1043
    0x42, 0xB8, 0xB9, 0x6C, 0xC3, 0xA4, 0x75, 0xC6, 0x39, 0xA4, 0x21, 0x6C,
1040
    0x9E, 0xEF, 0x09, 0xF7, 0x2F, 0xB9, 0xBB, 0x25, 0xBA, 0x1D, 0x66, 0x2C,
1044
    0x9E, 0xEF, 0x09, 0xF7, 0x2F, 0xB9, 0xBB, 0x25, 0xBA, 0x1D, 0x66, 0x2C,
1041
    0xCA, 0x89, 0x18, 0x19, 0xA1, 0x44, 0x38, 0x4D, 0xA6, 0x10, 0x89, 0xDD,
1045
    0xCA, 0x89, 0x18, 0x19, 0xA1, 0x44, 0x38, 0x4D, 0xA6, 0x10, 0x89, 0xDD,
1042
    0x40, 0x72, 0x3E, 0x81, 0xA1, 0xFA, 0x15, 0x72, 0xF7, 0x1B, 0xC9, 0x74,
1046
    0x40, 0x72, 0x3E, 0x81, 0xA1, 0xFA, 0x15, 0x72, 0xF7, 0x1B, 0xC9, 0x74,
1043
    0x38, 0xD1, 0xE0, 0x5F, 0x10, 0xF3, 0x13, 0xD4, 0x89, 0xAA, 0xFB, 0x45,
1047
    0x38, 0xD1, 0xE0, 0x5F, 0x10, 0xF3, 0x13, 0xD4, 0x89, 0xAA, 0xFB, 0x45,
1044
    0x7A, 0xDD, 0x5D, 0xB1, 0xBD, 0x38, 0xE1, 0x14, 0x6B, 0x8D, 0x9B, 0xDD,
1048
    0x7A, 0xDD, 0x5D, 0xB1, 0xBD, 0x38, 0xE1, 0x14, 0x6B, 0x8D, 0x9B, 0xDD,
1045
    0xEC, 0x92, 0xCB, 0x6E, 0xA5, 0x62, 0x5F, 0x7F, 0xB1, 0xE5, 0x4F, 0x00,
1049
    0xEC, 0x92, 0xCB, 0x6E, 0xA5, 0x62, 0x5F, 0x7F, 0xB1, 0xE5, 0x4F, 0x00,
1046
    0x10, 0x61, 0xE4, 0x91, 0xBB, 0xBD, 0x12, 0xB9, 0xA9, 0xFE, 0x08, 0x72,
1050
    0x10, 0x61, 0xE4, 0x91, 0xBB, 0xBD, 0x12, 0xB9, 0xA9, 0xFE, 0x08, 0x72,
1047
    0xFF, 0x02, 0xAE, 0x34, 0x55, 0xEF, 0x6C, 0x05, 0x43, 0xE8, 0xE3, 0xE5,
1051
    0xFF, 0x02, 0xAE, 0x34, 0x55, 0xEF, 0x6C, 0x05, 0x43, 0xE8, 0xE3, 0xE5,
1048
    0x9C, 0xFB, 0xD8, 0x12, 0x38, 0xD3, 0x68, 0xC4, 0x84, 0xFC, 0x7F, 0xDE,
1052
    0x9C, 0xFB, 0xD8, 0x12, 0x38, 0xD3, 0x68, 0xC4, 0x84, 0xFC, 0x7F, 0xDE,
1049
    0x82, 0x6C, 0x9A, 0xED, 0x40, 0xA9, 0x47, 0x49, 0x91, 0x24, 0xDF, 0xF0,
1053
    0x82, 0x6C, 0x9A, 0xED, 0x40, 0xA9, 0x47, 0x49, 0x91, 0x24, 0xDF, 0xF0,
1050
    0xBA, 0xF8, 0x23, 0x50, 0x0F, 0x0E, 0x2C, 0x81, 0xEE, 0xB1, 0x1E, 0xFC,
1054
    0xBA, 0xF8, 0x23, 0x50, 0x0F, 0x0E, 0x2C, 0x81, 0xEE, 0xB1, 0x1E, 0xFC,
1051
    0x0B, 0xAA, 0x3A, 0xCD, 0x37, 0x0C, 0xD8, 0x37, 0xA9, 0x41, 0x53, 0x51,
1055
    0x0B, 0xAA, 0x3A, 0xCD, 0x37, 0x0C, 0xD8, 0x37, 0xA9, 0x41, 0x53, 0x51,
1052
    0x5B, 0x01, 0xB5, 0x7A, 0x47, 0xAF, 0x1F, 0xFD, 0x0B, 0xBE, 0x19, 0x00,
1056
    0x5B, 0x01, 0xB5, 0x7A, 0x47, 0xAF, 0x1F, 0xFD, 0x0B, 0xBE, 0x19, 0x00,
1053
    0x6F, 0xC6, 0x7F, 0x36, 0x3F, 0x11, 0x98, 0x08, 0x4C, 0x04, 0x26, 0x02,
1057
    0x6F, 0xC6, 0x7F, 0x36, 0x3F, 0x11, 0x98, 0x08, 0x4C, 0x04, 0x26, 0x02,
1054
    0x83, 0x08, 0x7C, 0xFF, 0x63, 0x27, 0xB5, 0xAD, 0xF4, 0x11, 0x12, 0x00,
1058
    0x83, 0x08, 0x7C, 0xFF, 0x63, 0x27, 0xB5, 0xAD, 0xF4, 0x11, 0x12, 0x00,
1055
    0xFA, 0xE9, 0x04, 0x06, 0xC1, 0x3E, 0xF9, 0x5C, 0xAF, 0x0B, 0xFC, 0x87,
1059
    0xFA, 0xE9, 0x04, 0x06, 0xC1, 0x3E, 0xF9, 0x5C, 0xAF, 0x0B, 0xFC, 0x87,
1056
    0x16, 0x64, 0x04, 0x60, 0xBD, 0x9D, 0xEC, 0x11, 0xD2, 0xE7, 0x69, 0xB6,
1060
    0x16, 0x64, 0x04, 0x60, 0xBD, 0x9D, 0xEC, 0x11, 0xD2, 0xE7, 0x69, 0xB6,
1057
    0x79, 0x35, 0x8E, 0xAA, 0xA8, 0xBB, 0x23, 0x57, 0x36, 0x99, 0x7A, 0xC4,
1061
    0x79, 0x35, 0x8E, 0xAA, 0xA8, 0xBB, 0x23, 0x57, 0x36, 0x99, 0x7A, 0xC4,
1058
    0x11, 0x53, 0x9C, 0xD5, 0xAB, 0xFD, 0xB7, 0xCE, 0xD3, 0x00, 0x4C, 0x74,
1062
    0x11, 0x53, 0x9C, 0xD5, 0xAB, 0xFD, 0xB7, 0xCE, 0xD3, 0x00, 0x4C, 0x74,
1059
    0x28, 0x55, 0x62, 0x33, 0xE6, 0xFD, 0x07, 0x30, 0x62, 0x4F, 0x12, 0x8D,
1063
    0x28, 0x55, 0x62, 0x33, 0xE6, 0xFD, 0x07, 0x30, 0x62, 0x4F, 0x12, 0x8D,
1060
    0xD3, 0xF2, 0xCF, 0xC5, 0x39, 0x3A, 0x66, 0x9A, 0xEA, 0x3B, 0x23, 0x98,
1064
    0xD3, 0xF2, 0xCF, 0xC5, 0x39, 0x3A, 0x66, 0x9A, 0xEA, 0x3B, 0x23, 0x98,
1061
    0xDB, 0xAE, 0xE6, 0x90, 0xA8, 0x75, 0x98, 0x47, 0xB7, 0x21, 0xB1, 0x76,
1065
    0xDB, 0xAE, 0xE6, 0x90, 0xA8, 0x75, 0x98, 0x47, 0xB7, 0x21, 0xB1, 0x76,
1062
    0x9E, 0x7A, 0x88, 0xBE, 0x61, 0x79, 0x1B, 0xD3, 0xC3, 0xD2, 0x84, 0xCE,
1066
    0x9E, 0x7A, 0x88, 0xBE, 0x61, 0x79, 0x1B, 0xD3, 0xC3, 0xD2, 0x84, 0xCE,
1063
    0xA0, 0xE6, 0x02, 0x5B, 0x76, 0x11, 0x37, 0x83, 0x1F, 0x5F, 0x77, 0x3C,
1067
    0xA0, 0xE6, 0x02, 0x5B, 0x76, 0x11, 0x37, 0x83, 0x1F, 0x5F, 0x77, 0x3C,
1064
    0x07, 0x14, 0x44, 0x3E, 0xD7, 0xB9, 0x79, 0xE2, 0xD2, 0x07, 0x10, 0x7F,
1068
    0x07, 0x14, 0x44, 0x3E, 0xD7, 0xB9, 0x79, 0xE2, 0xD2, 0x07, 0x10, 0x7F,
1065
    0x2A, 0x31, 0x1A, 0x1B, 0x12, 0x2A, 0x66, 0xE2, 0x92, 0x10, 0x44, 0xB8,
1069
    0x2A, 0x31, 0x1A, 0x1B, 0x12, 0x2A, 0x66, 0xE2, 0x92, 0x10, 0x44, 0xB8,
1066
    0x0D, 0x8E, 0xCC, 0x8B, 0x9C, 0xCA, 0xFB, 0xE1, 0x6A, 0xCF, 0x01, 0xD1,
1070
    0x0D, 0x8E, 0xCC, 0x8B, 0x9C, 0xCA, 0xFB, 0xE1, 0x6A, 0xCF, 0x01, 0xD1,
1067
    0x7D, 0x71, 0x13, 0xE8, 0xC8, 0xFD, 0x70, 0xD4, 0xFC, 0xB2, 0xB7, 0x80,
1071
    0x7D, 0x71, 0x13, 0xE8, 0xC8, 0xFD, 0x70, 0xD4, 0xFC, 0xB2, 0xB7, 0x80,
1068
    0x03, 0x47, 0x25, 0x26, 0x5E, 0xFB, 0x57, 0xEC, 0x82, 0x82, 0x82, 0x4B,
1072
    0x03, 0x47, 0x25, 0x26, 0x5E, 0xFB, 0x57, 0xEC, 0x82, 0x82, 0x82, 0x4B,
1069
    0x4F, 0x58, 0x02, 0x25, 0xF2, 0xC7, 0xCB, 0x96, 0xAD, 0x9F, 0xBE, 0x39,
1073
    0x4F, 0x58, 0x02, 0x25, 0xF2, 0xC7, 0xCB, 0x96, 0xAD, 0x9F, 0xBE, 0x39,
1070
    0xA3, 0x00, 0xD7, 0xA1, 0xD4, 0xFC, 0x6D, 0x01, 0x14, 0x7F, 0xD7, 0xE0,
1074
    0xA3, 0x00, 0xD7, 0xA1, 0xD4, 0xFC, 0x6D, 0x01, 0x14, 0x7F, 0xD7, 0xE0,
1071
    0xFC, 0x06, 0xE0, 0xEF, 0xB9, 0xAE, 0x31, 0x20, 0xA2, 0xB0, 0x66, 0x3C,
1075
    0xFC, 0x06, 0xE0, 0xEF, 0xB9, 0xAE, 0x31, 0x20, 0xA2, 0xB0, 0x66, 0x3C,
1072
    0xD5, 0x0C, 0x15, 0x5E, 0x3C, 0xAC, 0x6F, 0x82, 0x4C, 0xB2, 0xD0, 0x22,
1076
    0xD5, 0x0C, 0x15, 0x5E, 0x3C, 0xAC, 0x6F, 0x82, 0x4C, 0xB2, 0xD0, 0x22,
1073
    0x76, 0x01, 0x08, 0x7B, 0x40, 0x96, 0x15, 0x04, 0xD1, 0x0C, 0x3D, 0x92,
1077
    0x76, 0x01, 0x08, 0x7B, 0x40, 0x96, 0x15, 0x04, 0xD1, 0x0C, 0x3D, 0x92,
1074
    0x84, 0x46, 0x94, 0x97, 0x80, 0x91, 0x1C, 0x5D, 0x81, 0x12, 0x29, 0xE0,
1078
    0x84, 0x46, 0x94, 0x97, 0x80, 0x91, 0x1C, 0x5D, 0x81, 0x12, 0x29, 0xE0,
1075
    0xE2, 0x83, 0x56, 0xAA, 0x53, 0x85, 0x8B, 0x50, 0x40, 0x7A, 0x4B, 0x4C,
1079
    0xE2, 0x83, 0x56, 0xAA, 0x53, 0x85, 0x8B, 0x50, 0x40, 0x7A, 0x4B, 0x4C,
1076
    0x00, 0xA4, 0xEF, 0x65, 0x97, 0x06, 0x57, 0xDB, 0x9A, 0x93, 0x5D, 0xE4,
1080
    0x00, 0xA4, 0xEF, 0x65, 0x97, 0x06, 0x57, 0xDB, 0x9A, 0x93, 0x5D, 0xE4,
1077
    0xB5, 0x00, 0xC8, 0x00, 0xDA, 0x1E, 0xD0, 0x35, 0x87, 0xE7, 0x2E, 0x31,
1081
    0xB5, 0x00, 0xC8, 0x00, 0xDA, 0x1E, 0xD0, 0x35, 0x87, 0xE7, 0x2E, 0x31,
1078
    0x5D, 0x0D, 0x86, 0xAE, 0xF9, 0xEA, 0x9A, 0x1D, 0x7F, 0x3F, 0x38, 0x32,
1082
    0x5D, 0x0D, 0x86, 0xAE, 0xF9, 0xEA, 0x9A, 0x1D, 0x7F, 0x3F, 0x38, 0x32,
1079
    0x96, 0x9C, 0xE8, 0x62, 0xFB, 0x71, 0x7E, 0x32, 0xCB, 0xCC, 0xF8, 0x18,
1083
    0x96, 0x9C, 0xE8, 0x62, 0xFB, 0x71, 0x7E, 0x32, 0xCB, 0xCC, 0xF8, 0x18,
1080
    0x86, 0x6A, 0x50, 0xAD, 0x39, 0x5D, 0x42, 0xF4, 0x0F, 0x35, 0x47, 0x1F,
1084
    0x86, 0x6A, 0x50, 0xAD, 0x39, 0x5D, 0x42, 0xF4, 0x0F, 0x35, 0x47, 0x1F,
1081
    0xA1, 0xC2, 0x26, 0xFE, 0x0F, 0xED, 0x0D, 0x7F, 0x92, 0x3A, 0x0D, 0x15,
1085
    0xA1, 0xC2, 0x26, 0xFE, 0x0F, 0xED, 0x0D, 0x7F, 0x92, 0x3A, 0x0D, 0x15,
1082
    0x5B, 0xB8, 0x78, 0x85, 0x16, 0x5B, 0x9F, 0xAF, 0x4F, 0x04, 0x26, 0x02,
1086
    0x5B, 0xB8, 0x78, 0x85, 0x16, 0x5B, 0x9F, 0xAF, 0x4F, 0x04, 0x26, 0x02,
1083
    0x13, 0x81, 0x44, 0x5C, 0x4F, 0x2E, 0x59, 0x51, 0x4F, 0x5C, 0xF0, 0x31,
1087
    0x13, 0x81, 0x44, 0x5C, 0x4F, 0x2E, 0x59, 0x51, 0x4F, 0x5C, 0xF0, 0x31,
1084
    0x72, 0x2E, 0x22, 0x1B, 0x78, 0xA7, 0x09, 0x13, 0x66, 0x4A, 0x6E, 0x74,
1088
    0x72, 0x2E, 0x22, 0x1B, 0x78, 0xA7, 0x09, 0x13, 0x66, 0x4A, 0x6E, 0x74,
1085
    0xB5, 0xB7, 0x9B, 0xE7, 0xAC, 0xF3, 0xDE, 0xD5, 0x72, 0x73, 0x76, 0xE8,
1089
    0xB5, 0xB7, 0x9B, 0xE7, 0xAC, 0xF3, 0xDE, 0xD5, 0x72, 0x73, 0x76, 0xE8,
1086
    0x7A, 0xF7, 0x46, 0xF1, 0x55, 0xBB, 0xAB, 0xE6, 0x7F, 0xE1, 0x64, 0xE5,
1090
    0x7A, 0xF7, 0x46, 0xF1, 0x55, 0xBB, 0xAB, 0xE6, 0x7F, 0xE1, 0x64, 0xE5,
1087
    0xF6, 0x73, 0x15, 0xAD, 0x80, 0x6F, 0x49, 0x1C, 0xDD, 0xE5, 0x14, 0x02,
1091
    0xF6, 0x73, 0x15, 0xAD, 0x80, 0x6F, 0x49, 0x1C, 0xDD, 0xE5, 0x14, 0x02,
1088
    0x27, 0xDA, 0xBB, 0x05, 0xC7, 0xAE, 0xD6, 0xF3, 0xE7, 0x8C, 0x96, 0x4D,
1092
    0x27, 0xDA, 0xBB, 0x05, 0xC7, 0xAE, 0xD6, 0xF3, 0xE7, 0x8C, 0x96, 0x4D,
1089
    0xB0, 0xEA, 0x9F, 0x43, 0x39, 0x00, 0xE1, 0xF6, 0xF6, 0x0A, 0x67, 0x04,
1093
    0xB0, 0xEA, 0x9F, 0x43, 0x39, 0x00, 0xE1, 0xF6, 0xF6, 0x0A, 0x67, 0x04,
1090
    0x02, 0xAA, 0x01, 0x40, 0x37, 0x9B, 0x01, 0x4D, 0x0C, 0xB0, 0xEB, 0xED,
1094
    0x02, 0xAA, 0x01, 0x40, 0x37, 0x9B, 0x01, 0x4D, 0x0C, 0xB0, 0xEB, 0xED,
1091
    0xAA, 0xE9, 0xF3, 0xA5, 0x6C, 0x7E, 0xAE, 0x7D, 0x7D, 0x82, 0x20, 0xDC,
1095
    0xAA, 0xE9, 0xF3, 0xA5, 0x6C, 0x7E, 0xAE, 0x7D, 0x7D, 0x82, 0x20, 0xDC,
1092
    0xA4, 0x2B, 0x62, 0xD5, 0x02, 0x81, 0x77, 0x7D, 0x6C, 0x9A, 0x34, 0xEB,
1096
    0xA4, 0x2B, 0x62, 0xD5, 0x02, 0x81, 0x77, 0x7D, 0x6C, 0x9A, 0x34, 0xEB,
1093
    0xA6, 0xCC, 0x14, 0x3A, 0x25, 0x0A, 0x50, 0x00, 0x24, 0x9A, 0xBC, 0x5D,
1097
    0xA6, 0xCC, 0x14, 0x3A, 0x25, 0x0A, 0x50, 0x00, 0x24, 0x9A, 0xBC, 0x5D,
1094
    0x9E, 0x46, 0xE2, 0x31, 0x04, 0xFE, 0x5E, 0x19, 0xFE, 0x16, 0xC2, 0x78,
1098
    0x9E, 0x46, 0xE2, 0x31, 0x04, 0xFE, 0x5E, 0x19, 0xFE, 0x16, 0xC2, 0x78,
1095
    0x25, 0x77, 0x95, 0xAB, 0xAC, 0x66, 0xCC, 0x3F, 0x7B, 0xAC, 0x74, 0x49,
1099
    0x25, 0x77, 0x95, 0xAB, 0xAC, 0x66, 0xCC, 0x3F, 0x7B, 0xAC, 0x74, 0x49,
1096
    0x52, 0x01, 0x80, 0x87, 0x8A, 0x00, 0x90, 0x98, 0xA7, 0xD5, 0xBF, 0x40,
1100
    0x52, 0x01, 0x80, 0x87, 0x8A, 0x00, 0x90, 0x98, 0xA7, 0xD5, 0xBF, 0x40,
1097
    0x97, 0x00, 0x3A, 0x13, 0xC2, 0xB5, 0x45, 0xA5, 0x40, 0x78, 0x1C, 0xE1,
1101
    0x97, 0x00, 0x3A, 0x13, 0xC2, 0xB5, 0x45, 0xA5, 0x40, 0x78, 0x1C, 0xE1,
1098
    0x8A, 0x8D, 0x22, 0x00, 0xC5, 0x43, 0x24, 0x00, 0x80, 0xEF, 0x99, 0x02,
1102
    0x8A, 0x8D, 0x22, 0x00, 0xC5, 0x43, 0x24, 0x00, 0x80, 0xEF, 0x99, 0x02,
1099
    0x06, 0xED, 0xF3, 0xA8, 0x8C, 0x37, 0xA1, 0x03, 0x12, 0xB9, 0xEF, 0x24,
1103
    0x06, 0xED, 0xF3, 0xA8, 0x8C, 0x37, 0xA1, 0x03, 0x12, 0xB9, 0xEF, 0x24,
1100
    0x3C, 0x46, 0x98, 0x82, 0xE5, 0x79, 0x3A, 0xA0, 0xA2, 0x02, 0x49, 0xEA,
1104
    0x3C, 0x46, 0x98, 0x82, 0xE5, 0x79, 0x3A, 0xA0, 0xA2, 0x02, 0x49, 0xEA,
1101
    0xCB, 0x01, 0x48, 0x3B, 0xC0, 0x2F, 0x28, 0x05, 0x2A, 0x05, 0xAC, 0x2B,
1105
    0xCB, 0x01, 0x48, 0x3B, 0xC0, 0x2F, 0x28, 0x05, 0x2A, 0x05, 0xAC, 0x2B,
1102
    0xDD, 0x27, 0xD8, 0xB4, 0x49, 0x9E, 0xE8, 0x71, 0x99, 0xA0, 0xE8, 0x18,
1106
    0xDD, 0x27, 0xD8, 0xB4, 0x49, 0x9E, 0xE8, 0x71, 0x99, 0xA0, 0xE8, 0x18,
1103
    0x73, 0x07, 0xFA, 0x62, 0x17, 0x95, 0x00, 0x39, 0x7F, 0x40, 0xA0, 0x80,
1107
    0x73, 0x07, 0xFA, 0x62, 0x17, 0x95, 0x00, 0x39, 0x7F, 0x40, 0xA0, 0x80,
1104
    0x91, 0xDA, 0xDB, 0x89, 0x46, 0x6B, 0x1E, 0x04, 0x41, 0x5A, 0x59, 0xA3,
1108
    0x91, 0xDA, 0xDB, 0x89, 0x46, 0x6B, 0x1E, 0x04, 0x41, 0x5A, 0x59, 0xA3,
1105
    0x36, 0xFF, 0x82, 0x3E, 0x37, 0x87, 0x92, 0xAE, 0x3F, 0xC1, 0xA8, 0x7F,
1109
    0x36, 0xFF, 0x82, 0x3E, 0x37, 0x87, 0x92, 0xAE, 0x3F, 0xC1, 0xA8, 0x7F,
1106
    0xBD, 0xE9, 0x4F, 0x94, 0x31, 0x18, 0xA3, 0xA9, 0x3E, 0x60, 0x36, 0x1A,
1110
    0xBD, 0xE9, 0x4F, 0x94, 0x31, 0x18, 0xA3, 0xA9, 0x3E, 0x60, 0x36, 0x1A,
1107
    0xB9, 0x52, 0x13, 0x5D, 0x70, 0xD7, 0xFA, 0xC8, 0x73, 0xBE, 0x30, 0x65,
1111
    0xB9, 0x52, 0x13, 0x5D, 0x70, 0xD7, 0xFA, 0xC8, 0x73, 0xBE, 0x30, 0x65,
1108
    0x6C, 0x32, 0x4E, 0xBF, 0x0E, 0x67, 0x2E, 0x2E, 0x54, 0x19, 0xCF, 0x5C,
1112
    0x6C, 0x32, 0x4E, 0xBF, 0x0E, 0x67, 0x2E, 0x2E, 0x54, 0x19, 0xCF, 0x5C,
1109
    0x7C, 0x61, 0x47, 0x5F, 0xAD, 0x8C, 0x08, 0x00, 0x60, 0x3E, 0xFA, 0x8C,
1113
    0x7C, 0x61, 0x47, 0x5F, 0xAD, 0x8C, 0x08, 0x00, 0x60, 0x3E, 0xFA, 0x8C,
1110
    0xE0, 0xF0, 0x7D, 0x08, 0x35, 0x74, 0x92, 0x7B, 0x97, 0x6A, 0x95, 0x9D,
1114
    0xE0, 0xF0, 0x7D, 0x08, 0x35, 0x74, 0x92, 0x7B, 0x97, 0x6A, 0x95, 0x9D,
1111
    0xBC, 0xFD, 0xF5, 0xA5, 0x7F, 0x4A, 0x3B, 0x3C, 0x3C, 0xDE, 0x59, 0xC1,
1115
    0xBC, 0xFD, 0xF5, 0xA5, 0x7F, 0x4A, 0x3B, 0x3C, 0x3C, 0xDE, 0x59, 0xC1,
1112
    0xF7, 0x47, 0xC0, 0x67, 0x1D, 0x7A, 0x8C, 0x46, 0xC2, 0xC4, 0xC4, 0x75,
1116
    0xF7, 0x47, 0xC0, 0x67, 0x1D, 0x7A, 0x8C, 0x46, 0xC2, 0xC4, 0xC4, 0x75,
1113
    0x36, 0xF3, 0xEE, 0x86, 0x69, 0xAB, 0x94, 0xAC, 0xAC, 0xDA, 0xBE, 0x22,
1117
    0x36, 0xF3, 0xEE, 0x86, 0x69, 0xAB, 0x94, 0xAC, 0xAC, 0xDA, 0xBE, 0x22,
1114
    0x3E, 0xFA, 0x3D, 0x5F, 0xAD, 0x6E, 0xB5, 0x8B, 0x74, 0xA7, 0xEE, 0xE6,
1118
    0x3E, 0xFA, 0x3D, 0x5F, 0xAD, 0x6E, 0xB5, 0x8B, 0x74, 0xA7, 0xEE, 0xE6,
1115
    0xEC, 0xDD, 0x6D, 0x99, 0xB3, 0x25, 0x98, 0xD5, 0xDF, 0x63, 0xFD, 0x11,
1119
    0xEC, 0xDD, 0x6D, 0x99, 0xB3, 0x25, 0x98, 0xD5, 0xDF, 0x63, 0xFD, 0x11,
1116
    0xFA, 0xD0, 0x33, 0x22, 0x69, 0x3F, 0xF8, 0xFB, 0x8F, 0x7E, 0xFF, 0x91,
1120
    0xFA, 0xD0, 0x33, 0x22, 0x69, 0x3F, 0xF8, 0xFB, 0x8F, 0x7E, 0xFF, 0x91,
1117
    0x3E, 0x96, 0xDE, 0x29, 0x52, 0x40, 0xA9, 0xEE, 0x97, 0xBC, 0x2C, 0x24,
1121
    0x3E, 0x96, 0xDE, 0x29, 0x52, 0x40, 0xA9, 0xEE, 0x97, 0xBC, 0x2C, 0x24,
1118
    0x4E, 0x69, 0x8B, 0xAD, 0xC1, 0xD1, 0xE7, 0x9A, 0x69, 0xD9, 0xA4, 0x4D,
1122
    0x4E, 0x69, 0x8B, 0xAD, 0xC1, 0xD1, 0xE7, 0x9A, 0x69, 0xD9, 0xA4, 0x4D,
1119
    0x37, 0x10, 0xB5, 0xED, 0x15, 0xCB, 0x59, 0x78, 0x7E, 0xF6, 0x1C, 0x3D,
1123
    0x37, 0x10, 0xB5, 0xED, 0x15, 0xCB, 0x59, 0x78, 0x7E, 0xF6, 0x1C, 0x3D,
1120
    0xE1, 0x54, 0x57, 0x2F, 0x28, 0xF3, 0x75, 0x81, 0x2A, 0x8B, 0xA9, 0xB0,
1124
    0xE1, 0x54, 0x57, 0x2F, 0x28, 0xF3, 0x75, 0x81, 0x2A, 0x8B, 0xA9, 0xB0,
1121
    0x5E, 0x2D, 0xA7, 0xD1, 0xE9, 0x99, 0xA5, 0x6A, 0xE1, 0x64, 0x67, 0xB7,
1125
    0x5E, 0x2D, 0xA7, 0xD1, 0xE9, 0x99, 0xA5, 0x6A, 0xE1, 0x64, 0x67, 0xB7,
1122
    0xCB, 0xCB, 0x2C, 0x8F, 0x07, 0x5F, 0xF5, 0xEA, 0x80, 0x83, 0x76, 0x23,
1126
    0xCB, 0xCB, 0x2C, 0x8F, 0x07, 0x5F, 0xF5, 0xEA, 0x80, 0x83, 0x76, 0x23,
1123
    0x1D, 0xA0, 0x66, 0x9C, 0x94, 0x32, 0x58, 0x55, 0x12, 0x8F, 0xAE, 0x2F,
1127
    0x1D, 0xA0, 0x66, 0x9C, 0x94, 0x32, 0x58, 0x55, 0x12, 0x8F, 0xAE, 0x2F,
1124
    0x43, 0xC2, 0x77, 0x97, 0xBB, 0xAB, 0x3A, 0x29, 0x78, 0x98, 0xA8, 0xC7,
1128
    0x43, 0xC2, 0x77, 0x97, 0xBB, 0xAB, 0x3A, 0x29, 0x78, 0x98, 0xA8, 0xC7,
1125
    0x49, 0x52, 0x1E, 0xA5, 0x00, 0x75, 0x70, 0xB8, 0xBC, 0x8C, 0xD0, 0x5A,
1129
    0x49, 0x52, 0x1E, 0xA5, 0x00, 0x75, 0x70, 0xB8, 0xBC, 0x8C, 0xD0, 0x5A,
1126
    0xB2, 0x6E, 0x07, 0x00, 0x64, 0x63, 0xAB, 0x52, 0xC4, 0x28, 0x00, 0x9A,
1130
    0xB2, 0x6E, 0x07, 0x00, 0x64, 0x63, 0xAB, 0x52, 0xC4, 0x28, 0x00, 0x9A,
1127
    0x11, 0xE2, 0x15, 0x65, 0x09, 0x77, 0xE7, 0x11, 0x57, 0x07, 0x7C, 0xF5,
1131
    0x11, 0xE2, 0x15, 0x65, 0x09, 0x77, 0xE7, 0x11, 0x57, 0x07, 0x7C, 0xF5,
1128
    0x12, 0x68, 0xE6, 0x7E, 0xB7, 0x06, 0xAE, 0x2E, 0x4B, 0x42, 0x4B, 0x7F,
1132
    0x12, 0x68, 0xE6, 0x7E, 0xB7, 0x06, 0xAE, 0x2E, 0x4B, 0x42, 0x4B, 0x7F,
1129
    0xC3, 0xEC, 0x03, 0x88, 0x37, 0x03, 0xF0, 0x3B, 0xC9, 0xE9, 0x9F, 0x7D,
1133
    0xC3, 0xEC, 0x03, 0x88, 0x37, 0x03, 0xF0, 0x3B, 0xC9, 0xE9, 0x9F, 0x7D,
1130
    0xE1, 0xEA, 0xB2, 0xED, 0x79, 0x6C, 0x59, 0xD0, 0x00, 0x80, 0xE2, 0xB1,
1134
    0xE1, 0xEA, 0xB2, 0xED, 0x79, 0x6C, 0x59, 0xD0, 0x00, 0x80, 0xE2, 0xB1,
1131
    0xA7, 0x39, 0x3F, 0xB2, 0x63, 0x2E, 0x7B, 0xFE, 0x12, 0xCE, 0xA2, 0x5F,
1135
    0xA7, 0x39, 0x3F, 0xB2, 0x63, 0x2E, 0x7B, 0xFE, 0x12, 0xCE, 0xA2, 0x5F,
1132
    0xE9, 0x2B, 0xD5, 0x23, 0x6F, 0x18, 0x4E, 0xBD, 0xC9, 0x4F, 0x96, 0xFF,
1136
    0xE9, 0x2B, 0xD5, 0x23, 0x6F, 0x18, 0x4E, 0xBD, 0xC9, 0x4F, 0x96, 0xFF,
1133
    0xEB, 0x1D, 0x9C, 0x5F, 0x4C, 0x04, 0xFE, 0x6F, 0x04, 0x54, 0xDE, 0xAF,
1137
    0xEB, 0x1D, 0x9C, 0x5F, 0x4C, 0x04, 0xFE, 0x6F, 0x04, 0x54, 0xDE, 0xAF,
1134
    0xCA, 0xDB, 0xA9, 0xBE, 0x20, 0x81, 0xB7, 0xDA, 0x5E, 0xAC, 0x4E, 0xF4,
1138
    0xCA, 0xDB, 0xA9, 0xBE, 0x20, 0x81, 0xB7, 0xDA, 0x5E, 0xAC, 0x4E, 0xF4,
1135
    0x19, 0xD5, 0xE9, 0x54, 0x79, 0x3F, 0xE8, 0x74, 0x07, 0xF5, 0x05, 0x69,
1139
    0x19, 0xD5, 0xE9, 0x54, 0x79, 0x3F, 0xE8, 0x74, 0x07, 0xF5, 0x05, 0x69,
1136
    0x7F, 0x46, 0xE5, 0xFB, 0xBE, 0xB5, 0x3A, 0x6D, 0xFE, 0x1D, 0x2F, 0xD0,
1140
    0x7F, 0x46, 0xE5, 0xFB, 0xBE, 0xB5, 0x3A, 0x6D, 0xFE, 0x1D, 0x2F, 0xD0,
1137
    0x55, 0xE4, 0xAF, 0xEE, 0x80, 0x3A, 0x5F, 0xAB, 0xFF, 0x82, 0x49, 0xFF,
1141
    0x55, 0xE4, 0xAF, 0xEE, 0x80, 0x3A, 0x5F, 0xAB, 0xFF, 0x82, 0x49, 0xFF,
1138
    0xE4, 0x8D, 0x7D, 0xF6, 0x81, 0xEF, 0x64, 0xF5, 0xB9, 0x0E, 0xD0, 0xBE,
1142
    0xE4, 0x8D, 0x7D, 0xF6, 0x81, 0xEF, 0x64, 0xF5, 0xB9, 0x0E, 0xD0, 0xBE,
1139
    0x77, 0x3A, 0x34, 0xF5, 0x3C, 0x2D, 0x96, 0x43, 0x7E, 0x00, 0x95, 0x15,
1143
    0x77, 0x3A, 0x34, 0xF5, 0x3C, 0x2D, 0x96, 0x43, 0x7E, 0x00, 0x95, 0x15,
1140
    0x43, 0xF2, 0xB1, 0xC6, 0xAA, 0x39, 0x01, 0x71, 0x43, 0x6C, 0xB6, 0x07,
1144
    0x43, 0xF2, 0xB1, 0xC6, 0xAA, 0x39, 0x01, 0x71, 0x43, 0x6C, 0xB6, 0x07,
1141
    0xA0, 0x65, 0x9B, 0xF7, 0xE9, 0xF3, 0x47, 0xCB, 0x12, 0xC0, 0x80, 0xFA,
1145
    0xA0, 0x65, 0x9B, 0xF7, 0xE9, 0xF3, 0x47, 0xCB, 0x12, 0xC0, 0x80, 0xFA,
1142
    0x29, 0xFC, 0xBD, 0x38, 0xE0, 0x66, 0x06, 0xF3, 0xFD, 0xD5, 0xFC, 0x00,
1146
    0x29, 0xFC, 0xBD, 0x38, 0xE0, 0x66, 0x06, 0xF3, 0xFD, 0xD5, 0xFC, 0x00,
1143
    0x8D, 0x13, 0x74, 0xA0, 0xDB, 0x78, 0xC9, 0xDB, 0xD7, 0x7E, 0xF0, 0x4A,
1147
    0x8D, 0x13, 0x74, 0xA0, 0xDB, 0x78, 0xC9, 0xDB, 0xD7, 0x7E, 0xF0, 0x4A,
1144
    0xBD, 0x4D, 0x52, 0x44, 0x3C, 0x6E, 0x67, 0x7B, 0x4E, 0xD1, 0x68, 0x19,
1148
    0xBD, 0x4D, 0x52, 0x44, 0x3C, 0x6E, 0x67, 0x7B, 0x4E, 0xD1, 0x68, 0x19,
1145
    0xE9, 0xFA, 0x49, 0x87, 0x08, 0xBC, 0x11, 0x32, 0xF2, 0xAC, 0x7F, 0x14,
1149
    0xE9, 0xFA, 0x49, 0x87, 0x08, 0xBC, 0x11, 0x32, 0xF2, 0xAC, 0x7F, 0x14,
1146
    0x00, 0xBD, 0xED, 0xBE, 0x19, 0x6B, 0xDD, 0x04, 0x62, 0xBC, 0xE4, 0x7B,
1150
    0x00, 0xBD, 0xED, 0xBE, 0x19, 0x6B, 0xDD, 0x04, 0x62, 0xBC, 0xE4, 0x7B,
1147
    0xFD, 0x08, 0x20, 0x71, 0x3F, 0x6D, 0xEB, 0x0A, 0x2D, 0xE7, 0x13, 0xB2,
1151
    0xFD, 0x08, 0x20, 0x71, 0x3F, 0x6D, 0xEB, 0x0A, 0x2D, 0xE7, 0x13, 0xB2,
1148
    0xD6, 0x37, 0x07, 0xD9, 0x68, 0xD9, 0x8C, 0x93, 0x5E, 0x3A, 0x44, 0x01,
1152
    0xD6, 0x37, 0x07, 0xD9, 0x68, 0xD9, 0x8C, 0x93, 0x5E, 0x3A, 0x44, 0x01,
1149
    0xE9, 0xEF, 0x9F, 0xBF, 0x0C, 0x03, 0x00, 0xC3, 0xA4, 0xD7, 0x78, 0x18,
1153
    0xE9, 0xEF, 0x9F, 0xBF, 0x0C, 0x03, 0x00, 0xC3, 0xA4, 0xD7, 0x78, 0x18,
1150
    0x00, 0x44, 0x21, 0xEA, 0xAE, 0xD1, 0xDE, 0xE6, 0x19, 0x40, 0x36, 0xB8,
1154
    0x00, 0x44, 0x21, 0xEA, 0xAE, 0xD1, 0xDE, 0xE6, 0x19, 0x40, 0x36, 0xB8,
1151
    0x17, 0x02, 0x20, 0x5A, 0xF7, 0xC3, 0x52, 0xC7, 0x5D, 0x09, 0x80, 0x24,
1155
    0x17, 0x02, 0x20, 0x5A, 0xF7, 0xC3, 0x52, 0xC7, 0x5D, 0x09, 0x80, 0x24,
1152
    0x7D, 0x31, 0x00, 0xBC, 0x35, 0x0C, 0xE3, 0x65, 0x07, 0x85, 0xC7, 0x12,
1156
    0x7D, 0x31, 0x00, 0xBC, 0x35, 0x0C, 0xE3, 0x65, 0x07, 0x85, 0xC7, 0x12,
1153
    0x78, 0x0E, 0xB8, 0x99, 0x9F, 0x5D, 0x79, 0x94, 0xE4, 0xF5, 0x7B, 0x78,
1157
    0x78, 0x0E, 0xB8, 0x99, 0x9F, 0x5D, 0x79, 0x94, 0xE4, 0xF5, 0x7B, 0x78,
1154
    0x37, 0x90, 0xB9, 0x1E, 0x01, 0x36, 0xE4, 0xF2, 0x31, 0x4C, 0x01, 0xA2,
1158
    0x37, 0x90, 0xB9, 0x1E, 0x01, 0x36, 0xE4, 0xF2, 0x31, 0x4C, 0x01, 0xA2,
1155
    0x20, 0xD1, 0xEC, 0xF9, 0x36, 0x5E, 0x72, 0xC3, 0x6A, 0x9B, 0x82, 0xDF,
1159
    0x20, 0xD1, 0xEC, 0xF9, 0x36, 0x5E, 0x72, 0xC3, 0x6A, 0x9B, 0x82, 0xDF,
1156
    0x04, 0xB1, 0x07, 0xFA, 0x3B, 0x3D, 0x75, 0x53, 0x19, 0x2D, 0xDB, 0xA6,
1160
    0x04, 0xB1, 0x07, 0xFA, 0x3B, 0x3D, 0x75, 0x53, 0x19, 0x2D, 0xDB, 0xA6,
1157
    0x4A, 0x33, 0x02, 0xD3, 0x29, 0xAD, 0x51, 0xB9, 0x62, 0xA3, 0xB5, 0xE7,
1161
    0x4A, 0x33, 0x02, 0xD3, 0x29, 0xAD, 0x51, 0xB9, 0x62, 0xA3, 0xB5, 0xE7,
1158
    0x7D, 0x8E, 0x92, 0xB2, 0x06, 0x69, 0x05, 0xDF, 0x77, 0x99, 0xF0, 0x16,
1162
    0x7D, 0x8E, 0x92, 0xB2, 0x06, 0x69, 0x05, 0xDF, 0x77, 0x99, 0xF0, 0x16,
1159
    0x93, 0x24, 0x41, 0x61, 0x4C, 0x23, 0x9A, 0x6E, 0x70, 0xB4, 0xAC, 0xC7,
1163
    0x93, 0x24, 0x41, 0x61, 0x4C, 0x23, 0x9A, 0x6E, 0x70, 0xB4, 0xAC, 0xC7,
1160
    0xA0, 0xD6, 0x07, 0x8F, 0x10, 0xB2, 0x26, 0x57, 0xCB, 0x4A, 0x01, 0xA2,
1164
    0xA0, 0xD6, 0x07, 0x8F, 0x10, 0xB2, 0x26, 0x57, 0xCB, 0x4A, 0x01, 0xA2,
1161
    0x02, 0x45, 0x40, 0xD6, 0xE5, 0x29, 0x2E, 0xC6, 0x58, 0x97, 0x4F, 0xE5,
1165
    0x02, 0x45, 0x40, 0xD6, 0xE5, 0x29, 0x2E, 0xC6, 0x58, 0x97, 0x4F, 0xE5,
1162
    0x82, 0xC6, 0xBA, 0x3A, 0xBF, 0x9E, 0x08, 0x4C, 0x04, 0x26, 0x02, 0x13,
1166
    0x82, 0xC6, 0xBA, 0x3A, 0xBF, 0x9E, 0x08, 0x4C, 0x04, 0x26, 0x02, 0x13,
1163
    0x81, 0x1C, 0x81, 0xEF, 0x66, 0x1E, 0x8F, 0x3E, 0x5C, 0xE2, 0xE6, 0x27,
1167
    0x81, 0x1C, 0x81, 0xEF, 0x66, 0x1E, 0x8F, 0x3E, 0x5C, 0xE2, 0xE6, 0x27,
1164
    0x7E, 0x96, 0x99, 0xC6, 0xE7, 0xDE, 0x4F, 0x0F, 0x18, 0x00, 0xAC, 0xB6,
1168
    0x7E, 0x96, 0x99, 0xC6, 0xE7, 0xDE, 0x4F, 0x0F, 0x18, 0x00, 0xAC, 0xB6,
1165
    0xAF, 0x15, 0x8C, 0x7E, 0x3F, 0xEE, 0x21, 0x22, 0xF1, 0xFF, 0x55, 0x17,
1169
    0xAF, 0x15, 0x8C, 0x7E, 0x3F, 0xEE, 0x21, 0x22, 0xF1, 0xFF, 0x55, 0x17,
1166
    0x99, 0xAA, 0xC6, 0x49, 0xF3, 0x0D, 0x0C, 0x7F, 0x9F, 0xD3, 0xF4, 0x0F,
1170
    0x99, 0xAA, 0xC6, 0x49, 0xF3, 0x0D, 0x0C, 0x7F, 0x9F, 0xD3, 0xF4, 0x0F,
1167
    0x7F, 0x43, 0x14, 0x06, 0xCD, 0xF4, 0xE4, 0x87, 0x3C, 0x58, 0x06, 0x27,
1171
    0x7F, 0x43, 0x14, 0x06, 0xCD, 0xF4, 0xE4, 0x87, 0x3C, 0x58, 0x06, 0x27,
1168
    0xBB, 0x31, 0x95, 0x4A, 0xB4, 0x77, 0x55, 0xA3, 0xA4, 0xEF, 0x4B, 0x77,
1172
    0xBB, 0x31, 0x95, 0x4A, 0xB4, 0x77, 0x55, 0xA3, 0xA4, 0xEF, 0x4B, 0x77,
1169
    0xAD, 0xFF, 0x34, 0x63, 0x59, 0xD9, 0x5E, 0x56, 0xA7, 0x85, 0x6B, 0xCB,
1173
    0xAD, 0xFF, 0x34, 0x63, 0x59, 0xD9, 0x5E, 0x56, 0xA7, 0x85, 0x6B, 0xCB,
1170
    0x30, 0x85, 0x79, 0x03, 0xB9, 0xE4, 0xFD, 0x6A, 0xF1, 0xFD, 0x5E, 0xE3,
1174
    0x30, 0x85, 0x79, 0x03, 0xB9, 0xE4, 0xFD, 0x6A, 0xF1, 0xFD, 0x5E, 0xE3,
1171
    0x54, 0x2C, 0xC7, 0xCB, 0xDA, 0x35, 0xBD, 0x42, 0x56, 0xB6, 0x00, 0x05,
1175
    0x54, 0x2C, 0xC7, 0xCB, 0xDA, 0x35, 0xBD, 0x42, 0x56, 0xB6, 0x00, 0x05,
1172
    0x8D, 0xBF, 0xBF, 0xB0, 0xFC, 0x88, 0x40, 0x79, 0x2A, 0x3C, 0xD4, 0x32,
1176
    0x8D, 0xBF, 0xBF, 0xB0, 0xFC, 0x88, 0x40, 0x79, 0x2A, 0x3C, 0xD4, 0x32,
1173
    0x38, 0x6A, 0x8E, 0x1F, 0x06, 0xC0, 0x3A, 0x44, 0xB7, 0xCD, 0x5F, 0x5B,
1177
    0x38, 0x6A, 0x8E, 0x1F, 0x06, 0xC0, 0x3A, 0x44, 0xB7, 0xCD, 0x5F, 0x5B,
1174
    0xB6, 0x7C, 0x7F, 0x24, 0x8F, 0x29, 0x00, 0x1A, 0xD0, 0x55, 0x2D, 0x0F,
1178
    0xB6, 0x7C, 0x7F, 0x24, 0x8F, 0x29, 0x00, 0x1A, 0xD0, 0x55, 0x2D, 0x0F,
1175
    0x03, 0x60, 0xF2, 0xB6, 0xDE, 0xE9, 0x71, 0x61, 0x19, 0xEE, 0xFA, 0x7A,
1179
    0x03, 0x60, 0xF2, 0xB6, 0xDE, 0xE9, 0x71, 0x61, 0x19, 0xEE, 0xFA, 0x7A,
1176
    0x7D, 0x1E, 0x47, 0xF0, 0x84, 0x90, 0x34, 0xCD, 0x0D, 0x90, 0x94, 0x87,
1180
    0x7D, 0x1E, 0x47, 0xF0, 0x84, 0x90, 0x34, 0xCD, 0x0D, 0x90, 0x94, 0x87,
1177
    0x01, 0x68, 0xE1, 0x06, 0x7E, 0x8E, 0x2E, 0x2E, 0x5B, 0x4A, 0x14, 0xD2,
1181
    0x01, 0x68, 0xE1, 0x06, 0x7E, 0x8E, 0x2E, 0x2E, 0x5B, 0x4A, 0x14, 0xD2,
1178
    0x7B, 0x9B, 0x8A, 0xC6, 0xB7, 0xA7, 0x0A, 0x89, 0x62, 0xB9, 0xB9, 0x1B,
1182
    0x7B, 0x9B, 0x8A, 0xC6, 0xB7, 0xA7, 0x0A, 0x89, 0x62, 0xB9, 0xB9, 0x1B,
1179
    0x38, 0x90, 0xAA, 0xE5, 0x37, 0x1C, 0x71, 0xD3, 0x3F, 0xA0, 0x12, 0x76,
1183
    0x38, 0x90, 0xAA, 0xE5, 0x37, 0x1C, 0x71, 0xD3, 0x3F, 0xA0, 0x12, 0x76,
1180
    0xF8, 0x86, 0x09, 0x9A, 0x4D, 0x4E, 0x04, 0x26, 0x02, 0x13, 0x81, 0xFF,
1184
    0xF8, 0x86, 0x09, 0x9A, 0x4D, 0x4E, 0x04, 0x26, 0x02, 0x13, 0x81, 0xFF,
1181
    0x0A, 0x01, 0x3B, 0x38, 0x39, 0x9D, 0x1D, 0x0B, 0xF4, 0x55, 0x79, 0x3B,
1185
    0x0A, 0x01, 0x3B, 0x38, 0x39, 0x9D, 0x1D, 0x0B, 0xF4, 0x55, 0x79, 0x3B,
1182
    0xD3, 0x17, 0x64, 0xE0, 0x56, 0xDB, 0x8B, 0xF5, 0x91, 0x3E, 0x23, 0x0F,
1186
    0xD3, 0x17, 0x64, 0xE0, 0x56, 0xDB, 0x8B, 0xF5, 0x91, 0x3E, 0x23, 0x0F,
1183
    0xE2, 0x82, 0xB8, 0x46, 0x21, 0x2E, 0x97, 0x7B, 0x88, 0xA8, 0xBE, 0x20,
1187
    0xE2, 0x82, 0xB8, 0x46, 0x21, 0x2E, 0x97, 0x7B, 0x88, 0xA8, 0xBE, 0x20,
1184
    0xF6, 0x98, 0x99, 0xBD, 0xAA, 0x87, 0x88, 0xD6, 0xCF, 0x1E, 0x22, 0x01,
1188
    0xF6, 0x98, 0x99, 0xBD, 0xAA, 0x87, 0x88, 0xD6, 0xCF, 0x1E, 0x22, 0x01,
1185
    0x80, 0xA0, 0x4F, 0x60, 0x4B, 0x55, 0x36, 0x3F, 0x17, 0x3C, 0x0F, 0x81,
1189
    0x80, 0xA0, 0x4F, 0x60, 0x4B, 0x55, 0x36, 0x3F, 0x17, 0x3C, 0x0F, 0x81,
1186
    0x7B, 0xF9, 0x24, 0x0D, 0xB4, 0x9A, 0x57, 0x2E, 0x37, 0x3A, 0x2E, 0x9B,
1190
    0x7B, 0xF9, 0x24, 0x0D, 0xB4, 0x9A, 0x57, 0x2E, 0x37, 0x3A, 0x2E, 0x9B,
1187
    0x90, 0xC4, 0xA8, 0xBC, 0xAE, 0xDF, 0xEB, 0xF5, 0x06, 0x92, 0x3A, 0x4B,
1191
    0x90, 0xC4, 0xA8, 0xBC, 0xAE, 0xDF, 0xEB, 0xF5, 0x06, 0x92, 0x3A, 0x4B,
1188
    0x83, 0xAF, 0xAB, 0x65, 0xCB, 0xBD, 0xEF, 0xFD, 0x0D, 0x90, 0x3E, 0x80,
1192
    0x83, 0xAF, 0xAB, 0x65, 0xCB, 0xBD, 0xEF, 0xFD, 0x0D, 0x90, 0x3E, 0x80,
1189
    0x48, 0x5C, 0x9F, 0x37, 0x59, 0xDC, 0x13, 0x9D, 0x25, 0xFB, 0x93, 0xCB,
1193
    0x48, 0x5C, 0x9F, 0x37, 0x59, 0xDC, 0x13, 0x9D, 0x25, 0xFB, 0x93, 0xCB,
1190
    0xD8, 0xA3, 0xF1, 0xD2, 0x3B, 0x1C, 0xC8, 0x8D, 0x0D, 0x99, 0xF1, 0x54,
1194
    0xD8, 0xA3, 0xF1, 0xD2, 0x3B, 0x1C, 0xC8, 0x8D, 0x0D, 0x99, 0xF1, 0x54,
1191
    0x27, 0x13, 0xEF, 0x53, 0x84, 0x7F, 0x75, 0xC0, 0xE1, 0x7D, 0x95, 0x66,
1195
    0x27, 0x13, 0xEF, 0x53, 0x84, 0x7F, 0x75, 0xC0, 0xE1, 0x7D, 0x95, 0x66,
1192
    0x31, 0x1E, 0xF2, 0x70, 0x91, 0xE7, 0x0F, 0x17, 0x13, 0x51, 0x48, 0x78,
1196
    0x31, 0x1E, 0xF2, 0x70, 0x91, 0xE7, 0x0F, 0x17, 0x13, 0x51, 0x48, 0x78,
1193
    0xE1, 0xE8, 0x61, 0xDE, 0x7E, 0x76, 0x7B, 0xB8, 0xDC, 0x84, 0x17, 0xEF,
1197
    0xE1, 0xE8, 0x61, 0xDE, 0x7E, 0x76, 0x7B, 0xB8, 0xDC, 0x84, 0x17, 0xEF,
1194
    0x71, 0x82, 0x21, 0xB8, 0xFA, 0x47, 0x01, 0x30, 0x5F, 0x07, 0x1F, 0x00,
1198
    0x71, 0x82, 0x21, 0xB8, 0xFA, 0x47, 0x01, 0x30, 0x5F, 0x07, 0x1F, 0x00,
1195
    0xA2, 0x0E, 0x12, 0xFA, 0xBC, 0x29, 0x6B, 0x3E, 0x13, 0x00, 0xA5, 0x00,
1199
    0xA2, 0x0E, 0x12, 0xFA, 0xBC, 0x29, 0x6B, 0x3E, 0x13, 0x00, 0xA5, 0x00,
1196
    0x64, 0x90, 0xA4, 0x24, 0x1F, 0xC3, 0x00, 0xC0, 0xC3, 0xA5, 0xE7, 0x21,
1200
    0x64, 0x90, 0xA4, 0x24, 0x1F, 0xC3, 0x00, 0xC0, 0xC3, 0xA5, 0xE7, 0x21,
1197
    0x82, 0xFC, 0x02, 0xBC, 0x2D, 0x18, 0x79, 0x78, 0x25, 0x44, 0xC8, 0x01,
1201
    0x82, 0xFC, 0x02, 0xBC, 0x2D, 0x18, 0x79, 0x78, 0x25, 0x44, 0xC8, 0x01,
1198
    0x52, 0x24, 0xF1, 0x7C, 0x09, 0x48, 0xCA, 0x4E, 0x38, 0x23, 0x08, 0x89,
1202
    0x52, 0x24, 0xF1, 0x7C, 0x09, 0x48, 0xCA, 0x4E, 0x38, 0x23, 0x08, 0x89,
1199
    0x52, 0xFE, 0x01, 0x2C, 0xD1, 0x52, 0xD9, 0xBC, 0x1D, 0xFC, 0xA9, 0xDE,
1203
    0x52, 0xFE, 0x01, 0x2C, 0xD1, 0x52, 0xD9, 0xBC, 0x1D, 0xFC, 0xA9, 0xDE,
1200
    0x3C, 0x44, 0x48, 0x25, 0xC3, 0xCF, 0x9B, 0x37, 0xBF, 0x22, 0xA6, 0x39,
1204
    0x3C, 0x44, 0x48, 0x25, 0xC3, 0xCF, 0x9B, 0x37, 0xBF, 0x22, 0xA6, 0x39,
1201
    0x2B, 0xC9, 0x5E, 0x3F, 0xEC, 0x1F, 0x20, 0xA7, 0xC0, 0x89, 0x7F, 0x00,
1205
    0x2B, 0xC9, 0x5E, 0x3F, 0xEC, 0x1F, 0x20, 0xA7, 0xC0, 0x89, 0x7F, 0x00,
1202
    0xB5, 0x8F, 0x3D, 0xB9, 0x54, 0x56, 0x17, 0x19, 0x2C, 0x38, 0x8E, 0x5E,
1206
    0xB5, 0x8F, 0x3D, 0xB9, 0x54, 0x56, 0x17, 0x19, 0x2C, 0x38, 0x8E, 0x5E,
1203
    0x1F, 0x4C, 0xE1, 0x31, 0x70, 0x22, 0x9D, 0x7F, 0x9A, 0x5D, 0x09, 0x5A,
1207
    0x1F, 0x4C, 0xE1, 0x31, 0x70, 0x22, 0x9D, 0x7F, 0x9A, 0x5D, 0x09, 0x5A,
1204
    0x6E, 0x90, 0x95, 0x6A, 0xF1, 0x18, 0xAC, 0xDE, 0x99, 0x5A, 0xEE, 0xC0,
1208
    0x6E, 0x90, 0x95, 0x6A, 0xF1, 0x18, 0xAC, 0xDE, 0x99, 0x5A, 0xEE, 0xC0,
1205
    0x9B, 0x3F, 0x10, 0x1D, 0xDB, 0x49, 0x3E, 0x83, 0x37, 0x77, 0xF0, 0xC5,
1209
    0x9B, 0x3F, 0x10, 0x1D, 0xDB, 0x49, 0x3E, 0x83, 0x37, 0x77, 0xF0, 0xC5,
1206
    0xCD, 0x6B, 0x86, 0x10, 0x05, 0xC0, 0x3F, 0xFF, 0x05, 0x6D, 0x80, 0x60,
1210
    0xCD, 0x6B, 0x86, 0x10, 0x05, 0xC0, 0x3F, 0xFF, 0x05, 0x6D, 0x80, 0x60,
1207
    0x8A, 0x5F, 0xA6, 0xA3, 0x36, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E,
1211
    0x8A, 0x5F, 0xA6, 0xA3, 0x36, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E,
1208
    0x44, 0xAE, 0x42, 0x60, 0x82,
1212
    0x44, 0xAE, 0x42, 0x60, 0x82,
1209
};
1213
};
1210
 
1214
 
1211
const size_t Console::g_png_size = 5849;
1215
const size_t Console::g_png_size = 5849;
1212
 
1216