2024-03-26 16:15:02 +00:00
// font framework. original code by Vassvik (UNLICENSED)
// - rlyeh, public domain.
//
// [x] embedded default font (bm mini).
// [x] oversampling, texture dimensions.
// [x] utf8, unicode ranges.
// [x] markup opcodes.
// [x] faces (italic, bold, regular, cjk), colors and sizes.
// [x] unicode ranges from dear-imgui (@ocornut allowed to mit-0 relicense the data tables).
// [*] alignment. kinda hacky. revisit some day.
// [ ] underlining, soft/hard shadows, outlines.
// [ ] clip/wrap/overflow regions.
// [ ] text-shaping, text-layout.
// [ ] text-wrapping.
// [ ] optimizations.
//
// ## language families that could be merged on a single texture alias
// - EU+EL+RU
// - AR+HE+RU
// - TH+VI+TW
// - ZH
// - JP
// - KR
// -----------------------------------------------------------------------------
// bm-mini.zip (public domain font)
// http://bitmapmania.m78.com
// cooz@m78.com
static const char bm_mini_ttf [ ] = {
/*000000*/ 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x0e , 0x00 , 0x30 , 0x00 , 0x03 , 0x00 , 0xb0 , 0x4f , 0x53 , 0x2f , 0x32 ,
/*000010*/ 0x80 , 0x00 , 0x6d , 0x88 , 0x00 , 0x00 , 0x4e , 0x04 , 0x00 , 0x00 , 0x00 , 0x4e , 0x63 , 0x6d , 0x61 , 0x70 ,
/*000020*/ 0xf1 , 0x89 , 0xe8 , 0x81 , 0x00 , 0x00 , 0x45 , 0x54 , 0x00 , 0x00 , 0x02 , 0x28 , 0x63 , 0x76 , 0x74 , 0x20 ,
/*000030*/ 0x5a , 0x9b , 0xfa , 0x82 , 0x00 , 0x00 , 0x03 , 0xe8 , 0x00 , 0x00 , 0x00 , 0x32 , 0x66 , 0x70 , 0x67 , 0x6d ,
/*000040*/ 0x83 , 0x33 , 0xc2 , 0x4f , 0x00 , 0x00 , 0x03 , 0xd4 , 0x00 , 0x00 , 0x00 , 0x14 , 0x67 , 0x6c , 0x79 , 0x66 ,
/*000050*/ 0x05 , 0xa3 , 0xba , 0x6b , 0x00 , 0x00 , 0x04 , 0x64 , 0x00 , 0x00 , 0x3c , 0xec , 0x68 , 0x64 , 0x6d , 0x78 ,
/*000060*/ 0x0d , 0xad , 0x0b , 0x14 , 0x00 , 0x00 , 0x47 , 0x7c , 0x00 , 0x00 , 0x06 , 0x88 , 0x68 , 0x65 , 0x61 , 0x64 ,
/*000070*/ 0xce , 0xfe , 0xc6 , 0xae , 0x00 , 0x00 , 0x4e , 0x54 , 0x00 , 0x00 , 0x00 , 0x36 , 0x68 , 0x68 , 0x65 , 0x61 ,
/*000080*/ 0x05 , 0x15 , 0x02 , 0xee , 0x00 , 0x00 , 0x4e , 0x8c , 0x00 , 0x00 , 0x00 , 0x24 , 0x68 , 0x6d , 0x74 , 0x78 ,
/*000090*/ 0xae , 0x38 , 0x00 , 0xf4 , 0x00 , 0x00 , 0x42 , 0xe0 , 0x00 , 0x00 , 0x01 , 0x8c , 0x6c , 0x6f , 0x63 , 0x61 ,
/*0000a0*/ 0x00 , 0x0b , 0xe4 , 0xba , 0x00 , 0x00 , 0x41 , 0x50 , 0x00 , 0x00 , 0x01 , 0x90 , 0x6d , 0x61 , 0x78 , 0x70 ,
/*0000b0*/ 0x00 , 0xfe , 0x01 , 0x4d , 0x00 , 0x00 , 0x4e , 0xb0 , 0x00 , 0x00 , 0x00 , 0x20 , 0x6e , 0x61 , 0x6d , 0x65 ,
/*0000c0*/ 0xd6 , 0xe2 , 0x1a , 0x1f , 0x00 , 0x00 , 0x00 , 0xec , 0x00 , 0x00 , 0x02 , 0xe5 , 0x70 , 0x6f , 0x73 , 0x74 ,
/*0000d0*/ 0x09 , 0x85 , 0x09 , 0xff , 0x00 , 0x00 , 0x44 , 0x6c , 0x00 , 0x00 , 0x00 , 0xe8 , 0x70 , 0x72 , 0x65 , 0x70 ,
/*0000e0*/ 0xc9 , 0x0f , 0xd2 , 0x13 , 0x00 , 0x00 , 0x04 , 0x1c , 0x00 , 0x00 , 0x00 , 0x48 , 0x00 , 0x00 , 0x00 , 0x15 ,
/*0000f0*/ 0x01 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x76 , 0x00 , 0x3b , 0x00 , 0x00 ,
/*000100*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x0e , 0x00 , 0xb8 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*000110*/ 0x00 , 0x02 , 0x00 , 0x04 , 0x00 , 0xc8 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x03 , 0x00 , 0x4e ,
/*000120*/ 0x01 , 0x11 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x14 , 0x00 , 0xd6 , 0x00 , 0x00 ,
/*000130*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x05 , 0x00 , 0x48 , 0x01 , 0x83 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*000140*/ 0x00 , 0x06 , 0x00 , 0x10 , 0x01 , 0xd3 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3b ,
/*000150*/ 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x07 , 0x00 , 0xb1 , 0x00 , 0x01 ,
/*000160*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x02 , 0x00 , 0xc6 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*000170*/ 0x00 , 0x03 , 0x00 , 0x27 , 0x00 , 0xea , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x0a ,
/*000180*/ 0x00 , 0xcc , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x05 , 0x00 , 0x24 , 0x01 , 0x5f , 0x00 , 0x01 ,
/*000190*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x06 , 0x00 , 0x08 , 0x01 , 0xcb , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 ,
/*0001a0*/ 0x00 , 0x00 , 0x00 , 0x76 , 0x00 , 0x3b , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 , 0x00 , 0x01 , 0x00 , 0x0e ,
/*0001b0*/ 0x00 , 0xb8 , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 , 0x00 , 0x02 , 0x00 , 0x04 , 0x00 , 0xc8 , 0x00 , 0x03 ,
/*0001c0*/ 0x00 , 0x01 , 0x04 , 0x09 , 0x00 , 0x03 , 0x00 , 0x4e , 0x01 , 0x11 , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 ,
/*0001d0*/ 0x00 , 0x04 , 0x00 , 0x14 , 0x00 , 0xd6 , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 , 0x00 , 0x05 , 0x00 , 0x48 ,
/*0001e0*/ 0x01 , 0x83 , 0x00 , 0x03 , 0x00 , 0x01 , 0x04 , 0x09 , 0x00 , 0x06 , 0x00 , 0x10 , 0x01 , 0xd3 , 0x43 , 0x6f ,
/*0001f0*/ 0x70 , 0x79 , 0x72 , 0x69 , 0x67 , 0x68 , 0x74 , 0x20 , 0x28 , 0x43 , 0x29 , 0x20 , 0x32 , 0x30 , 0x30 , 0x31 ,
/*000200*/ 0x20 , 0x42 , 0x69 , 0x74 , 0x6d , 0x61 , 0x70 , 0x4d , 0x61 , 0x6e , 0x69 , 0x61 , 0x20 , 0x2f , 0x20 , 0x43 ,
/*000210*/ 0x4f , 0x4f , 0x5a , 0x2e , 0x20 , 0x41 , 0x6c , 0x6c , 0x20 , 0x72 , 0x69 , 0x67 , 0x68 , 0x74 , 0x73 , 0x20 ,
/*000220*/ 0x72 , 0x65 , 0x73 , 0x65 , 0x72 , 0x76 , 0x65 , 0x64 , 0x2e , 0x00 , 0x43 , 0x00 , 0x6f , 0x00 , 0x70 , 0x00 ,
/*000230*/ 0x79 , 0x00 , 0x72 , 0x00 , 0x69 , 0x00 , 0x67 , 0x00 , 0x68 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x28 , 0x00 ,
/*000240*/ 0x43 , 0x00 , 0x29 , 0x00 , 0x20 , 0x00 , 0x32 , 0x00 , 0x30 , 0x00 , 0x30 , 0x00 , 0x31 , 0x00 , 0x20 , 0x00 ,
/*000250*/ 0x42 , 0x00 , 0x69 , 0x00 , 0x74 , 0x00 , 0x6d , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x4d , 0x00 , 0x61 , 0x00 ,
/*000260*/ 0x6e , 0x00 , 0x69 , 0x00 , 0x61 , 0x00 , 0x20 , 0x00 , 0x2f , 0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x4f , 0x00 ,
/*000270*/ 0x4f , 0x00 , 0x5a , 0x00 , 0x2e , 0x00 , 0x20 , 0x00 , 0x41 , 0x00 , 0x6c , 0x00 , 0x6c , 0x00 , 0x20 , 0x00 ,
/*000280*/ 0x72 , 0x00 , 0x69 , 0x00 , 0x67 , 0x00 , 0x68 , 0x00 , 0x74 , 0x00 , 0x73 , 0x00 , 0x20 , 0x00 , 0x72 , 0x00 ,
/*000290*/ 0x65 , 0x00 , 0x73 , 0x00 , 0x65 , 0x00 , 0x72 , 0x00 , 0x76 , 0x00 , 0x65 , 0x00 , 0x64 , 0x00 , 0x2e , 0x42 ,
/*0002a0*/ 0x4d , 0x20 , 0x6d , 0x69 , 0x6e , 0x69 , 0x00 , 0x42 , 0x00 , 0x4d , 0x00 , 0x20 , 0x00 , 0x6d , 0x00 , 0x69 ,
/*0002b0*/ 0x00 , 0x6e , 0x00 , 0x69 , 0x41 , 0x38 , 0x00 , 0x41 , 0x00 , 0x38 , 0x42 , 0x4d , 0x20 , 0x6d , 0x69 , 0x6e ,
/*0002c0*/ 0x69 , 0x20 , 0x41 , 0x38 , 0x00 , 0x42 , 0x00 , 0x4d , 0x00 , 0x20 , 0x00 , 0x6d , 0x00 , 0x69 , 0x00 , 0x6e ,
/*0002d0*/ 0x00 , 0x69 , 0x00 , 0x20 , 0x00 , 0x41 , 0x00 , 0x38 , 0x4d , 0x61 , 0x63 , 0x72 , 0x6f , 0x6d , 0x65 , 0x64 ,
/*0002e0*/ 0x69 , 0x61 , 0x20 , 0x46 , 0x6f , 0x6e , 0x74 , 0x6f , 0x67 , 0x72 , 0x61 , 0x70 , 0x68 , 0x65 , 0x72 , 0x20 ,
/*0002f0*/ 0x34 , 0x2e , 0x31 , 0x4a , 0x20 , 0x42 , 0x4d , 0x20 , 0x6d , 0x69 , 0x6e , 0x69 , 0x20 , 0x41 , 0x38 , 0x00 ,
/*000300*/ 0x4d , 0x00 , 0x61 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6f , 0x00 , 0x6d , 0x00 , 0x65 , 0x00 , 0x64 , 0x00 ,
/*000310*/ 0x69 , 0x00 , 0x61 , 0x00 , 0x20 , 0x00 , 0x46 , 0x00 , 0x6f , 0x00 , 0x6e , 0x00 , 0x74 , 0x00 , 0x6f , 0x00 ,
/*000320*/ 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x65 , 0x00 , 0x72 , 0x00 , 0x20 , 0x00 ,
/*000330*/ 0x34 , 0x00 , 0x2e , 0x00 , 0x31 , 0x00 , 0x4a , 0x00 , 0x20 , 0x00 , 0x42 , 0x00 , 0x4d , 0x00 , 0x20 , 0x00 ,
/*000340*/ 0x6d , 0x00 , 0x69 , 0x00 , 0x6e , 0x00 , 0x69 , 0x00 , 0x20 , 0x00 , 0x41 , 0x00 , 0x38 , 0x4d , 0x61 , 0x63 ,
/*000350*/ 0x72 , 0x6f , 0x6d , 0x65 , 0x64 , 0x69 , 0x61 , 0x20 , 0x46 , 0x6f , 0x6e , 0x74 , 0x6f , 0x67 , 0x72 , 0x61 ,
/*000360*/ 0x70 , 0x68 , 0x65 , 0x72 , 0x20 , 0x34 , 0x2e , 0x31 , 0x4a , 0x20 , 0x30 , 0x31 , 0x2e , 0x31 , 0x2e , 0x32 ,
/*000370*/ 0x37 , 0x00 , 0x4d , 0x00 , 0x61 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6f , 0x00 , 0x6d , 0x00 , 0x65 , 0x00 ,
/*000380*/ 0x64 , 0x00 , 0x69 , 0x00 , 0x61 , 0x00 , 0x20 , 0x00 , 0x46 , 0x00 , 0x6f , 0x00 , 0x6e , 0x00 , 0x74 , 0x00 ,
/*000390*/ 0x6f , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x65 , 0x00 , 0x72 , 0x00 ,
/*0003a0*/ 0x20 , 0x00 , 0x34 , 0x00 , 0x2e , 0x00 , 0x31 , 0x00 , 0x4a , 0x00 , 0x20 , 0x00 , 0x30 , 0x00 , 0x31 , 0x00 ,
/*0003b0*/ 0x2e , 0x00 , 0x31 , 0x00 , 0x2e , 0x00 , 0x32 , 0x00 , 0x37 , 0x42 , 0x4d , 0x6d , 0x69 , 0x6e , 0x69 , 0x41 ,
/*0003c0*/ 0x38 , 0x00 , 0x42 , 0x00 , 0x4d , 0x00 , 0x6d , 0x00 , 0x69 , 0x00 , 0x6e , 0x00 , 0x69 , 0x00 , 0x41 , 0x00 ,
/*0003d0*/ 0x38 , 0x00 , 0x00 , 0x00 , 0x40 , 0x01 , 0x00 , 0x2c , 0x76 , 0x45 , 0x20 , 0xb0 , 0x03 , 0x25 , 0x45 , 0x23 ,
/*0003e0*/ 0x61 , 0x68 , 0x18 , 0x23 , 0x68 , 0x60 , 0x44 , 0x2d , 0xff , 0x39 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*0003f0*/ 0x00 , 0x62 , 0x00 , 0xc5 , 0x00 , 0x62 , 0x00 , 0xc5 , 0x01 , 0x29 , 0x01 , 0x8d , 0x01 , 0x8e , 0x01 , 0x2a ,
/*000400*/ 0x5a , 0x67 , 0x12 , 0x06 , 0xd2 , 0xb8 , 0x6a , 0x18 , 0xf8 , 0x2a , 0x61 , 0xa3 , 0x0e , 0x40 , 0xee , 0xd2 ,
/*000410*/ 0x80 , 0x3a , 0x27 , 0x55 , 0xa2 , 0x87 , 0x00 , 0x01 , 0x00 , 0x0d , 0x00 , 0x00 , 0x40 , 0x11 , 0x0b , 0x0b ,
/*000420*/ 0x0a , 0x0a , 0x09 , 0x09 , 0x08 , 0x08 , 0x03 , 0x03 , 0x02 , 0x02 , 0x01 , 0x01 , 0x00 , 0x00 , 0x01 , 0x8d ,
/*000430*/ 0xb8 , 0x01 , 0xff , 0x85 , 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 ,
/*000440*/ 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 , 0x45 , 0x68 , 0x44 , 0xb3 , 0x05 , 0x04 , 0x46 ,
/*000450*/ 0x00 , 0x2b , 0xb3 , 0x07 , 0x06 , 0x46 , 0x00 , 0x2b , 0xb1 , 0x04 , 0x04 , 0x45 , 0x68 , 0x44 , 0xb1 , 0x06 ,
/*000460*/ 0x06 , 0x45 , 0x68 , 0x44 , 0x00 , 0x02 , 0x00 , 0x32 , 0x00 , 0x00 , 0x01 , 0x5e , 0x02 , 0x58 , 0x00 , 0x03 ,
/*000470*/ 0x00 , 0x07 , 0x00 , 0x55 , 0x40 , 0x1f , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x02 , 0x07 , 0x04 , 0x04 , 0x01 ,
/*000480*/ 0x00 , 0x06 , 0x05 , 0x04 , 0x03 , 0x02 , 0x05 , 0x04 , 0x06 , 0x00 , 0x07 , 0x06 , 0x06 , 0x01 , 0x02 , 0x01 ,
/*000490*/ 0x03 , 0x00 , 0x01 , 0x00 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x2f , 0x3c , 0x2f , 0x3c , 0x10 , 0xfd ,
/*0004a0*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 ,
/*0004b0*/ 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x00 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 ,
/*0004c0*/ 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x33 , 0x11 , 0x21 , 0x11 , 0x27 , 0x33 , 0x11 ,
/*0004d0*/ 0x23 , 0x32 , 0x01 , 0x2c , 0xfa , 0xc8 , 0xc8 , 0x02 , 0x58 , 0xfd , 0xa8 , 0x32 , 0x01 , 0xf4 , 0x00 , 0x02 ,
/*0004e0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x63 , 0x02 , 0x57 , 0x00 , 0x03 , 0x00 , 0x07 , 0x00 , 0x53 , 0x40 , 0x20 ,
/*0004f0*/ 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x01 , 0x00 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x04 , 0x07 , 0x04 ,
/*000500*/ 0x03 , 0x03 , 0x00 , 0x07 , 0x06 , 0x06 , 0x04 , 0x05 , 0x04 , 0x01 , 0x03 , 0x02 , 0x03 , 0x01 , 0x01 , 0x46 ,
/*000510*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c ,
/*000520*/ 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 ,
/*000530*/ 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 ,
/*000540*/ 0x59 , 0x37 , 0x23 , 0x11 , 0x33 , 0x11 , 0x23 , 0x35 , 0x33 , 0x63 , 0x62 , 0x62 , 0x62 , 0x62 , 0xc9 , 0x01 ,
/*000550*/ 0x8e , 0xfd , 0xaa , 0x62 , 0x00 , 0x02 , 0x00 , 0x01 , 0x01 , 0x91 , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x03 ,
/*000560*/ 0x00 , 0x07 , 0x00 , 0x50 , 0x40 , 0x1e , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x02 , 0x01 , 0x04 , 0x03 ,
/*000570*/ 0x00 , 0x07 , 0x04 , 0x04 , 0x06 , 0x05 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x07 , 0x06 , 0x03 , 0x03 , 0x02 ,
/*000580*/ 0x03 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0x01 ,
/*000590*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*0005a0*/ 0x05 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 ,
/*0005b0*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x35 , 0x33 , 0x07 , 0x23 , 0x35 , 0x33 , 0x01 , 0x2b , 0x62 , 0x62 ,
/*0005c0*/ 0xc8 , 0x62 , 0x62 , 0x01 , 0x91 , 0xc6 , 0xc6 , 0xc6 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x65 , 0x01 , 0xf3 ,
/*0005d0*/ 0x02 , 0x57 , 0x00 , 0x1b , 0x00 , 0x1f , 0x00 , 0xb3 , 0x40 , 0x5e , 0x01 , 0x20 , 0x20 , 0x40 , 0x21 , 0x00 ,
/*0005e0*/ 0x1b , 0x18 , 0x17 , 0x14 , 0x13 , 0x0e , 0x0d , 0x0a , 0x09 , 0x00 , 0x06 , 0x05 , 0x04 , 0x07 , 0x1f , 0x12 ,
/*0005f0*/ 0x11 , 0x03 , 0x1e , 0x04 , 0x10 , 0x0f , 0x0c , 0x0b , 0x08 , 0x05 , 0x07 , 0x1d , 0x04 , 0x03 , 0x03 , 0x1c ,
/*000600*/ 0x04 , 0x1a , 0x19 , 0x16 , 0x02 , 0x01 , 0x05 , 0x15 , 0x1b , 0x1a , 0x06 , 0x00 , 0x1f , 0x0b , 0x0a , 0x03 ,
/*000610*/ 0x1c , 0x06 , 0x09 , 0x08 , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x0d , 0x0c , 0x06 , 0x0e , 0x1e , 0x19 , 0x18 ,
/*000620*/ 0x03 , 0x1d , 0x06 , 0x17 , 0x16 , 0x13 , 0x12 , 0x0f , 0x05 , 0x0e , 0x07 , 0x06 , 0x03 , 0x03 , 0x02 , 0x15 ,
/*000630*/ 0x14 , 0x11 , 0x03 , 0x10 , 0x03 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c ,
/*000640*/ 0x2f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd ,
/*000650*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd ,
/*000660*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 ,
/*000670*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x20 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*000680*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x20 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 ,
/*000690*/ 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x35 ,
/*0006a0*/ 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x27 , 0x35 , 0x23 , 0x15 , 0x01 , 0xf3 , 0x65 , 0x61 , 0x67 ,
/*0006b0*/ 0x61 , 0x64 , 0x64 , 0x64 , 0x64 , 0x62 , 0x67 , 0x61 , 0x64 , 0x64 , 0x64 , 0xc8 , 0x62 , 0xc9 , 0x64 , 0x64 ,
/*0006c0*/ 0x64 , 0x65 , 0x61 , 0x67 , 0x61 , 0x64 , 0x64 , 0x64 , 0x65 , 0x61 , 0x67 , 0x03 , 0x62 , 0x62 , 0x00 , 0x01 ,
/*0006d0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x01 , 0xf3 , 0x00 , 0x13 , 0x00 , 0x88 , 0x40 , 0x42 , 0x01 , 0x14 ,
/*0006e0*/ 0x14 , 0x40 , 0x15 , 0x00 , 0x13 , 0x0a , 0x09 , 0x00 , 0x04 , 0x03 , 0x04 , 0x05 , 0x0e , 0x06 , 0x05 , 0x03 ,
/*0006f0*/ 0x0d , 0x04 , 0x0c , 0x0b , 0x08 , 0x03 , 0x07 , 0x10 , 0x0f , 0x04 , 0x12 , 0x02 , 0x01 , 0x03 , 0x11 , 0x07 ,
/*000700*/ 0x06 , 0x03 , 0x03 , 0x02 , 0x0b , 0x00 , 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x07 , 0x12 , 0x11 , 0x10 , 0x0d ,
/*000710*/ 0x03 , 0x0c , 0x13 , 0x12 , 0x0f , 0x0e , 0x0b , 0x05 , 0x0a , 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x09 , 0x46 ,
/*000720*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 ,
/*000730*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 ,
/*000740*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*000750*/ 0x09 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 ,
/*000760*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 ,
/*000770*/ 0x35 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x01 , 0xf3 , 0x65 , 0x64 , 0x61 , 0x64 , 0x64 , 0x64 ,
/*000780*/ 0x62 , 0x67 , 0x61 , 0x64 , 0xc9 , 0x64 , 0x64 , 0x65 , 0x64 , 0xc5 , 0x64 , 0x64 , 0x64 , 0x65 , 0x00 , 0x03 ,
/*000790*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x02 , 0xbb , 0x02 , 0x57 , 0x00 , 0x23 , 0x00 , 0x27 , 0x00 , 0x2b , 0x00 , 0xde ,
/*0007a0*/ 0x40 , 0x80 , 0x01 , 0x2c , 0x2c , 0x40 , 0x2d , 0x00 , 0x20 , 0x1f , 0x08 , 0x07 , 0x04 , 0x0a , 0x09 , 0x1e ,
/*0007b0*/ 0x1d , 0x04 , 0x18 , 0x17 , 0x0c , 0x03 , 0x0b , 0x29 , 0x28 , 0x16 , 0x15 , 0x0e , 0x05 , 0x0d , 0x04 , 0x0f ,
/*0007c0*/ 0x2b , 0x2a , 0x14 , 0x13 , 0x10 , 0x05 , 0x0f , 0x04 , 0x12 , 0x11 , 0x1a , 0x06 , 0x05 , 0x03 , 0x19 , 0x04 ,
/*0007d0*/ 0x27 , 0x26 , 0x1c , 0x04 , 0x03 , 0x05 , 0x1b , 0x25 , 0x24 , 0x22 , 0x02 , 0x01 , 0x05 , 0x21 , 0x04 , 0x23 ,
/*0007e0*/ 0x00 , 0x27 , 0x24 , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x1d , 0x1c , 0x11 , 0x10 , 0x0d , 0x05 ,
/*0007f0*/ 0x0c , 0x06 , 0x0e , 0x21 , 0x0f , 0x0e , 0x03 , 0x20 , 0x06 , 0x26 , 0x25 , 0x23 , 0x22 , 0x1f , 0x1e , 0x0b ,
/*000800*/ 0x07 , 0x06 , 0x09 , 0x0a , 0x2a , 0x29 , 0x17 , 0x16 , 0x13 , 0x05 , 0x12 , 0x06 , 0x14 , 0x2b , 0x28 , 0x19 ,
/*000810*/ 0x03 , 0x18 , 0x02 , 0x1b , 0x1a , 0x15 , 0x03 , 0x14 , 0x03 , 0x09 , 0x08 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 ,
/*000820*/ 0x11 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c ,
/*000830*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*000840*/ 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c ,
/*000850*/ 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c ,
/*000860*/ 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x11 , 0x00 , 0x2c , 0x49 , 0x68 , 0x61 ,
/*000870*/ 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x2c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 ,
/*000880*/ 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 ,
/*000890*/ 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x35 , 0x33 ,
/*0008a0*/ 0x15 , 0x33 , 0x07 , 0x35 , 0x23 , 0x15 , 0x01 , 0x35 , 0x23 , 0x15 , 0x02 , 0xbb , 0x65 , 0x61 , 0x64 , 0x67 ,
/*0008b0*/ 0x61 , 0x64 , 0x67 , 0x61 , 0x64 , 0x64 , 0x62 , 0x64 , 0x67 , 0x61 , 0x64 , 0x67 , 0x61 , 0x64 , 0x64 , 0x62 ,
/*0008c0*/ 0xfe , 0xd2 , 0x62 , 0x65 , 0x64 , 0x65 , 0x63 , 0xc8 , 0xc6 , 0xca , 0x64 , 0x65 , 0x61 , 0x64 , 0x65 , 0x63 ,
/*0008d0*/ 0xc8 , 0xc6 , 0xca , 0x64 , 0x65 , 0x61 , 0x62 , 0x62 , 0x01 , 0x2c , 0x62 , 0x62 , 0x00 , 0x03 , 0x00 , 0x01 ,
/*0008e0*/ 0x00 , 0x01 , 0x01 , 0xf3 , 0x02 , 0x57 , 0x00 , 0x1b , 0x00 , 0x1f , 0x00 , 0x25 , 0x00 , 0xce , 0x40 , 0x76 ,
/*0008f0*/ 0x01 , 0x26 , 0x26 , 0x40 , 0x27 , 0x00 , 0x1a , 0x19 , 0x1b , 0x04 , 0x03 , 0x03 , 0x00 , 0x04 , 0x05 , 0x10 ,
/*000900*/ 0x0f , 0x0c , 0x03 , 0x0b , 0x04 , 0x09 , 0x25 , 0x24 , 0x1f , 0x1e , 0x12 , 0x11 , 0x0e , 0x0d , 0x0a , 0x09 ,
/*000910*/ 0x09 , 0x04 , 0x13 , 0x23 , 0x22 , 0x1d , 0x1c , 0x18 , 0x17 , 0x14 , 0x07 , 0x13 , 0x04 , 0x15 , 0x21 , 0x20 ,
/*000920*/ 0x16 , 0x08 , 0x07 , 0x05 , 0x15 , 0x04 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x03 , 0x02 , 0x06 , 0x04 , 0x25 ,
/*000930*/ 0x20 , 0x0b , 0x0a , 0x07 , 0x05 , 0x06 , 0x06 , 0x04 , 0x1e , 0x1d , 0x15 , 0x14 , 0x11 , 0x05 , 0x10 , 0x06 ,
/*000940*/ 0x12 , 0x22 , 0x21 , 0x06 , 0x0c , 0x24 , 0x23 , 0x19 , 0x18 , 0x0d , 0x01 , 0x00 , 0x07 , 0x0c , 0x06 , 0x17 ,
/*000950*/ 0x0f , 0x0e , 0x03 , 0x16 , 0x1f , 0x1c , 0x1b , 0x03 , 0x1a , 0x02 , 0x13 , 0x12 , 0x03 , 0x09 , 0x08 , 0x05 ,
/*000960*/ 0x03 , 0x04 , 0x01 , 0x01 , 0x0b , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c ,
/*000970*/ 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*000980*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*000990*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e ,
/*0009a0*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x0b , 0x00 , 0x26 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*0009b0*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x26 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x33 ,
/*0009c0*/ 0x15 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 ,
/*0009d0*/ 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x35 , 0x33 , 0x25 , 0x35 , 0x23 , 0x15 , 0x13 , 0x35 , 0x23 , 0x35 ,
/*0009e0*/ 0x23 , 0x15 , 0x01 , 0xf3 , 0x64 , 0x64 , 0x62 , 0x67 , 0xc5 , 0x64 , 0x64 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 ,
/*0009f0*/ 0xcb , 0x61 , 0xfe , 0xd4 , 0x62 , 0xc6 , 0x64 , 0x62 , 0x01 , 0x2d , 0xcb , 0x61 , 0x64 , 0x64 , 0x65 , 0xc5 ,
/*000a00*/ 0x67 , 0x61 , 0x64 , 0x65 , 0x61 , 0x66 , 0x64 , 0x02 , 0x62 , 0x62 , 0xfe , 0xd4 , 0x61 , 0x65 , 0xc6 , 0x00 ,
/*000a10*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x91 , 0x00 , 0x63 , 0x02 , 0x57 , 0x00 , 0x03 , 0x00 , 0x3f , 0x40 , 0x13 ,
/*000a20*/ 0x01 , 0x04 , 0x04 , 0x40 , 0x05 , 0x00 , 0x02 , 0x01 , 0x04 , 0x03 , 0x00 , 0x01 , 0x00 , 0x03 , 0x02 , 0x03 ,
/*000a30*/ 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*000a40*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*000a50*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 , 0x59 , 0x13 , 0x23 , 0x35 ,
/*000a60*/ 0x33 , 0x63 , 0x62 , 0x62 , 0x01 , 0x91 , 0xc6 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0xc7 ,
/*000a70*/ 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x67 , 0x40 , 0x2d , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x07 , 0x06 ,
/*000a80*/ 0x0b , 0x04 , 0x03 , 0x03 , 0x00 , 0x04 , 0x05 , 0x0a , 0x09 , 0x06 , 0x05 , 0x02 , 0x05 , 0x01 , 0x04 , 0x08 ,
/*000a90*/ 0x07 , 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x06 , 0x0a , 0x03 , 0x02 , 0x06 , 0x04 , 0x0b , 0x0a , 0x03 , 0x05 ,
/*000aa0*/ 0x04 , 0x01 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd ,
/*000ab0*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 ,
/*000ac0*/ 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*000ad0*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x13 , 0x23 , 0x11 ,
/*000ae0*/ 0x33 , 0x15 , 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x35 , 0x33 , 0xc7 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0x62 ,
/*000af0*/ 0x01 , 0xf5 , 0xfe , 0x6d , 0x61 , 0x65 , 0x01 , 0x8d , 0x64 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*000b00*/ 0x00 , 0xc7 , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x67 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 ,
/*000b10*/ 0x0b , 0x0a , 0x02 , 0x01 , 0x04 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x0a , 0x09 , 0x06 , 0x03 , 0x05 , 0x04 ,
/*000b20*/ 0x0b , 0x00 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x08 , 0x09 , 0x08 , 0x03 ,
/*000b30*/ 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 ,
/*000b40*/ 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd ,
/*000b50*/ 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0c , 0x49 , 0x68 ,
/*000b60*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 ,
/*000b70*/ 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 , 0x35 , 0x33 , 0x15 , 0x33 , 0xc7 , 0x65 , 0x61 , 0x64 , 0x64 ,
/*000b80*/ 0x62 , 0x64 , 0x65 , 0x64 , 0x62 , 0x01 , 0x92 , 0x62 , 0x65 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2d ,
/*000b90*/ 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x13 , 0x00 , 0x83 , 0x40 , 0x40 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 ,
/*000ba0*/ 0x12 , 0x11 , 0x13 , 0x04 , 0x03 , 0x03 , 0x00 , 0x04 , 0x05 , 0x08 , 0x07 , 0x04 , 0x0e , 0x0d , 0x0a , 0x03 ,
/*000bb0*/ 0x09 , 0x10 , 0x0f , 0x0c , 0x03 , 0x0b , 0x04 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x07 , 0x06 , 0x06 , 0x11 ,
/*000bc0*/ 0x0d , 0x0c , 0x01 , 0x00 , 0x05 , 0x10 , 0x09 , 0x08 , 0x05 , 0x03 , 0x04 , 0x13 , 0x12 , 0x0f , 0x03 , 0x0e ,
/*000bd0*/ 0x03 , 0x0b , 0x03 , 0x02 , 0x03 , 0x0a , 0x02 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f ,
/*000be0*/ 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 ,
/*000bf0*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x00 ,
/*000c00*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*000c10*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x33 , 0x15 ,
/*000c20*/ 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 ,
/*000c30*/ 0x2b , 0x64 , 0x64 , 0x62 , 0x67 , 0x61 , 0x64 , 0x64 , 0x62 , 0x67 , 0x61 , 0x01 , 0xf5 , 0x67 , 0x61 , 0x64 ,
/*000c40*/ 0x64 , 0x62 , 0x66 , 0x62 , 0x64 , 0x64 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x65 , 0x01 , 0x2b , 0x01 , 0x8f ,
/*000c50*/ 0x00 , 0x0b , 0x00 , 0x66 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x00 , 0x08 , 0x01 ,
/*000c60*/ 0x06 , 0x05 , 0x08 , 0x03 , 0x0a , 0x09 , 0x02 , 0x03 , 0x01 , 0x04 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x0b ,
/*000c70*/ 0x07 , 0x06 , 0x03 , 0x0a , 0x06 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x03 , 0x02 , 0x09 , 0x08 , 0x02 , 0x01 ,
/*000c80*/ 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 ,
/*000c90*/ 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 ,
/*000ca0*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*000cb0*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 ,
/*000cc0*/ 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x01 , 0x2b , 0x65 , 0x61 , 0x64 , 0x64 , 0x62 , 0x64 , 0xc9 , 0x64 ,
/*000cd0*/ 0x65 , 0x61 , 0x64 , 0x65 , 0x00 , 0x01 , 0x00 , 0x01 , 0xff , 0x9d , 0x00 , 0xc7 , 0x00 , 0x63 , 0x00 , 0x07 ,
/*000ce0*/ 0x00 , 0x53 , 0x40 , 0x1e , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x02 , 0x01 , 0x04 , 0x04 , 0x03 , 0x06 ,
/*000cf0*/ 0x05 , 0x04 , 0x07 , 0x00 , 0x05 , 0x04 , 0x06 , 0x02 , 0x07 , 0x06 , 0x03 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 ,
/*000d00*/ 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x2f , 0x3c , 0x10 , 0xfd , 0x3c ,
/*000d10*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 ,
/*000d20*/ 0x00 , 0x03 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 ,
/*000d30*/ 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0xc7 , 0x65 , 0x61 ,
/*000d40*/ 0x64 , 0x62 , 0x01 , 0x64 , 0x62 , 0x64 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0xc9 , 0x01 , 0x2b , 0x01 , 0x2b ,
/*000d50*/ 0x00 , 0x03 , 0x00 , 0x3d , 0x40 , 0x11 , 0x01 , 0x04 , 0x04 , 0x40 , 0x05 , 0x00 , 0x03 , 0x02 , 0x01 , 0x00 ,
/*000d60*/ 0x03 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x2f , 0x3c , 0x2f , 0x3c ,
/*000d70*/ 0x01 , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 ,
/*000d80*/ 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 ,
/*000d90*/ 0x59 , 0x25 , 0x21 , 0x35 , 0x21 , 0x01 , 0x2b , 0xfe , 0xd6 , 0x01 , 0x2a , 0xc9 , 0x62 , 0x00 , 0x00 , 0x01 ,
/*000da0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x63 , 0x00 , 0x63 , 0x00 , 0x03 , 0x00 , 0x3f , 0x40 , 0x13 , 0x01 , 0x04 ,
/*000db0*/ 0x04 , 0x40 , 0x05 , 0x00 , 0x03 , 0x00 , 0x04 , 0x02 , 0x01 , 0x03 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 , 0x01 ,
/*000dc0*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 ,
/*000dd0*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*000de0*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x35 , 0x33 , 0x63 ,
/*000df0*/ 0x62 , 0x62 , 0x01 , 0x62 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x0b ,
/*000e00*/ 0x00 , 0x69 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x04 , 0x03 , 0x04 , 0x06 , 0x05 , 0x08 ,
/*000e10*/ 0x07 , 0x04 , 0x02 , 0x01 , 0x0a , 0x09 , 0x04 , 0x0b , 0x00 , 0x01 , 0x00 , 0x07 , 0x0a , 0x07 , 0x03 , 0x02 ,
/*000e20*/ 0x03 , 0x06 , 0x07 , 0x04 , 0x0b , 0x0a , 0x03 , 0x09 , 0x08 , 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x05 , 0x46 ,
/*000e30*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 ,
/*000e40*/ 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 ,
/*000e50*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*000e60*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 , 0x15 ,
/*000e70*/ 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x33 , 0x01 , 0x2b , 0x65 , 0x64 , 0x61 , 0x65 , 0x63 , 0x62 , 0x01 ,
/*000e80*/ 0x91 , 0xc8 , 0xc8 , 0xc6 , 0xc8 , 0xc8 , 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*000e90*/ 0x00 , 0x0b , 0x00 , 0x11 , 0x00 , 0x17 , 0x00 , 0x95 , 0x40 , 0x4d , 0x01 , 0x18 , 0x18 , 0x40 , 0x19 , 0x00 ,
/*000ea0*/ 0x15 , 0x14 , 0x05 , 0x05 , 0x11 , 0x10 , 0x05 , 0x00 , 0x17 , 0x16 , 0x0f , 0x0e , 0x08 , 0x07 , 0x04 , 0x07 ,
/*000eb0*/ 0x03 , 0x04 , 0x06 , 0x05 , 0x13 , 0x12 , 0x0d , 0x0c , 0x0a , 0x02 , 0x01 , 0x07 , 0x09 , 0x04 , 0x0b , 0x00 ,
/*000ec0*/ 0x17 , 0x12 , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x0e , 0x0d , 0x0b , 0x0a , 0x07 , 0x05 , 0x06 ,
/*000ed0*/ 0x06 , 0x08 , 0x11 , 0x0c , 0x06 , 0x13 , 0x14 , 0x13 , 0x10 , 0x03 , 0x0f , 0x06 , 0x16 , 0x15 , 0x09 , 0x08 ,
/*000ee0*/ 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c ,
/*000ef0*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*000f00*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd ,
/*000f10*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x18 , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*000f20*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x18 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 ,
/*000f30*/ 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x07 , 0x35 , 0x23 , 0x15 , 0x33 , 0x35 , 0x13 ,
/*000f40*/ 0x35 , 0x23 , 0x15 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 , 0xc6 , 0x61 ,
/*000f50*/ 0x65 , 0x62 , 0x64 , 0x65 , 0x64 , 0x65 , 0x01 , 0x8d , 0x64 , 0x65 , 0x61 , 0x62 , 0xc6 , 0x64 , 0xfe , 0xd4 ,
/*000f60*/ 0xc6 , 0x64 , 0x62 , 0x00 , 0x00 , 0x01 , 0x00 , 0x65 , 0x00 , 0x01 , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x07 ,
/*000f70*/ 0x00 , 0x54 , 0x40 , 0x20 , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x04 , 0x03 , 0x05 , 0x00 , 0x06 , 0x05 ,
/*000f80*/ 0x02 , 0x03 , 0x01 , 0x04 , 0x07 , 0x00 , 0x03 , 0x02 , 0x06 , 0x05 , 0x04 , 0x07 , 0x06 , 0x03 , 0x01 , 0x00 ,
/*000f90*/ 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x3c , 0xfd ,
/*000fa0*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*000fb0*/ 0xb9 , 0x00 , 0x03 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*000fc0*/ 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x11 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x01 , 0x2b ,
/*000fd0*/ 0x62 , 0x64 , 0x64 , 0x62 , 0x01 , 0x01 , 0x91 , 0x61 , 0x64 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*000fe0*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x19 , 0x00 , 0xa4 , 0x40 , 0x53 , 0x01 , 0x1a , 0x1a , 0x40 , 0x1b , 0x00 ,
/*000ff0*/ 0x12 , 0x11 , 0x06 , 0x03 , 0x05 , 0x04 , 0x14 , 0x13 , 0x0a , 0x03 , 0x09 , 0x04 , 0x03 , 0x04 , 0x16 , 0x15 ,
/*001000*/ 0x0c , 0x03 , 0x0b , 0x0e , 0x0d , 0x04 , 0x02 , 0x01 , 0x18 , 0x17 , 0x10 , 0x03 , 0x0f , 0x04 , 0x19 , 0x08 ,
/*001010*/ 0x07 , 0x03 , 0x00 , 0x13 , 0x12 , 0x01 , 0x03 , 0x00 , 0x06 , 0x19 , 0x18 , 0x0d , 0x03 , 0x02 , 0x03 , 0x0c ,
/*001020*/ 0x06 , 0x0b , 0x0a , 0x05 , 0x03 , 0x04 , 0x07 , 0x06 , 0x06 , 0x08 , 0x15 , 0x14 , 0x11 , 0x03 , 0x10 , 0x06 ,
/*001030*/ 0x16 , 0x17 , 0x16 , 0x03 , 0x0f , 0x0e , 0x02 , 0x09 , 0x08 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 ,
/*001040*/ 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f ,
/*001050*/ 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 ,
/*001060*/ 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c ,
/*001070*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x1a , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*001080*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x1a , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 ,
/*001090*/ 0x15 , 0x23 , 0x15 , 0x21 , 0x15 , 0x21 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x23 , 0x15 , 0x23 ,
/*0010a0*/ 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x01 , 0x8f , 0x65 , 0x64 , 0x63 , 0x01 , 0x2c , 0xfe , 0x72 , 0x65 ,
/*0010b0*/ 0x64 , 0x63 , 0xcb , 0x61 , 0x64 , 0xc6 , 0x64 , 0x01 , 0x91 , 0x64 , 0x64 , 0x67 , 0x61 , 0xc6 , 0x64 , 0x64 ,
/*0010c0*/ 0x66 , 0x64 , 0x62 , 0x64 , 0x65 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*0010d0*/ 0x00 , 0x1b , 0x00 , 0xa4 , 0x40 , 0x57 , 0x01 , 0x1c , 0x1c , 0x40 , 0x1d , 0x00 , 0x14 , 0x13 , 0x10 , 0x0f ,
/*0010e0*/ 0x08 , 0x04 , 0x03 , 0x07 , 0x07 , 0x04 , 0x12 , 0x11 , 0x06 , 0x03 , 0x05 , 0x1b , 0x18 , 0x17 , 0x03 , 0x00 ,
/*0010f0*/ 0x04 , 0x09 , 0x0c , 0x0b , 0x04 , 0x1a , 0x19 , 0x16 , 0x0e , 0x0d , 0x0a , 0x09 , 0x02 , 0x01 , 0x09 , 0x15 ,
/*001100*/ 0x1b , 0x1a , 0x07 , 0x00 , 0x09 , 0x08 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 ,
/*001110*/ 0x0b , 0x0a , 0x06 , 0x0c , 0x19 , 0x18 , 0x11 , 0x03 , 0x10 , 0x06 , 0x17 , 0x16 , 0x13 , 0x0f , 0x0e , 0x05 ,
/*001120*/ 0x12 , 0x15 , 0x14 , 0x03 , 0x0d , 0x0c , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 ,
/*001130*/ 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*001140*/ 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c ,
/*001150*/ 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 ,
/*001160*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x1c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*001170*/ 0x37 , 0xb9 , 0x00 , 0x1c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 ,
/*001180*/ 0x15 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 ,
/*001190*/ 0x15 , 0x23 , 0x15 , 0x33 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x62 , 0xca , 0x64 , 0x64 , 0xcb , 0x61 , 0x64 ,
/*0011a0*/ 0xc6 , 0x64 , 0x64 , 0x64 , 0x65 , 0x64 , 0x65 , 0x61 , 0x64 , 0xcb , 0x61 , 0x66 , 0x64 , 0x62 , 0x64 , 0x65 ,
/*0011b0*/ 0x61 , 0x67 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0d , 0x00 , 0x6a ,
/*0011c0*/ 0x40 , 0x2f , 0x01 , 0x0e , 0x0e , 0x40 , 0x0f , 0x00 , 0x0d , 0x00 , 0x0a , 0x09 , 0x04 , 0x03 , 0x03 , 0x04 ,
/*0011d0*/ 0x0c , 0x0b , 0x02 , 0x03 , 0x01 , 0x08 , 0x07 , 0x04 , 0x06 , 0x05 , 0x0d , 0x09 , 0x08 , 0x03 , 0x0c , 0x06 ,
/*0011e0*/ 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 ,
/*0011f0*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 ,
/*001200*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x00 , 0x31 ,
/*001210*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*001220*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 ,
/*001230*/ 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0x8f , 0x65 , 0x61 , 0xc8 , 0x62 , 0x67 , 0x61 ,
/*001240*/ 0x64 , 0xc9 , 0xc8 , 0xc8 , 0x01 , 0x8e , 0xfe , 0xd4 , 0x01 , 0x2c , 0xfe , 0xd3 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*001250*/ 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x7b , 0x40 , 0x38 , 0x01 , 0x10 , 0x10 , 0x40 ,
/*001260*/ 0x11 , 0x00 , 0x02 , 0x01 , 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x04 , 0x0f , 0x0a , 0x09 , 0x03 , 0x00 , 0x0c ,
/*001270*/ 0x0b , 0x04 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x0f , 0x0e , 0x07 , 0x00 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 ,
/*001280*/ 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x0d , 0x0c , 0x0b , 0x0a , 0x06 , 0x08 , 0x09 , 0x08 , 0x03 , 0x03 , 0x02 ,
/*001290*/ 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c ,
/*0012a0*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd ,
/*0012b0*/ 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 ,
/*0012c0*/ 0x00 , 0x03 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 ,
/*0012d0*/ 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x21 , 0x35 , 0x21 , 0x35 , 0x21 , 0x11 , 0x21 , 0x15 ,
/*0012e0*/ 0x21 , 0x15 , 0x33 , 0x15 , 0x33 , 0x01 , 0x8f , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2c , 0xfe , 0xd4 , 0x01 , 0x8e ,
/*0012f0*/ 0xfe , 0xd4 , 0xc8 , 0x64 , 0x65 , 0x64 , 0x62 , 0xca , 0x01 , 0x2a , 0x62 , 0x67 , 0x64 , 0x00 , 0x00 , 0x03 ,
/*001300*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x13 , 0x00 , 0x17 , 0x00 , 0x8a ,
/*001310*/ 0x40 , 0x49 , 0x01 , 0x18 , 0x18 , 0x40 , 0x19 , 0x00 , 0x17 , 0x16 , 0x13 , 0x12 , 0x08 , 0x07 , 0x04 , 0x07 ,
/*001320*/ 0x03 , 0x04 , 0x06 , 0x05 , 0x15 , 0x14 , 0x11 , 0x10 , 0x0e , 0x0d , 0x0a , 0x02 , 0x01 , 0x09 , 0x09 , 0x04 ,
/*001330*/ 0x0f , 0x0c , 0x0b , 0x03 , 0x00 , 0x17 , 0x14 , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x12 , 0x11 ,
/*001340*/ 0x0b , 0x0a , 0x07 , 0x05 , 0x06 , 0x06 , 0x08 , 0x16 , 0x0f , 0x0e , 0x03 , 0x15 , 0x06 , 0x13 , 0x10 , 0x0d ,
/*001350*/ 0x03 , 0x0c , 0x09 , 0x08 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 ,
/*001360*/ 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*001370*/ 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 ,
/*001380*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x18 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*001390*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x18 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 ,
/*0013a0*/ 0x11 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x27 , 0x35 , 0x23 , 0x15 , 0x13 , 0x35 ,
/*0013b0*/ 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 , 0x64 , 0x64 , 0xc6 , 0xc6 , 0xc6 ,
/*0013c0*/ 0x65 , 0x64 , 0x65 , 0x01 , 0x8d , 0x64 , 0x65 , 0x61 , 0x67 , 0x67 , 0x62 , 0x62 , 0xfe , 0xd4 , 0xc6 , 0xc6 ,
/*0013d0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x7d , 0x40 , 0x38 ,
/*0013e0*/ 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x04 , 0x03 , 0x04 , 0x06 , 0x05 , 0x08 , 0x07 , 0x04 , 0x02 , 0x01 ,
/*0013f0*/ 0x0a , 0x09 , 0x04 , 0x0f , 0x00 , 0x0c , 0x0b , 0x04 , 0x0e , 0x0d , 0x0d , 0x0c , 0x01 , 0x03 , 0x00 , 0x07 ,
/*001400*/ 0x0e , 0x07 , 0x03 , 0x02 , 0x03 , 0x06 , 0x07 , 0x04 , 0x0b , 0x0a , 0x06 , 0x0e , 0x0f , 0x0e , 0x03 , 0x09 ,
/*001410*/ 0x08 , 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x0d , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f ,
/*001420*/ 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f ,
/*001430*/ 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 ,
/*001440*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x0d , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*001450*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 , 0x15 ,
/*001460*/ 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x21 , 0x01 , 0x8f , 0x65 , 0x64 , 0x61 ,
/*001470*/ 0x65 , 0x63 , 0xcb , 0x61 , 0x01 , 0x8e , 0x01 , 0x91 , 0xc8 , 0xc8 , 0xc6 , 0xc8 , 0x66 , 0x64 , 0xc6 , 0x00 ,
/*001480*/ 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x13 , 0x00 , 0x17 , 0x00 , 0x1b ,
/*001490*/ 0x00 , 0x94 , 0x40 , 0x52 , 0x01 , 0x1c , 0x1c , 0x40 , 0x1d , 0x00 , 0x1b , 0x1a , 0x17 , 0x16 , 0x0c , 0x0b ,
/*0014a0*/ 0x08 , 0x07 , 0x04 , 0x09 , 0x03 , 0x04 , 0x0a , 0x09 , 0x06 , 0x03 , 0x05 , 0x19 , 0x18 , 0x15 , 0x14 , 0x12 ,
/*0014b0*/ 0x11 , 0x0e , 0x02 , 0x01 , 0x09 , 0x0d , 0x04 , 0x13 , 0x10 , 0x0f , 0x03 , 0x00 , 0x1b , 0x18 , 0x05 , 0x04 ,
/*0014c0*/ 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x16 , 0x15 , 0x0f , 0x0e , 0x0b , 0x05 , 0x0a , 0x06 , 0x0c , 0x1a , 0x19 ,
/*0014d0*/ 0x13 , 0x12 , 0x07 , 0x05 , 0x06 , 0x06 , 0x17 , 0x14 , 0x11 , 0x09 , 0x08 , 0x05 , 0x10 , 0x0d , 0x0c , 0x03 ,
/*0014e0*/ 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f ,
/*0014f0*/ 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x17 ,
/*001500*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*001510*/ 0xb9 , 0x00 , 0x05 , 0x00 , 0x1c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*001520*/ 0x00 , 0x1c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 ,
/*001530*/ 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x27 , 0x35 , 0x23 , 0x15 , 0x13 , 0x35 ,
/*001540*/ 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 , 0x64 , 0x64 , 0xc6 ,
/*001550*/ 0xc6 , 0xc6 , 0x65 , 0x64 , 0x65 , 0xc5 , 0x67 , 0x61 , 0x64 , 0x65 , 0x61 , 0x67 , 0x67 , 0x62 , 0x62 , 0xfe ,
/*001560*/ 0xd4 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f ,
/*001570*/ 0x00 , 0x13 , 0x00 , 0x17 , 0x00 , 0x8a , 0x40 , 0x49 , 0x01 , 0x18 , 0x18 , 0x40 , 0x19 , 0x00 , 0x17 , 0x16 ,
/*001580*/ 0x13 , 0x12 , 0x0c , 0x0b , 0x08 , 0x07 , 0x04 , 0x09 , 0x03 , 0x04 , 0x0a , 0x09 , 0x06 , 0x03 , 0x05 , 0x15 ,
/*001590*/ 0x14 , 0x11 , 0x10 , 0x0e , 0x02 , 0x01 , 0x07 , 0x0d , 0x04 , 0x0f , 0x00 , 0x17 , 0x14 , 0x05 , 0x01 , 0x00 ,
/*0015a0*/ 0x05 , 0x04 , 0x06 , 0x06 , 0x12 , 0x11 , 0x0f , 0x0e , 0x0b , 0x05 , 0x0a , 0x06 , 0x0c , 0x13 , 0x09 , 0x08 ,
/*0015b0*/ 0x03 , 0x10 , 0x06 , 0x16 , 0x15 , 0x07 , 0x03 , 0x06 , 0x0d , 0x0c , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 ,
/*0015c0*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c ,
/*0015d0*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 ,
/*0015e0*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x18 , 0x49 ,
/*0015f0*/ 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x18 , 0xff , 0xc0 , 0x38 , 0x59 ,
/*001600*/ 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 ,
/*001610*/ 0x07 , 0x35 , 0x23 , 0x15 , 0x17 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0x64 , 0x64 ,
/*001620*/ 0xc6 , 0x64 , 0x64 , 0xc6 , 0xc6 , 0xc6 , 0x65 , 0x64 , 0x65 , 0x61 , 0x67 , 0xc5 , 0x64 , 0x65 , 0xc5 , 0xc6 ,
/*001630*/ 0xc6 , 0xc8 , 0x62 , 0x62 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x65 , 0x00 , 0x63 , 0x01 , 0xf3 , 0x00 , 0x03 ,
/*001640*/ 0x00 , 0x07 , 0x00 , 0x54 , 0x40 , 0x20 , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x07 , 0x04 , 0x03 , 0x03 ,
/*001650*/ 0x00 , 0x04 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x01 , 0x00 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x04 , 0x03 ,
/*001660*/ 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x2f , 0x3c , 0x2f , 0x3c , 0x10 ,
/*001670*/ 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 ,
/*001680*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*001690*/ 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x13 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 , 0x35 , 0x33 ,
/*0016a0*/ 0x63 , 0x62 , 0x62 , 0x62 , 0x62 , 0x01 , 0x91 , 0x62 , 0xfe , 0x72 , 0x62 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 ,
/*0016b0*/ 0x00 , 0x01 , 0x00 , 0x63 , 0x01 , 0xf3 , 0x00 , 0x03 , 0x00 , 0x07 , 0x00 , 0x55 , 0x40 , 0x21 , 0x01 , 0x08 ,
/*0016c0*/ 0x08 , 0x40 , 0x09 , 0x00 , 0x07 , 0x04 , 0x03 , 0x03 , 0x00 , 0x04 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x07 ,
/*0016d0*/ 0x06 , 0x07 , 0x04 , 0x01 , 0x00 , 0x06 , 0x02 , 0x03 , 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x01 , 0x46 , 0x76 ,
/*0016e0*/ 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f ,
/*0016f0*/ 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 ,
/*001700*/ 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 ,
/*001710*/ 0x59 , 0x13 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 , 0x35 , 0x33 , 0x63 , 0x62 , 0x62 , 0x62 , 0x62 , 0x01 , 0x91 ,
/*001720*/ 0x62 , 0xfe , 0x0e , 0xc6 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x01 , 0xf3 , 0x00 , 0x13 ,
/*001730*/ 0x00 , 0x8a , 0x40 , 0x42 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x10 , 0x0f , 0x13 , 0x08 , 0x07 , 0x03 ,
/*001740*/ 0x00 , 0x04 , 0x09 , 0x12 , 0x11 , 0x0a , 0x09 , 0x06 , 0x02 , 0x01 , 0x07 , 0x05 , 0x04 , 0x0b , 0x0c , 0x0b ,
/*001750*/ 0x04 , 0x03 , 0x03 , 0x04 , 0x0e , 0x0d , 0x01 , 0x00 , 0x06 , 0x12 , 0x07 , 0x06 , 0x06 , 0x08 , 0x05 , 0x04 ,
/*001760*/ 0x06 , 0x0b , 0x0a , 0x0d , 0x0c , 0x06 , 0x0f , 0x03 , 0x02 , 0x03 , 0x0e , 0x13 , 0x12 , 0x11 , 0x10 , 0x02 ,
/*001770*/ 0x09 , 0x08 , 0x01 , 0x01 , 0x0d , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f ,
/*001780*/ 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c ,
/*001790*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e ,
/*0017a0*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x0d , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*0017b0*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 ,
/*0017c0*/ 0x15 , 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x33 ,
/*0017d0*/ 0x01 , 0x2b , 0x65 , 0x63 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0x65 , 0x63 , 0x62 , 0x01 , 0x91 , 0x64 , 0x67 ,
/*0017e0*/ 0x64 , 0x61 , 0x65 , 0x64 , 0x61 , 0x64 , 0x64 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x65 , 0x01 , 0x2b ,
/*0017f0*/ 0x01 , 0x8f , 0x00 , 0x03 , 0x00 , 0x07 , 0x00 , 0x54 , 0x40 , 0x1e , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 ,
/*001800*/ 0x07 , 0x06 , 0x05 , 0x04 , 0x03 , 0x02 , 0x01 , 0x00 , 0x01 , 0x00 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x04 ,
/*001810*/ 0x05 , 0x04 , 0x03 , 0x02 , 0x02 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f ,
/*001820*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e ,
/*001830*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*001840*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x21 , 0x35 , 0x21 ,
/*001850*/ 0x11 , 0x21 , 0x35 , 0x21 , 0x01 , 0x2b , 0xfe , 0xd6 , 0x01 , 0x2a , 0xfe , 0xd6 , 0x01 , 0x2a , 0x01 , 0x2d ,
/*001860*/ 0x62 , 0xfe , 0xd6 , 0x62 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x01 , 0xf3 , 0x00 , 0x13 ,
/*001870*/ 0x00 , 0x8e , 0x40 , 0x44 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x10 , 0x0f , 0x04 , 0x03 , 0x03 , 0x04 ,
/*001880*/ 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x0c , 0x0b , 0x08 , 0x03 , 0x07 , 0x04 , 0x02 , 0x01 , 0x12 , 0x11 , 0x0a ,
/*001890*/ 0x03 , 0x09 , 0x04 , 0x13 , 0x00 , 0x13 , 0x12 , 0x06 , 0x00 , 0x09 , 0x01 , 0x00 , 0x03 , 0x08 , 0x06 , 0x02 ,
/*0018a0*/ 0x07 , 0x03 , 0x02 , 0x03 , 0x06 , 0x06 , 0x04 , 0x0b , 0x0a , 0x06 , 0x11 , 0x10 , 0x0d , 0x0c , 0x06 , 0x0e ,
/*0018b0*/ 0x0f , 0x0e , 0x05 , 0x04 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f ,
/*0018c0*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*0018d0*/ 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 ,
/*0018e0*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x14 , 0x49 ,
/*0018f0*/ 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 ,
/*001900*/ 0x25 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 ,
/*001910*/ 0x15 , 0x33 , 0x15 , 0x33 , 0x01 , 0x2b , 0x65 , 0x64 , 0x61 , 0x65 , 0x63 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 ,
/*001920*/ 0xc9 , 0x64 , 0x64 , 0x62 , 0x64 , 0x67 , 0x63 , 0x62 , 0x65 , 0x64 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*001930*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x13 , 0x00 , 0x86 , 0x40 , 0x40 , 0x01 , 0x14 , 0x14 , 0x40 ,
/*001940*/ 0x15 , 0x00 , 0x02 , 0x01 , 0x05 , 0x03 , 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x04 , 0x0f , 0x00 , 0x08 , 0x07 ,
/*001950*/ 0x04 , 0x0a , 0x09 , 0x13 , 0x10 , 0x04 , 0x12 , 0x11 , 0x0c , 0x0b , 0x04 , 0x05 , 0x03 , 0x05 , 0x01 , 0x00 ,
/*001960*/ 0x03 , 0x04 , 0x06 , 0x03 , 0x02 , 0x09 , 0x08 , 0x06 , 0x0f , 0x0e , 0x0b , 0x07 , 0x06 , 0x05 , 0x0a , 0x13 ,
/*001970*/ 0x12 , 0x06 , 0x10 , 0x11 , 0x10 , 0x01 , 0x0d , 0x0c , 0x03 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*001980*/ 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd ,
/*001990*/ 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 ,
/*0019a0*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 ,
/*0019b0*/ 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 ,
/*0019c0*/ 0x01 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 ,
/*0019d0*/ 0x03 , 0x23 , 0x35 , 0x33 , 0x01 , 0x8f , 0x65 , 0xc5 , 0xc8 , 0xcb , 0x61 , 0x64 , 0xc6 , 0x64 , 0xc8 , 0x62 ,
/*0019e0*/ 0x62 , 0x01 , 0x2d , 0x64 , 0x62 , 0xca , 0x64 , 0x62 , 0x64 , 0x65 , 0xfe , 0x0f , 0x62 , 0x00 , 0x00 , 0x03 ,
/*0019f0*/ 0x00 , 0x01 , 0xff , 0x9d , 0x01 , 0xf3 , 0x01 , 0xf3 , 0x00 , 0x0b , 0x00 , 0x0f , 0x00 , 0x15 , 0x00 , 0x8a ,
/*001a00*/ 0x40 , 0x42 , 0x01 , 0x16 , 0x16 , 0x40 , 0x17 , 0x00 , 0x14 , 0x13 , 0x12 , 0x11 , 0x13 , 0x12 , 0x08 , 0x07 ,
/*001a10*/ 0x04 , 0x05 , 0x03 , 0x04 , 0x06 , 0x05 , 0x11 , 0x10 , 0x0d , 0x0c , 0x0a , 0x05 , 0x09 , 0x04 , 0x0b , 0x00 ,
/*001a20*/ 0x0f , 0x0e , 0x04 , 0x15 , 0x02 , 0x01 , 0x03 , 0x14 , 0x0f , 0x0c , 0x06 , 0x00 , 0x0e , 0x0d , 0x06 , 0x15 ,
/*001a30*/ 0x10 , 0x09 , 0x08 , 0x03 , 0x02 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x02 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 ,
/*001a40*/ 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f ,
/*001a50*/ 0x3c , 0x2f , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c ,
/*001a60*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x2e , 0x2e , 0x31 ,
/*001a70*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x16 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*001a80*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x16 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x15 , 0x23 , 0x35 , 0x23 ,
/*001a90*/ 0x11 , 0x33 , 0x35 , 0x21 , 0x15 , 0x33 , 0x03 , 0x35 , 0x23 , 0x15 , 0x37 , 0x35 , 0x21 , 0x11 , 0x33 , 0x11 ,
/*001aa0*/ 0x01 , 0xf3 , 0xfe , 0xd3 , 0x61 , 0x64 , 0x64 , 0x01 , 0x2a , 0x64 , 0x64 , 0x62 , 0x62 , 0xfe , 0xd6 , 0x62 ,
/*001ab0*/ 0x01 , 0x64 , 0x65 , 0x01 , 0x8d , 0x64 , 0x65 , 0xfe , 0xd7 , 0x62 , 0x62 , 0xc8 , 0x62 , 0xfe , 0x72 , 0x01 ,
/*001ac0*/ 0x2c , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x0d ,
/*001ad0*/ 0x00 , 0x6b , 0x40 , 0x30 , 0x01 , 0x0e , 0x0e , 0x40 , 0x0f , 0x00 , 0x0d , 0x0c , 0x08 , 0x04 , 0x03 , 0x05 ,
/*001ae0*/ 0x07 , 0x04 , 0x06 , 0x05 , 0x0b , 0x02 , 0x01 , 0x03 , 0x0a , 0x04 , 0x09 , 0x00 , 0x0d , 0x0a , 0x06 , 0x03 ,
/*001af0*/ 0x02 , 0x0c , 0x0b , 0x07 , 0x03 , 0x06 , 0x06 , 0x08 , 0x09 , 0x08 , 0x03 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 ,
/*001b00*/ 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd ,
/*001b10*/ 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 ,
/*001b20*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*001b30*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x35 ,
/*001b40*/ 0x23 , 0x15 , 0x23 , 0x11 , 0x33 , 0x35 , 0x21 , 0x03 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x62 , 0xca , 0x62 ,
/*001b50*/ 0x64 , 0x01 , 0x2a , 0x64 , 0xc6 , 0x01 , 0xc8 , 0xc8 , 0x01 , 0xf2 , 0x64 , 0xfe , 0xd6 , 0xc6 , 0xc6 , 0x00 ,
/*001b60*/ 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x0f , 0x00 , 0x13 ,
/*001b70*/ 0x00 , 0x82 , 0x40 , 0x41 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x13 , 0x12 , 0x0f , 0x03 , 0x0e , 0x04 ,
/*001b80*/ 0x04 , 0x03 , 0x11 , 0x10 , 0x0d , 0x0c , 0x0a , 0x09 , 0x06 , 0x02 , 0x01 , 0x09 , 0x05 , 0x04 , 0x0b , 0x08 ,
/*001b90*/ 0x07 , 0x03 , 0x00 , 0x13 , 0x10 , 0x01 , 0x03 , 0x00 , 0x06 , 0x02 , 0x0e , 0x07 , 0x06 , 0x03 , 0x0d , 0x06 ,
/*001ba0*/ 0x04 , 0x12 , 0x0b , 0x0a , 0x03 , 0x11 , 0x06 , 0x0f , 0x0c , 0x09 , 0x03 , 0x08 , 0x05 , 0x04 , 0x03 , 0x03 ,
/*001bb0*/ 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x17 ,
/*001bc0*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c ,
/*001bd0*/ 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*001be0*/ 0x03 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 ,
/*001bf0*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x21 , 0x11 , 0x21 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 ,
/*001c00*/ 0x27 , 0x35 , 0x23 , 0x15 , 0x13 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2a , 0x64 ,
/*001c10*/ 0x64 , 0x64 , 0x64 , 0xc6 , 0xc6 , 0xc6 , 0x65 , 0x64 , 0x02 , 0x56 , 0x65 , 0x61 , 0x67 , 0x67 , 0x62 , 0x62 ,
/*001c20*/ 0xfe , 0xd4 , 0xc6 , 0xc6 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0b ,
/*001c30*/ 0x00 , 0x64 , 0x40 , 0x2a , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x07 , 0x06 , 0x0b , 0x04 , 0x03 , 0x00 ,
/*001c40*/ 0x0a , 0x09 , 0x06 , 0x05 , 0x02 , 0x05 , 0x01 , 0x04 , 0x08 , 0x07 , 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x06 ,
/*001c50*/ 0x0a , 0x03 , 0x02 , 0x06 , 0x04 , 0x0b , 0x0a , 0x03 , 0x05 , 0x04 , 0x01 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f ,
/*001c60*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f ,
/*001c70*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*001c80*/ 0xb9 , 0x00 , 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*001c90*/ 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x21 , 0x11 , 0x21 , 0x15 , 0x21 , 0x35 , 0x23 , 0x11 , 0x33 ,
/*001ca0*/ 0x35 , 0x21 , 0x01 , 0x8f , 0xfe , 0xd4 , 0x01 , 0x2c , 0xfe , 0xd6 , 0x64 , 0x64 , 0x01 , 0x2a , 0x01 , 0xf5 ,
/*001cb0*/ 0xfe , 0x6e , 0x62 , 0x65 , 0x01 , 0x8d , 0x64 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*001cc0*/ 0x02 , 0x57 , 0x00 , 0x07 , 0x00 , 0x0b , 0x00 , 0x65 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 ,
/*001cd0*/ 0x0b , 0x0a , 0x04 , 0x04 , 0x03 , 0x09 , 0x08 , 0x06 , 0x02 , 0x01 , 0x05 , 0x05 , 0x04 , 0x07 , 0x00 , 0x0b ,
/*001ce0*/ 0x08 , 0x01 , 0x03 , 0x00 , 0x06 , 0x02 , 0x0a , 0x07 , 0x06 , 0x03 , 0x09 , 0x06 , 0x04 , 0x05 , 0x04 , 0x03 ,
/*001cf0*/ 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 ,
/*001d00*/ 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd ,
/*001d10*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*001d20*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 ,
/*001d30*/ 0x21 , 0x11 , 0x21 , 0x15 , 0x33 , 0x03 , 0x11 , 0x23 , 0x11 , 0x01 , 0x8f , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2a ,
/*001d40*/ 0x64 , 0x64 , 0xc6 , 0x65 , 0x64 , 0x02 , 0x56 , 0x65 , 0xfe , 0x73 , 0x01 , 0x8e , 0xfe , 0x72 , 0x00 , 0x01 ,
/*001d50*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0d , 0x00 , 0x6d , 0x40 , 0x2f , 0x01 , 0x0e ,
/*001d60*/ 0x0e , 0x40 , 0x0f , 0x00 , 0x0d , 0x08 , 0x07 , 0x04 , 0x03 , 0x00 , 0x0c , 0x0b , 0x06 , 0x05 , 0x02 , 0x05 ,
/*001d70*/ 0x01 , 0x04 , 0x0a , 0x09 , 0x0b , 0x0a , 0x01 , 0x03 , 0x00 , 0x06 , 0x0c , 0x05 , 0x04 , 0x06 , 0x03 , 0x02 ,
/*001d80*/ 0x07 , 0x06 , 0x06 , 0x08 , 0x0d , 0x0c , 0x03 , 0x09 , 0x08 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 ,
/*001d90*/ 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 ,
/*001da0*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 ,
/*001db0*/ 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 ,
/*001dc0*/ 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x21 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 ,
/*001dd0*/ 0x21 , 0x15 , 0x21 , 0x11 , 0x33 , 0x35 , 0x21 , 0x01 , 0x8f , 0xfe , 0xd4 , 0xc8 , 0xc8 , 0x01 , 0x2c , 0xfe ,
/*001de0*/ 0x72 , 0x64 , 0x01 , 0x2a , 0x01 , 0xf5 , 0x67 , 0x61 , 0xca , 0x62 , 0x01 , 0xf2 , 0x64 , 0x00 , 0x00 , 0x01 ,
/*001df0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x62 , 0x40 , 0x29 , 0x01 , 0x0c ,
/*001e00*/ 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x04 , 0x03 , 0x00 , 0x0a , 0x09 , 0x06 , 0x05 , 0x02 , 0x05 , 0x01 , 0x04 ,
/*001e10*/ 0x08 , 0x07 , 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x06 , 0x0a , 0x05 , 0x04 , 0x06 , 0x03 , 0x02 , 0x0b , 0x0a ,
/*001e20*/ 0x03 , 0x07 , 0x06 , 0x01 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c ,
/*001e30*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e ,
/*001e40*/ 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 ,
/*001e50*/ 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x21 ,
/*001e60*/ 0x15 , 0x33 , 0x15 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x35 , 0x21 , 0x01 , 0x8f , 0xfe , 0xd4 , 0xc8 , 0xc8 ,
/*001e70*/ 0x62 , 0x64 , 0x01 , 0x2a , 0x01 , 0xf5 , 0x67 , 0x61 , 0xfe , 0xd4 , 0x01 , 0xf2 , 0x64 , 0x00 , 0x00 , 0x01 ,
/*001e80*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x7c , 0x40 , 0x39 , 0x01 , 0x10 ,
/*001e90*/ 0x10 , 0x40 , 0x11 , 0x00 , 0x03 , 0x02 , 0x0e , 0x0d , 0x05 , 0x00 , 0x0a , 0x06 , 0x05 , 0x02 , 0x01 , 0x05 ,
/*001ea0*/ 0x09 , 0x04 , 0x04 , 0x03 , 0x0c , 0x0b , 0x04 , 0x0f , 0x08 , 0x07 , 0x03 , 0x00 , 0x0b , 0x0a , 0x06 , 0x00 ,
/*001eb0*/ 0x09 , 0x05 , 0x04 , 0x03 , 0x08 , 0x06 , 0x06 , 0x0d , 0x0c , 0x06 , 0x0e , 0x0f , 0x0e , 0x02 , 0x07 , 0x06 ,
/*001ec0*/ 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c ,
/*001ed0*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c ,
/*001ee0*/ 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 ,
/*001ef0*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*001f00*/ 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x11 , 0x33 , 0x35 , 0x21 ,
/*001f10*/ 0x15 , 0x21 , 0x11 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x64 , 0x01 , 0x2a ,
/*001f20*/ 0xfe , 0xd4 , 0xca , 0x64 , 0xc6 , 0x01 , 0x65 , 0x01 , 0x8d , 0x64 , 0x62 , 0xfe , 0x6e , 0xcb , 0x61 , 0x00 ,
/*001f30*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x65 , 0x40 , 0x2c ,
/*001f40*/ 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0a , 0x09 , 0x02 , 0x03 , 0x01 , 0x04 , 0x0b , 0x00 , 0x08 , 0x07 ,
/*001f50*/ 0x04 , 0x03 , 0x03 , 0x04 , 0x06 , 0x05 , 0x03 , 0x02 , 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x0b , 0x0a , 0x07 ,
/*001f60*/ 0x03 , 0x06 , 0x03 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*001f70*/ 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*001f80*/ 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 ,
/*001f90*/ 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff ,
/*001fa0*/ 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 ,
/*001fb0*/ 0x8f , 0x62 , 0xca , 0x62 , 0x62 , 0xca , 0x62 , 0x01 , 0x01 , 0x2c , 0xfe , 0xd4 , 0x02 , 0x56 , 0xc8 , 0xc8 ,
/*001fc0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x6c , 0x40 , 0x30 ,
/*001fd0*/ 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x08 , 0x07 , 0x03 , 0x00 , 0x08 , 0x09 , 0x06 , 0x05 , 0x02 ,
/*001fe0*/ 0x03 , 0x01 , 0x08 , 0x03 , 0x04 , 0x03 , 0x04 , 0x0a , 0x09 , 0x0b , 0x0a , 0x03 , 0x03 , 0x02 , 0x06 , 0x00 ,
/*001ff0*/ 0x09 , 0x08 , 0x05 , 0x03 , 0x04 , 0x06 , 0x06 , 0x07 , 0x06 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x01 , 0x46 ,
/*002000*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 ,
/*002010*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 ,
/*002020*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*002030*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x33 , 0x11 , 0x23 ,
/*002040*/ 0x35 , 0x21 , 0x15 , 0x23 , 0x11 , 0x33 , 0x01 , 0x2b , 0xfe , 0xd6 , 0x64 , 0x64 , 0x01 , 0x2a , 0x64 , 0x64 ,
/*002050*/ 0x01 , 0x62 , 0x01 , 0x92 , 0x62 , 0x62 , 0xfe , 0x6d , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*002060*/ 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x61 , 0x40 , 0x27 , 0x01 , 0x0a , 0x0a , 0x40 , 0x0b , 0x00 , 0x04 , 0x03 ,
/*002070*/ 0x02 , 0x01 , 0x08 , 0x07 , 0x05 , 0x00 , 0x06 , 0x05 , 0x04 , 0x09 , 0x00 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 ,
/*002080*/ 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x08 , 0x09 , 0x08 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 ,
/*002090*/ 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 ,
/*0020a0*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*0020b0*/ 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0a , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*0020c0*/ 0xb9 , 0x00 , 0x0a , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x21 , 0x35 , 0x21 , 0x11 , 0x23 , 0x35 ,
/*0020d0*/ 0x33 , 0x01 , 0x8f , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2c , 0x64 , 0xc6 , 0x65 , 0x64 , 0x62 , 0x01 , 0x92 , 0x62 ,
/*0020e0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x76 , 0x40 , 0x37 ,
/*0020f0*/ 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x0f , 0x0e , 0x0e , 0x0d , 0x0a , 0x09 , 0x02 , 0x05 , 0x01 , 0x04 ,
/*002100*/ 0x0f , 0x0c , 0x0b , 0x03 , 0x00 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x04 , 0x06 , 0x05 , 0x0d , 0x0c , 0x07 ,
/*002110*/ 0x06 , 0x03 , 0x02 , 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x03 , 0x05 , 0x04 ,
/*002120*/ 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f ,
/*002130*/ 0x17 , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*002140*/ 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*002150*/ 0x05 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 ,
/*002160*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 ,
/*002170*/ 0x15 , 0x23 , 0x15 , 0x33 , 0x01 , 0x8f , 0x62 , 0xca , 0x62 , 0x62 , 0xca , 0x62 , 0x64 , 0x64 , 0x01 , 0x01 ,
/*002180*/ 0x2c , 0xfe , 0xd4 , 0x02 , 0x56 , 0xc8 , 0xc8 , 0xc6 , 0x67 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*002190*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x07 , 0x00 , 0x53 , 0x40 , 0x1f , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 ,
/*0021a0*/ 0x03 , 0x02 , 0x07 , 0x00 , 0x06 , 0x02 , 0x01 , 0x03 , 0x05 , 0x04 , 0x04 , 0x03 , 0x07 , 0x06 , 0x06 , 0x00 ,
/*0021b0*/ 0x05 , 0x04 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c ,
/*0021c0*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x00 , 0x2e , 0x2e ,
/*0021d0*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*0021e0*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x11 ,
/*0021f0*/ 0x33 , 0x11 , 0x21 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x62 , 0x01 , 0x2c , 0x01 , 0x65 , 0x01 , 0xf1 , 0xfe ,
/*002200*/ 0x0c , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x02 , 0x57 , 0x00 , 0x13 , 0x00 , 0x8a ,
/*002210*/ 0x40 , 0x43 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x10 , 0x0f , 0x05 , 0x00 , 0x12 , 0x11 , 0x02 , 0x03 ,
/*002220*/ 0x01 , 0x04 , 0x13 , 0x00 , 0x04 , 0x03 , 0x04 , 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x0c , 0x0b , 0x08 , 0x03 ,
/*002230*/ 0x07 , 0x04 , 0x0a , 0x09 , 0x07 , 0x06 , 0x03 , 0x03 , 0x02 , 0x06 , 0x11 , 0x0d , 0x0c , 0x03 , 0x10 , 0x05 ,
/*002240*/ 0x04 , 0x06 , 0x0e , 0x0f , 0x0e , 0x02 , 0x13 , 0x12 , 0x0b , 0x03 , 0x0a , 0x03 , 0x09 , 0x08 , 0x01 , 0x03 ,
/*002250*/ 0x00 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c ,
/*002260*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 ,
/*002270*/ 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 ,
/*002280*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*002290*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x11 , 0x23 , 0x15 , 0x23 ,
/*0022a0*/ 0x35 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x35 , 0x33 , 0x01 , 0xf3 ,
/*0022b0*/ 0x62 , 0x67 , 0x61 , 0x67 , 0x61 , 0x62 , 0x64 , 0x67 , 0x64 , 0x61 , 0x01 , 0x01 , 0x90 , 0x64 , 0x64 , 0xfe ,
/*0022c0*/ 0x70 , 0x02 , 0x56 , 0x65 , 0x63 , 0x64 , 0x64 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*0022d0*/ 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x79 , 0x40 , 0x38 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x0c , 0x04 ,
/*0022e0*/ 0x03 , 0x03 , 0x0b , 0x05 , 0x07 , 0x0e , 0x0d , 0x02 , 0x03 , 0x01 , 0x04 , 0x0f , 0x00 , 0x0a , 0x09 , 0x06 ,
/*0022f0*/ 0x03 , 0x05 , 0x04 , 0x08 , 0x07 , 0x03 , 0x02 , 0x06 , 0x0c , 0x05 , 0x04 , 0x06 , 0x0b , 0x0a , 0x0d , 0x0c ,
/*002300*/ 0x02 , 0x0f , 0x0e , 0x09 , 0x03 , 0x08 , 0x03 , 0x07 , 0x06 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x07 , 0x46 ,
/*002310*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x2f , 0x3c , 0xfd ,
/*002320*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 ,
/*002330*/ 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x10 , 0x49 , 0x68 ,
/*002340*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 ,
/*002350*/ 0x23 , 0x11 , 0x23 , 0x35 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 ,
/*002360*/ 0x8f , 0x62 , 0x64 , 0x67 , 0x61 , 0x62 , 0x64 , 0x67 , 0x61 , 0x01 , 0x01 , 0x2d , 0x63 , 0xfe , 0x70 , 0x02 ,
/*002370*/ 0x56 , 0x65 , 0x63 , 0xc8 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0b ,
/*002380*/ 0x00 , 0x0f , 0x00 , 0x6f , 0x40 , 0x35 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x0f , 0x0e , 0x08 , 0x07 ,
/*002390*/ 0x04 , 0x05 , 0x03 , 0x04 , 0x06 , 0x05 , 0x0d , 0x0c , 0x0a , 0x02 , 0x01 , 0x05 , 0x09 , 0x04 , 0x0b , 0x00 ,
/*0023a0*/ 0x0f , 0x0c , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x0e , 0x0d , 0x0b , 0x0a , 0x07 , 0x05 , 0x06 ,
/*0023b0*/ 0x06 , 0x08 , 0x09 , 0x08 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 ,
/*0023c0*/ 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*0023d0*/ 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 ,
/*0023e0*/ 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff ,
/*0023f0*/ 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x03 ,
/*002400*/ 0x11 , 0x23 , 0x11 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 , 0xc6 , 0x65 , 0x64 , 0x65 ,
/*002410*/ 0x01 , 0x8d , 0x64 , 0x65 , 0xfe , 0x73 , 0x01 , 0x8e , 0xfe , 0x72 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*002420*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x0d , 0x00 , 0x6b , 0x40 , 0x30 , 0x01 , 0x0e , 0x0e , 0x40 ,
/*002430*/ 0x0f , 0x00 , 0x0d , 0x04 , 0x03 , 0x03 , 0x0c , 0x04 , 0x06 , 0x05 , 0x0b , 0x0a , 0x08 , 0x02 , 0x01 , 0x05 ,
/*002440*/ 0x07 , 0x04 , 0x09 , 0x00 , 0x0d , 0x0a , 0x01 , 0x03 , 0x00 , 0x06 , 0x03 , 0x02 , 0x0c , 0x09 , 0x08 , 0x03 ,
/*002450*/ 0x0b , 0x06 , 0x06 , 0x07 , 0x06 , 0x03 , 0x05 , 0x04 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*002460*/ 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f ,
/*002470*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 ,
/*002480*/ 0x00 , 0x05 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 ,
/*002490*/ 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x11 , 0x21 , 0x15 , 0x33 , 0x07 ,
/*0024a0*/ 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc7 , 0x62 , 0x01 , 0x2a , 0x64 , 0x64 , 0xc6 , 0x01 , 0x2d , 0x64 ,
/*0024b0*/ 0xc8 , 0x02 , 0x56 , 0x65 , 0xc5 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*0024c0*/ 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x0f , 0x00 , 0x13 , 0x00 , 0x85 , 0x40 , 0x42 , 0x01 , 0x14 , 0x14 , 0x40 ,
/*0024d0*/ 0x15 , 0x00 , 0x11 , 0x0f , 0x0e , 0x03 , 0x10 , 0x05 , 0x00 , 0x13 , 0x12 , 0x0d , 0x0c , 0x06 , 0x05 , 0x02 ,
/*0024e0*/ 0x07 , 0x01 , 0x04 , 0x04 , 0x03 , 0x0b , 0x0a , 0x08 , 0x03 , 0x07 , 0x04 , 0x09 , 0x00 , 0x13 , 0x03 , 0x02 ,
/*0024f0*/ 0x03 , 0x10 , 0x06 , 0x00 , 0x0c , 0x0b , 0x09 , 0x08 , 0x05 , 0x05 , 0x04 , 0x06 , 0x06 , 0x0e , 0x0d , 0x06 ,
/*002500*/ 0x12 , 0x0f , 0x0a , 0x03 , 0x11 , 0x07 , 0x06 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f ,
/*002510*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*002520*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 ,
/*002530*/ 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x14 , 0x49 , 0x68 ,
/*002540*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 ,
/*002550*/ 0x21 , 0x35 , 0x23 , 0x11 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x03 , 0x11 , 0x23 , 0x15 , 0x33 , 0x15 , 0x07 ,
/*002560*/ 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x02 , 0x62 ,
/*002570*/ 0x01 , 0x65 , 0x01 , 0x8d , 0x64 , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2a , 0xc5 , 0x65 , 0x64 , 0x62 , 0x62 , 0x00 ,
/*002580*/ 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0d , 0x00 , 0x11 , 0x00 , 0x7c ,
/*002590*/ 0x40 , 0x3c , 0x01 , 0x12 , 0x12 , 0x40 , 0x13 , 0x00 , 0x11 , 0x04 , 0x03 , 0x03 , 0x10 , 0x04 , 0x06 , 0x05 ,
/*0025a0*/ 0x0f , 0x0e , 0x0c , 0x0b , 0x08 , 0x02 , 0x01 , 0x07 , 0x07 , 0x04 , 0x0d , 0x0a , 0x09 , 0x03 , 0x00 , 0x0d ,
/*0025b0*/ 0x0c , 0x07 , 0x00 , 0x11 , 0x0e , 0x0b , 0x03 , 0x0a , 0x06 , 0x03 , 0x02 , 0x10 , 0x09 , 0x08 , 0x03 , 0x0f ,
/*0025c0*/ 0x06 , 0x06 , 0x07 , 0x06 , 0x03 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f ,
/*0025d0*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 ,
/*0025e0*/ 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*0025f0*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x12 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*002600*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x12 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x35 , 0x23 ,
/*002610*/ 0x15 , 0x23 , 0x11 , 0x21 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x27 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f ,
/*002620*/ 0x62 , 0xca , 0x62 , 0x01 , 0x2a , 0x64 , 0x64 , 0x64 , 0x64 , 0xc6 , 0x01 , 0xc8 , 0xc8 , 0x02 , 0x56 , 0x65 ,
/*002630*/ 0xc5 , 0x67 , 0x67 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*002640*/ 0x00 , 0x17 , 0x00 , 0xa3 , 0x40 , 0x53 , 0x01 , 0x18 , 0x18 , 0x40 , 0x19 , 0x00 , 0x17 , 0x10 , 0x0f , 0x03 ,
/*002650*/ 0x00 , 0x04 , 0x05 , 0x16 , 0x06 , 0x05 , 0x02 , 0x01 , 0x05 , 0x15 , 0x04 , 0x07 , 0x14 , 0x08 , 0x07 , 0x03 ,
/*002660*/ 0x13 , 0x04 , 0x09 , 0x12 , 0x0e , 0x0d , 0x0a , 0x09 , 0x05 , 0x11 , 0x04 , 0x0c , 0x0b , 0x04 , 0x03 , 0x03 ,
/*002670*/ 0x17 , 0x16 , 0x06 , 0x00 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x15 , 0x14 , 0x06 , 0x07 , 0x06 ,
/*002680*/ 0x09 , 0x08 , 0x06 , 0x13 , 0x12 , 0x0b , 0x0a , 0x06 , 0x0c , 0x11 , 0x0d , 0x0c , 0x03 , 0x10 , 0x06 , 0x0e ,
/*002690*/ 0x0f , 0x0e , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c ,
/*0026a0*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd ,
/*0026b0*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 ,
/*0026c0*/ 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*0026d0*/ 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x18 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*0026e0*/ 0xb9 , 0x00 , 0x18 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x21 , 0x35 , 0x21 , 0x35 , 0x23 , 0x35 ,
/*0026f0*/ 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x21 , 0x15 , 0x21 , 0x15 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 , 0x01 ,
/*002700*/ 0x8f , 0x65 , 0xfe , 0xd7 , 0x01 , 0x2c , 0x64 , 0x64 , 0x64 , 0x64 , 0x01 , 0x2a , 0xfe , 0xd4 , 0x64 , 0x64 ,
/*002710*/ 0x64 , 0x65 , 0x64 , 0x62 , 0x67 , 0x64 , 0x64 , 0x61 , 0x64 , 0x62 , 0x67 , 0x64 , 0x64 , 0x00 , 0x00 , 0x01 ,
/*002720*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x02 , 0x57 , 0x00 , 0x07 , 0x00 , 0x53 , 0x40 , 0x1f , 0x01 , 0x08 ,
/*002730*/ 0x08 , 0x40 , 0x09 , 0x00 , 0x07 , 0x06 , 0x05 , 0x00 , 0x02 , 0x01 , 0x04 , 0x04 , 0x03 , 0x05 , 0x04 , 0x01 ,
/*002740*/ 0x03 , 0x00 , 0x06 , 0x06 , 0x07 , 0x06 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 ,
/*002750*/ 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2e ,
/*002760*/ 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x08 , 0x49 , 0x68 ,
/*002770*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 ,
/*002780*/ 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x35 , 0x21 , 0x01 , 0xf3 , 0xc8 , 0x62 , 0xc8 , 0x01 , 0xf2 , 0x01 , 0xf5 ,
/*002790*/ 0xfe , 0x0c , 0x01 , 0xf4 , 0x62 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*0027a0*/ 0x00 , 0x0b , 0x00 , 0x67 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x05 , 0x04 , 0x02 , 0x01 ,
/*0027b0*/ 0x05 , 0x03 , 0x08 , 0x04 , 0x03 , 0x03 , 0x07 , 0x04 , 0x06 , 0x05 , 0x0a , 0x09 , 0x04 , 0x0b , 0x00 , 0x09 ,
/*0027c0*/ 0x01 , 0x00 , 0x03 , 0x08 , 0x06 , 0x02 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 ,
/*0027d0*/ 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*0027e0*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x2e , 0x2e ,
/*0027f0*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*002800*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 ,
/*002810*/ 0x23 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x62 , 0xca , 0x62 , 0x65 ,
/*002820*/ 0x64 , 0x65 , 0x01 , 0xf1 , 0xfe , 0x0c , 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*002830*/ 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x79 , 0x40 , 0x37 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x04 , 0x03 ,
/*002840*/ 0x05 , 0x07 , 0x0a , 0x09 , 0x06 , 0x03 , 0x05 , 0x04 , 0x08 , 0x07 , 0x0c , 0x0b , 0x04 , 0x02 , 0x01 , 0x0e ,
/*002850*/ 0x0d , 0x04 , 0x0f , 0x00 , 0x0d , 0x01 , 0x00 , 0x03 , 0x0c , 0x06 , 0x02 , 0x0b , 0x03 , 0x02 , 0x03 , 0x0a ,
/*002860*/ 0x06 , 0x05 , 0x04 , 0x0f , 0x0e , 0x09 , 0x03 , 0x08 , 0x03 , 0x07 , 0x06 , 0x01 , 0x01 , 0x07 , 0x46 , 0x76 ,
/*002870*/ 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*002880*/ 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*002890*/ 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x10 , 0x49 , 0x68 ,
/*0028a0*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 ,
/*0028b0*/ 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x11 , 0x33 , 0x11 , 0x33 , 0x35 , 0x33 , 0x11 , 0x33 , 0x01 ,
/*0028c0*/ 0x8f , 0x65 , 0x64 , 0x64 , 0x61 , 0x62 , 0x67 , 0x64 , 0x61 , 0x01 , 0x2d , 0x64 , 0x64 , 0x64 , 0x02 , 0x56 ,
/*0028d0*/ 0xfe , 0x70 , 0x64 , 0x01 , 0x2c , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x02 , 0x57 ,
/*0028e0*/ 0x00 , 0x13 , 0x00 , 0x87 , 0x40 , 0x41 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x0f , 0x0e , 0x09 , 0x08 ,
/*0028f0*/ 0x02 , 0x01 , 0x04 , 0x03 , 0x06 , 0x05 , 0x04 , 0x07 , 0x0c , 0x08 , 0x07 , 0x03 , 0x0b , 0x04 , 0x0a , 0x09 ,
/*002900*/ 0x0e , 0x0d , 0x04 , 0x10 , 0x04 , 0x03 , 0x03 , 0x0f , 0x12 , 0x11 , 0x04 , 0x13 , 0x00 , 0x11 , 0x10 , 0x0d ,
/*002910*/ 0x05 , 0x04 , 0x01 , 0x00 , 0x07 , 0x0c , 0x06 , 0x02 , 0x13 , 0x12 , 0x0b , 0x03 , 0x0a , 0x03 , 0x07 , 0x06 ,
/*002920*/ 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f ,
/*002930*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c ,
/*002940*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x2e , 0x2e , 0x2e , 0x2e ,
/*002950*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*002960*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 ,
/*002970*/ 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 ,
/*002980*/ 0xf3 , 0x65 , 0x61 , 0x67 , 0x61 , 0x64 , 0x62 , 0x67 , 0x61 , 0x66 , 0x62 , 0x65 , 0x64 , 0x64 , 0x64 , 0x65 ,
/*002990*/ 0x01 , 0xf1 , 0xfe , 0x0c , 0x01 , 0x90 , 0xfe , 0x70 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*0029a0*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x13 , 0x00 , 0x87 , 0x40 , 0x44 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 ,
/*0029b0*/ 0x12 , 0x11 , 0x06 , 0x02 , 0x01 , 0x05 , 0x05 , 0x04 , 0x13 , 0x04 , 0x03 , 0x03 , 0x00 , 0x10 , 0x0f , 0x0c ,
/*0029c0*/ 0x0b , 0x08 , 0x05 , 0x07 , 0x04 , 0x0e , 0x0d , 0x0a , 0x03 , 0x09 , 0x0d , 0x0c , 0x01 , 0x03 , 0x00 , 0x07 ,
/*0029d0*/ 0x0e , 0x03 , 0x02 , 0x07 , 0x04 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x07 , 0x10 , 0x11 , 0x10 , 0x02 , 0x13 ,
/*0029e0*/ 0x12 , 0x0f , 0x03 , 0x0e , 0x03 , 0x09 , 0x08 , 0x05 , 0x03 , 0x04 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f ,
/*0029f0*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 ,
/*002a00*/ 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c ,
/*002a10*/ 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 , 0x68 ,
/*002a20*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 ,
/*002a30*/ 0x23 , 0x15 , 0x33 , 0x15 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 ,
/*002a40*/ 0x33 , 0x35 , 0x33 , 0x01 , 0x8f , 0x64 , 0x64 , 0x62 , 0xca , 0x62 , 0x64 , 0x64 , 0x62 , 0xca , 0x62 , 0x01 ,
/*002a50*/ 0x91 , 0xcb , 0xc5 , 0xc8 , 0xc8 , 0xc6 , 0xca , 0xc6 , 0xc8 , 0xc8 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*002a60*/ 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x76 , 0x40 , 0x36 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 ,
/*002a70*/ 0x09 , 0x08 , 0x02 , 0x01 , 0x05 , 0x03 , 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x04 , 0x0f , 0x00 , 0x0c , 0x08 ,
/*002a80*/ 0x07 , 0x04 , 0x03 , 0x05 , 0x0b , 0x04 , 0x0a , 0x09 , 0x05 , 0x01 , 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x0d ,
/*002a90*/ 0x0c , 0x06 , 0x07 , 0x06 , 0x0f , 0x0e , 0x0b , 0x03 , 0x0a , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x09 , 0x46 ,
/*002aa0*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd ,
/*002ab0*/ 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c ,
/*002ac0*/ 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 ,
/*002ad0*/ 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 ,
/*002ae0*/ 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0x8f ,
/*002af0*/ 0x65 , 0xc5 , 0xc8 , 0xc8 , 0x64 , 0x62 , 0xca , 0x62 , 0x65 , 0x64 , 0x62 , 0x67 , 0x64 , 0x01 , 0x29 , 0xfe ,
/*002b00*/ 0xd4 , 0x01 , 0x2c , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x13 ,
/*002b10*/ 0x00 , 0x8e , 0x40 , 0x43 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x06 , 0x05 , 0x04 , 0x12 , 0x11 , 0x0a ,
/*002b20*/ 0x03 , 0x09 , 0x04 , 0x03 , 0x04 , 0x0c , 0x0b , 0x0e , 0x0d , 0x04 , 0x02 , 0x01 , 0x10 , 0x0f , 0x04 , 0x13 ,
/*002b30*/ 0x08 , 0x07 , 0x03 , 0x00 , 0x01 , 0x00 , 0x07 , 0x12 , 0x0d , 0x03 , 0x02 , 0x03 , 0x0c , 0x06 , 0x0b , 0x0a ,
/*002b40*/ 0x05 , 0x03 , 0x04 , 0x07 , 0x06 , 0x06 , 0x08 , 0x11 , 0x10 , 0x06 , 0x12 , 0x13 , 0x12 , 0x03 , 0x0f , 0x0e ,
/*002b50*/ 0x02 , 0x09 , 0x08 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c ,
/*002b60*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*002b70*/ 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f ,
/*002b80*/ 0x17 , 0x3c , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 ,
/*002b90*/ 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 ,
/*002ba0*/ 0x01 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x15 , 0x21 , 0x15 , 0x21 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x33 ,
/*002bb0*/ 0x35 , 0x21 , 0x35 , 0x21 , 0x01 , 0x8f , 0x65 , 0x64 , 0x63 , 0x01 , 0x2c , 0xfe , 0x72 , 0x65 , 0x64 , 0x63 ,
/*002bc0*/ 0xfe , 0xd4 , 0x01 , 0x8e , 0x01 , 0x91 , 0x64 , 0x64 , 0x67 , 0x61 , 0xc6 , 0x64 , 0x64 , 0x66 , 0x62 , 0x00 ,
/*002bd0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0xc7 , 0x02 , 0x57 , 0x00 , 0x07 , 0x00 , 0x59 , 0x40 , 0x23 ,
/*002be0*/ 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x07 , 0x04 , 0x03 , 0x03 , 0x00 , 0x05 , 0x01 , 0x06 , 0x05 , 0x04 ,
/*002bf0*/ 0x02 , 0x01 , 0x07 , 0x06 , 0x06 , 0x00 , 0x05 , 0x04 , 0x06 , 0x02 , 0x03 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 ,
/*002c00*/ 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 ,
/*002c10*/ 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*002c20*/ 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*002c30*/ 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x11 , 0x33 , 0x15 , 0x23 , 0x11 , 0x33 , 0xc7 ,
/*002c40*/ 0xc6 , 0xc6 , 0x64 , 0x64 , 0x01 , 0x02 , 0x56 , 0x62 , 0xfe , 0x6d , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*002c50*/ 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x6d , 0x40 , 0x2f , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 ,
/*002c60*/ 0x0b , 0x00 , 0x04 , 0x01 , 0x0a , 0x02 , 0x01 , 0x03 , 0x09 , 0x04 , 0x03 , 0x08 , 0x04 , 0x03 , 0x03 , 0x07 ,
/*002c70*/ 0x04 , 0x06 , 0x05 , 0x0b , 0x0a , 0x07 , 0x00 , 0x03 , 0x02 , 0x07 , 0x09 , 0x08 , 0x05 , 0x04 , 0x07 , 0x06 ,
/*002c80*/ 0x07 , 0x06 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c ,
/*002c90*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*002ca0*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 ,
/*002cb0*/ 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 ,
/*002cc0*/ 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 , 0x33 , 0x15 ,
/*002cd0*/ 0x33 , 0x01 , 0x2b , 0x62 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0x01 , 0xc9 , 0xc7 , 0xc6 , 0xc9 , 0xc8 , 0x00 ,
/*002ce0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0xc7 , 0x02 , 0x57 , 0x00 , 0x07 , 0x00 , 0x59 , 0x40 , 0x23 ,
/*002cf0*/ 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x05 , 0x00 , 0x04 , 0x03 , 0x04 ,
/*002d00*/ 0x07 , 0x00 , 0x03 , 0x02 , 0x06 , 0x00 , 0x05 , 0x04 , 0x06 , 0x06 , 0x07 , 0x06 , 0x03 , 0x01 , 0x00 , 0x01 ,
/*002d10*/ 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 ,
/*002d20*/ 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*002d30*/ 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*002d40*/ 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 , 0x35 , 0x33 , 0xc7 ,
/*002d50*/ 0xc6 , 0x64 , 0x64 , 0xc6 , 0x01 , 0x62 , 0x01 , 0x92 , 0x62 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x91 ,
/*002d60*/ 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x69 , 0x40 , 0x2d , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 ,
/*002d70*/ 0x0b , 0x00 , 0x04 , 0x01 , 0x04 , 0x03 , 0x04 , 0x06 , 0x05 , 0x08 , 0x07 , 0x04 , 0x0a , 0x02 , 0x01 , 0x03 ,
/*002d80*/ 0x09 , 0x0b , 0x0a , 0x06 , 0x00 , 0x07 , 0x06 , 0x03 , 0x03 , 0x02 , 0x06 , 0x08 , 0x05 , 0x04 , 0x01 , 0x03 ,
/*002d90*/ 0x00 , 0x09 , 0x08 , 0x03 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x17 ,
/*002da0*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c ,
/*002db0*/ 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c ,
/*002dc0*/ 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 ,
/*002dd0*/ 0x59 , 0x01 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x01 , 0x2b , 0x62 ,
/*002de0*/ 0x67 , 0x61 , 0x64 , 0x62 , 0x64 , 0x01 , 0x91 , 0x64 , 0x64 , 0x62 , 0x64 , 0x65 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*002df0*/ 0x00 , 0x01 , 0x01 , 0x8f , 0x00 , 0x63 , 0x00 , 0x03 , 0x00 , 0x3e , 0x40 , 0x12 , 0x01 , 0x04 , 0x04 , 0x40 ,
/*002e00*/ 0x05 , 0x00 , 0x03 , 0x02 , 0x01 , 0x00 , 0x03 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f ,
/*002e10*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x01 , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 ,
/*002e20*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*002e30*/ 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x21 , 0x01 , 0x8f , 0xfe , 0x72 ,
/*002e40*/ 0x01 , 0x8e , 0x01 , 0x62 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x07 ,
/*002e50*/ 0x00 , 0x0b , 0x00 , 0x65 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x0a , 0x06 , 0x05 ,
/*002e60*/ 0x02 , 0x05 , 0x01 , 0x04 , 0x04 , 0x03 , 0x09 , 0x08 , 0x04 , 0x07 , 0x00 , 0x0b , 0x03 , 0x02 , 0x03 , 0x08 ,
/*002e70*/ 0x06 , 0x00 , 0x0a , 0x09 , 0x05 , 0x03 , 0x04 , 0x06 , 0x06 , 0x07 , 0x06 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 ,
/*002e80*/ 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 ,
/*002e90*/ 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 ,
/*002ea0*/ 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 ,
/*002eb0*/ 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 ,
/*002ec0*/ 0x21 , 0x03 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x64 , 0x01 , 0x2a , 0x64 , 0xc6 , 0x01 ,
/*002ed0*/ 0x65 , 0xc5 , 0x64 , 0xfe , 0xd6 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*002ee0*/ 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x0d , 0x00 , 0x6e , 0x40 , 0x32 , 0x01 , 0x0e , 0x0e , 0x40 , 0x0f , 0x00 ,
/*002ef0*/ 0x0d , 0x06 , 0x05 , 0x03 , 0x0c , 0x04 , 0x04 , 0x03 , 0x0b , 0x0a , 0x08 , 0x02 , 0x01 , 0x05 , 0x07 , 0x04 ,
/*002f00*/ 0x09 , 0x00 , 0x0d , 0x0a , 0x01 , 0x03 , 0x00 , 0x06 , 0x02 , 0x0c , 0x09 , 0x08 , 0x03 , 0x0b , 0x06 , 0x06 ,
/*002f10*/ 0x07 , 0x06 , 0x02 , 0x05 , 0x04 , 0x03 , 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*002f20*/ 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 ,
/*002f30*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*002f40*/ 0xb9 , 0x00 , 0x03 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*002f50*/ 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x21 , 0x11 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 ,
/*002f60*/ 0x07 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xfe , 0xd7 , 0x62 , 0xc8 , 0x64 , 0x64 , 0xc6 , 0x65 , 0x64 ,
/*002f70*/ 0x02 , 0x56 , 0xc8 , 0x65 , 0xc5 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*002f80*/ 0x01 , 0x8f , 0x00 , 0x0b , 0x00 , 0x67 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x04 ,
/*002f90*/ 0x03 , 0x00 , 0x0a , 0x09 , 0x06 , 0x05 , 0x02 , 0x05 , 0x01 , 0x04 , 0x08 , 0x07 , 0x07 , 0x06 , 0x07 , 0x08 ,
/*002fa0*/ 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x06 , 0x0a , 0x03 , 0x02 , 0x06 , 0x04 , 0x0b , 0x0a , 0x02 , 0x05 , 0x04 ,
/*002fb0*/ 0x01 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c ,
/*002fc0*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x2e ,
/*002fd0*/ 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*002fe0*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x21 , 0x15 ,
/*002ff0*/ 0x21 , 0x15 , 0x21 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x21 , 0x01 , 0x8f , 0xfe , 0xd4 , 0x01 , 0x2c , 0xfe ,
/*003000*/ 0xd6 , 0x64 , 0x64 , 0x01 , 0x2a , 0x01 , 0x2d , 0xca , 0x62 , 0x65 , 0xc5 , 0x64 , 0x00 , 0x02 , 0x00 , 0x01 ,
/*003010*/ 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x09 , 0x00 , 0x0d , 0x00 , 0x6e , 0x40 , 0x32 , 0x01 , 0x0e ,
/*003020*/ 0x0e , 0x40 , 0x0f , 0x00 , 0x0d , 0x0c , 0x06 , 0x05 , 0x02 , 0x05 , 0x01 , 0x04 , 0x04 , 0x03 , 0x0b , 0x08 ,
/*003030*/ 0x07 , 0x03 , 0x0a , 0x04 , 0x09 , 0x00 , 0x0d , 0x03 , 0x02 , 0x03 , 0x0a , 0x06 , 0x00 , 0x0c , 0x0b , 0x05 ,
/*003040*/ 0x03 , 0x04 , 0x06 , 0x06 , 0x09 , 0x08 , 0x03 , 0x07 , 0x06 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 , 0x46 ,
/*003050*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 ,
/*003060*/ 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 ,
/*003070*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*003080*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x35 , 0x33 ,
/*003090*/ 0x35 , 0x33 , 0x35 , 0x33 , 0x03 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x65 , 0xc7 , 0x62 ,
/*0030a0*/ 0x64 , 0xc6 , 0x01 , 0x65 , 0xc5 , 0x64 , 0xc8 , 0xfe , 0x0e , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 ,
/*0030b0*/ 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0d , 0x00 , 0x11 , 0x00 , 0x89 , 0x40 , 0x43 , 0x01 , 0x12 ,
/*0030c0*/ 0x12 , 0x40 , 0x13 , 0x00 , 0x0c , 0x0b , 0x05 , 0x05 , 0x0d , 0x04 , 0x03 , 0x03 , 0x00 , 0x05 , 0x01 , 0x0f ,
/*0030d0*/ 0x0e , 0x02 , 0x03 , 0x01 , 0x04 , 0x05 , 0x11 , 0x10 , 0x0a , 0x09 , 0x06 , 0x05 , 0x05 , 0x04 , 0x08 , 0x07 ,
/*0030e0*/ 0x07 , 0x06 , 0x07 , 0x08 , 0x11 , 0x0e , 0x01 , 0x03 , 0x00 , 0x06 , 0x0c , 0x03 , 0x02 , 0x06 , 0x04 , 0x10 ,
/*0030f0*/ 0x0f , 0x0d , 0x0c , 0x09 , 0x05 , 0x08 , 0x06 , 0x0a , 0x0b , 0x0a , 0x02 , 0x05 , 0x04 , 0x01 , 0x01 , 0x07 ,
/*003100*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*003110*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*003120*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 ,
/*003130*/ 0x00 , 0x07 , 0x00 , 0x12 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 ,
/*003140*/ 0x12 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x33 , 0x15 , 0x21 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 ,
/*003150*/ 0x33 , 0x15 , 0x33 , 0x07 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0xc8 , 0xc8 , 0xfe , 0xd6 , 0x64 , 0x64 , 0xc6 ,
/*003160*/ 0x64 , 0xc8 , 0x62 , 0xc9 , 0x67 , 0x61 , 0x65 , 0xc5 , 0x64 , 0x65 , 0x61 , 0x62 , 0x62 , 0x00 , 0x00 , 0x01 ,
/*003170*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x0b , 0x00 , 0x68 , 0x40 , 0x2d , 0x01 , 0x0c ,
/*003180*/ 0x0c , 0x40 , 0x0d , 0x00 , 0x04 , 0x03 , 0x05 , 0x07 , 0x0b , 0x00 , 0x05 , 0x09 , 0x0a , 0x09 , 0x06 , 0x05 ,
/*003190*/ 0x02 , 0x05 , 0x01 , 0x04 , 0x08 , 0x07 , 0x09 , 0x08 , 0x01 , 0x03 , 0x00 , 0x06 , 0x0a , 0x05 , 0x04 , 0x06 ,
/*0031a0*/ 0x03 , 0x02 , 0x0b , 0x0a , 0x03 , 0x07 , 0x06 , 0x01 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 ,
/*0031b0*/ 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*0031c0*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*0031d0*/ 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c ,
/*0031e0*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x33 , 0x15 , 0x23 , 0x11 , 0x23 , 0x11 , 0x33 , 0x35 , 0x33 ,
/*0031f0*/ 0x01 , 0x2b , 0xc8 , 0x64 , 0x65 , 0x61 , 0x64 , 0xc6 , 0x01 , 0xf5 , 0x67 , 0x61 , 0xfe , 0xd4 , 0x01 , 0xf2 ,
/*003200*/ 0x64 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0xff , 0x39 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0d , 0x00 , 0x11 ,
/*003210*/ 0x00 , 0x7a , 0x40 , 0x3b , 0x01 , 0x12 , 0x12 , 0x40 , 0x13 , 0x00 , 0x11 , 0x10 , 0x0c , 0x0b , 0x08 , 0x07 ,
/*003220*/ 0x04 , 0x07 , 0x03 , 0x04 , 0x0a , 0x09 , 0x0f , 0x06 , 0x05 , 0x02 , 0x01 , 0x05 , 0x0e , 0x04 , 0x0d , 0x00 ,
/*003230*/ 0x05 , 0x01 , 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x11 , 0x09 , 0x08 , 0x03 , 0x0e , 0x06 , 0x07 , 0x06 , 0x10 ,
/*003240*/ 0x0f , 0x0b , 0x03 , 0x0a , 0x06 , 0x0c , 0x0d , 0x0c , 0x02 , 0x03 , 0x02 , 0x00 , 0x01 , 0x09 , 0x46 , 0x76 ,
/*003250*/ 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 ,
/*003260*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*003270*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x12 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*003280*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x12 , 0xff , 0xc0 , 0x38 , 0x59 , 0x05 , 0x23 , 0x15 , 0x23 ,
/*003290*/ 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x21 , 0x03 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f ,
/*0032a0*/ 0x65 , 0xc5 , 0xc8 , 0xc8 , 0x64 , 0x64 , 0x01 , 0x2a , 0x64 , 0xc6 , 0x63 , 0x64 , 0x62 , 0x67 , 0x64 , 0xc5 ,
/*0032b0*/ 0x64 , 0xfe , 0xd6 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*0032c0*/ 0x00 , 0x0b , 0x00 , 0x65 , 0x40 , 0x2b , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0b , 0x0a , 0x0a , 0x09 ,
/*0032d0*/ 0x02 , 0x03 , 0x01 , 0x04 , 0x0b , 0x00 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x04 , 0x06 , 0x05 , 0x03 , 0x02 ,
/*0032e0*/ 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x07 , 0x06 , 0x03 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 ,
/*0032f0*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c ,
/*003300*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 ,
/*003310*/ 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 ,
/*003320*/ 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 ,
/*003330*/ 0x33 , 0x15 , 0x33 , 0x15 , 0x33 , 0x01 , 0x8f , 0x62 , 0xca , 0x62 , 0x62 , 0xc8 , 0x64 , 0x01 , 0x01 , 0x2c ,
/*003340*/ 0xfe , 0xd4 , 0x02 , 0x56 , 0xc8 , 0x65 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x63 , 0x02 , 0x57 ,
/*003350*/ 0x00 , 0x03 , 0x00 , 0x07 , 0x00 , 0x54 , 0x40 , 0x21 , 0x01 , 0x08 , 0x08 , 0x40 , 0x09 , 0x00 , 0x07 , 0x04 ,
/*003360*/ 0x03 , 0x03 , 0x00 , 0x04 , 0x06 , 0x05 , 0x02 , 0x03 , 0x01 , 0x01 , 0x00 , 0x06 , 0x02 , 0x07 , 0x06 , 0x02 ,
/*003370*/ 0x05 , 0x04 , 0x01 , 0x03 , 0x02 , 0x03 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c ,
/*003380*/ 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 ,
/*003390*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x08 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*0033a0*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x08 , 0xff , 0xc0 , 0x38 , 0x59 , 0x13 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 ,
/*0033b0*/ 0x11 , 0x33 , 0x63 , 0x62 , 0x62 , 0x62 , 0x62 , 0x01 , 0xf5 , 0x62 , 0xfd , 0xaa , 0x01 , 0x8e , 0x00 , 0x02 ,
/*0033c0*/ 0x00 , 0x01 , 0xff , 0x39 , 0x00 , 0xc7 , 0x02 , 0x57 , 0x00 , 0x03 , 0x00 , 0x0b , 0x00 , 0x68 , 0x40 , 0x2d ,
/*0033d0*/ 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x0a , 0x09 , 0x02 , 0x03 , 0x01 , 0x04 , 0x0b , 0x04 , 0x03 , 0x03 ,
/*0033e0*/ 0x00 , 0x06 , 0x05 , 0x04 , 0x08 , 0x07 , 0x01 , 0x00 , 0x06 , 0x02 , 0x09 , 0x05 , 0x04 , 0x03 , 0x08 , 0x06 ,
/*0033f0*/ 0x06 , 0x0b , 0x0a , 0x02 , 0x07 , 0x06 , 0x00 , 0x03 , 0x02 , 0x03 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 ,
/*003400*/ 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 ,
/*003410*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*003420*/ 0xb9 , 0x00 , 0x07 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*003430*/ 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x13 , 0x23 , 0x35 , 0x33 , 0x11 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 ,
/*003440*/ 0x11 , 0x33 , 0xc7 , 0x62 , 0x62 , 0x65 , 0x61 , 0x64 , 0x62 , 0x01 , 0xf5 , 0x62 , 0xfd , 0x46 , 0x64 , 0x62 ,
/*003450*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x02 , 0x57 , 0x00 , 0x0f , 0x00 , 0x79 ,
/*003460*/ 0x40 , 0x39 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x0e , 0x0d , 0x0a , 0x09 , 0x02 , 0x05 , 0x01 , 0x04 ,
/*003470*/ 0x0f , 0x0c , 0x0b , 0x03 , 0x00 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x04 , 0x06 , 0x05 , 0x0f , 0x0e , 0x07 ,
/*003480*/ 0x00 , 0x03 , 0x02 , 0x06 , 0x08 , 0x0d , 0x09 , 0x08 , 0x03 , 0x0c , 0x06 , 0x0a , 0x0b , 0x0a , 0x02 , 0x07 ,
/*003490*/ 0x06 , 0x03 , 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 ,
/*0034a0*/ 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd ,
/*0034b0*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 ,
/*0034c0*/ 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 ,
/*0034d0*/ 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x11 ,
/*0034e0*/ 0x33 , 0x11 , 0x33 , 0x35 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 , 0x01 , 0x8f , 0x62 , 0xca , 0x62 , 0x62 , 0xcb ,
/*0034f0*/ 0x61 , 0x64 , 0x64 , 0x01 , 0xc8 , 0xc8 , 0x02 , 0x56 , 0xfe , 0xd4 , 0x64 , 0x62 , 0x67 , 0x00 , 0x00 , 0x01 ,
/*003500*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x63 , 0x02 , 0x57 , 0x00 , 0x03 , 0x00 , 0x40 , 0x40 , 0x14 , 0x01 , 0x04 ,
/*003510*/ 0x04 , 0x40 , 0x05 , 0x00 , 0x02 , 0x01 , 0x04 , 0x03 , 0x00 , 0x03 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 ,
/*003520*/ 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c ,
/*003530*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*003540*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x11 , 0x33 ,
/*003550*/ 0x63 , 0x62 , 0x62 , 0x01 , 0x02 , 0x56 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x01 , 0x8f ,
/*003560*/ 0x00 , 0x0d , 0x00 , 0x6b , 0x40 , 0x2f , 0x01 , 0x0e , 0x0e , 0x40 , 0x0f , 0x00 , 0x0d , 0x0c , 0x0c , 0x0b ,
/*003570*/ 0x02 , 0x03 , 0x01 , 0x04 , 0x0d , 0x00 , 0x04 , 0x03 , 0x04 , 0x06 , 0x05 , 0x08 , 0x07 , 0x04 , 0x0a , 0x09 ,
/*003580*/ 0x07 , 0x06 , 0x03 , 0x03 , 0x02 , 0x06 , 0x0a , 0x0b , 0x0a , 0x02 , 0x09 , 0x08 , 0x05 , 0x04 , 0x01 , 0x05 ,
/*003590*/ 0x00 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x3c , 0x10 ,
/*0035a0*/ 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 ,
/*0035b0*/ 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x0e , 0x49 , 0x68 ,
/*0035c0*/ 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 ,
/*0035d0*/ 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x21 , 0x15 , 0x33 , 0x01 , 0xf3 , 0x62 ,
/*0035e0*/ 0x67 , 0x61 , 0x67 , 0x61 , 0x01 , 0x8e , 0x64 , 0x01 , 0x01 , 0x2c , 0xfe , 0xd4 , 0x01 , 0x2c , 0xfe , 0xd4 ,
/*0035f0*/ 0x01 , 0x8e , 0x65 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x09 ,
/*003600*/ 0x00 , 0x5c , 0x40 , 0x25 , 0x01 , 0x0a , 0x0a , 0x40 , 0x0b , 0x00 , 0x09 , 0x08 , 0x08 , 0x07 , 0x02 , 0x03 ,
/*003610*/ 0x01 , 0x04 , 0x09 , 0x00 , 0x04 , 0x03 , 0x04 , 0x06 , 0x05 , 0x03 , 0x02 , 0x06 , 0x06 , 0x07 , 0x06 , 0x02 ,
/*003620*/ 0x05 , 0x04 , 0x01 , 0x03 , 0x00 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 ,
/*003630*/ 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*003640*/ 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0a , 0x49 , 0x68 , 0x61 ,
/*003650*/ 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0a , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 ,
/*003660*/ 0x11 , 0x23 , 0x11 , 0x23 , 0x11 , 0x21 , 0x15 , 0x33 , 0x01 , 0x8f , 0x62 , 0xca , 0x62 , 0x01 , 0x2a , 0x64 ,
/*003670*/ 0x01 , 0x01 , 0x2c , 0xfe , 0xd4 , 0x01 , 0x8e , 0x65 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f ,
/*003680*/ 0x01 , 0x8f , 0x00 , 0x0b , 0x00 , 0x0f , 0x00 , 0x6f , 0x40 , 0x35 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 ,
/*003690*/ 0x0f , 0x0e , 0x08 , 0x07 , 0x04 , 0x05 , 0x03 , 0x04 , 0x06 , 0x05 , 0x0d , 0x0c , 0x0a , 0x02 , 0x01 , 0x05 ,
/*0036a0*/ 0x09 , 0x04 , 0x0b , 0x00 , 0x0f , 0x0c , 0x05 , 0x04 , 0x01 , 0x05 , 0x00 , 0x06 , 0x02 , 0x0e , 0x0d , 0x0b ,
/*0036b0*/ 0x0a , 0x07 , 0x05 , 0x06 , 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 ,
/*0036c0*/ 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c ,
/*0036d0*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*0036e0*/ 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*0036f0*/ 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 ,
/*003700*/ 0x33 , 0x15 , 0x33 , 0x07 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x64 , 0xc6 , 0x64 , 0x64 ,
/*003710*/ 0xc6 , 0x65 , 0x64 , 0x65 , 0xc5 , 0x64 , 0x65 , 0xc5 , 0xc6 , 0xc6 , 0x00 , 0x02 , 0x00 , 0x01 , 0xff , 0x39 ,
/*003720*/ 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x09 , 0x00 , 0x0d , 0x00 , 0x6e , 0x40 , 0x32 , 0x01 , 0x0e , 0x0e , 0x40 ,
/*003730*/ 0x0f , 0x00 , 0x0d , 0x04 , 0x03 , 0x03 , 0x0c , 0x04 , 0x06 , 0x05 , 0x0b , 0x0a , 0x08 , 0x02 , 0x01 , 0x05 ,
/*003740*/ 0x07 , 0x04 , 0x09 , 0x00 , 0x0d , 0x0a , 0x01 , 0x03 , 0x00 , 0x06 , 0x02 , 0x0c , 0x09 , 0x08 , 0x03 , 0x0b ,
/*003750*/ 0x06 , 0x06 , 0x07 , 0x06 , 0x02 , 0x05 , 0x04 , 0x00 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f ,
/*003760*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 ,
/*003770*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 ,
/*003780*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*003790*/ 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x15 , 0x23 , 0x11 , 0x21 ,
/*0037a0*/ 0x15 , 0x33 , 0x07 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x65 , 0xc7 , 0x62 , 0x01 , 0x2a , 0x64 , 0x64 , 0xc6 ,
/*0037b0*/ 0x65 , 0x64 , 0xc8 , 0x02 , 0x56 , 0x65 , 0xc5 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x02 , 0x00 , 0x01 , 0xff , 0x39 ,
/*0037c0*/ 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x09 , 0x00 , 0x0d , 0x00 , 0x6e , 0x40 , 0x32 , 0x01 , 0x0e , 0x0e , 0x40 ,
/*0037d0*/ 0x0f , 0x00 , 0x0d , 0x0c , 0x08 , 0x07 , 0x04 , 0x05 , 0x03 , 0x04 , 0x06 , 0x05 , 0x0b , 0x02 , 0x01 , 0x03 ,
/*0037e0*/ 0x0a , 0x04 , 0x09 , 0x00 , 0x0d , 0x05 , 0x04 , 0x03 , 0x0a , 0x06 , 0x02 , 0x0c , 0x0b , 0x07 , 0x03 , 0x06 ,
/*0037f0*/ 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x00 , 0x00 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f ,
/*003800*/ 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 ,
/*003810*/ 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 ,
/*003820*/ 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 ,
/*003830*/ 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x05 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 ,
/*003840*/ 0x35 , 0x21 , 0x03 , 0x35 , 0x23 , 0x15 , 0x01 , 0x8f , 0x62 , 0xc8 , 0x64 , 0x64 , 0x01 , 0x2a , 0x64 , 0xc6 ,
/*003850*/ 0xc7 , 0xc8 , 0x65 , 0xc5 , 0x64 , 0xfe , 0xd6 , 0xc6 , 0xc6 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*003860*/ 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0b , 0x00 , 0x65 , 0x40 , 0x2b , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 ,
/*003870*/ 0x02 , 0x01 , 0x05 , 0x05 , 0x0a , 0x09 , 0x05 , 0x0b , 0x00 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 , 0x04 , 0x06 ,
/*003880*/ 0x05 , 0x03 , 0x02 , 0x06 , 0x09 , 0x01 , 0x00 , 0x03 , 0x08 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x02 , 0x05 ,
/*003890*/ 0x04 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x2f ,
/*0038a0*/ 0x17 , 0x3c , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd ,
/*0038b0*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*0038c0*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 ,
/*0038d0*/ 0x23 , 0x15 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 , 0x8f , 0xc9 , 0x64 , 0x61 , 0x62 , 0x67 ,
/*0038e0*/ 0xc5 , 0x01 , 0x2d , 0x64 , 0xc8 , 0x01 , 0x8e , 0x64 , 0x64 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*0038f0*/ 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0f , 0x00 , 0x85 , 0x40 , 0x3f , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 ,
/*003900*/ 0x0a , 0x09 , 0x08 , 0x05 , 0x0f , 0x0c , 0x0b , 0x03 , 0x00 , 0x05 , 0x05 , 0x08 , 0x07 , 0x04 , 0x03 , 0x03 ,
/*003910*/ 0x05 , 0x0d , 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x04 , 0x02 , 0x01 , 0x0f , 0x0e , 0x06 , 0x00 , 0x05 , 0x01 ,
/*003920*/ 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x08 , 0x0d , 0x09 , 0x08 , 0x03 , 0x0c , 0x06 , 0x0a ,
/*003930*/ 0x0b , 0x0a , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c ,
/*003940*/ 0x3f , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c ,
/*003950*/ 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd ,
/*003960*/ 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*003970*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 ,
/*003980*/ 0x21 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x21 , 0x15 , 0x23 , 0x15 , 0x33 , 0x01 , 0x8f , 0x65 ,
/*003990*/ 0xfe , 0xd7 , 0xc8 , 0xc8 , 0x64 , 0x01 , 0x2a , 0xc8 , 0xc8 , 0x65 , 0x64 , 0x62 , 0x67 , 0x61 , 0x64 , 0x62 ,
/*0039a0*/ 0x67 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x2b , 0x01 , 0xf3 , 0x00 , 0x0b , 0x00 , 0x64 ,
/*0039b0*/ 0x40 , 0x2a , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x03 , 0x02 , 0x0b , 0x08 , 0x07 , 0x03 , 0x00 , 0x05 ,
/*0039c0*/ 0x01 , 0x0a , 0x09 , 0x06 , 0x02 , 0x01 , 0x05 , 0x05 , 0x04 , 0x04 , 0x03 , 0x0b , 0x0a , 0x06 , 0x00 , 0x09 ,
/*0039d0*/ 0x08 , 0x06 , 0x07 , 0x06 , 0x05 , 0x04 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*0039e0*/ 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd ,
/*0039f0*/ 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 ,
/*003a00*/ 0x03 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0c ,
/*003a10*/ 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x35 , 0x23 , 0x11 , 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x15 , 0x33 ,
/*003a20*/ 0x01 , 0x2b , 0xc6 , 0x64 , 0x62 , 0xc8 , 0xc8 , 0xc8 , 0x01 , 0x65 , 0x01 , 0x8d , 0x65 , 0x61 , 0xca , 0x00 ,
/*003a30*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x09 , 0x00 , 0x5c , 0x40 , 0x25 ,
/*003a40*/ 0x01 , 0x0a , 0x0a , 0x40 , 0x0b , 0x00 , 0x03 , 0x02 , 0x06 , 0x02 , 0x01 , 0x03 , 0x05 , 0x04 , 0x04 , 0x03 ,
/*003a50*/ 0x08 , 0x07 , 0x04 , 0x09 , 0x00 , 0x07 , 0x06 , 0x06 , 0x00 , 0x09 , 0x08 , 0x05 , 0x03 , 0x04 , 0x02 , 0x01 ,
/*003a60*/ 0x00 , 0x01 , 0x01 , 0x03 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x10 ,
/*003a70*/ 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 ,
/*003a80*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0a , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*003a90*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0a , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x11 , 0x33 ,
/*003aa0*/ 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0x8f , 0xfe , 0xd6 , 0x64 , 0x62 , 0xca , 0x62 , 0x01 , 0x65 , 0x01 , 0x29 ,
/*003ab0*/ 0xfe , 0xd4 , 0x01 , 0x2c , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0b ,
/*003ac0*/ 0x00 , 0x65 , 0x40 , 0x2c , 0x01 , 0x0c , 0x0c , 0x40 , 0x0d , 0x00 , 0x02 , 0x01 , 0x05 , 0x03 , 0x08 , 0x04 ,
/*003ad0*/ 0x03 , 0x03 , 0x07 , 0x04 , 0x06 , 0x05 , 0x0a , 0x09 , 0x04 , 0x0b , 0x00 , 0x09 , 0x05 , 0x04 , 0x01 , 0x00 ,
/*003ae0*/ 0x05 , 0x08 , 0x07 , 0x02 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x02 , 0x03 , 0x02 , 0x01 , 0x01 , 0x05 , 0x46 ,
/*003af0*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f ,
/*003b00*/ 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*003b10*/ 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x0c , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*003b20*/ 0xb9 , 0x00 , 0x0c , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 ,
/*003b30*/ 0x33 , 0x35 , 0x33 , 0x01 , 0x8f , 0x65 , 0xc5 , 0x64 , 0x62 , 0xca , 0x62 , 0xc9 , 0xc8 , 0xc8 , 0xc6 , 0xc8 ,
/*003b40*/ 0xc8 , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0xf3 , 0x01 , 0x8f , 0x00 , 0x0d , 0x00 , 0x6b ,
/*003b50*/ 0x40 , 0x2f , 0x01 , 0x0e , 0x0e , 0x40 , 0x0f , 0x00 , 0x03 , 0x02 , 0x06 , 0x02 , 0x01 , 0x03 , 0x05 , 0x04 ,
/*003b60*/ 0x04 , 0x03 , 0x08 , 0x07 , 0x04 , 0x0a , 0x09 , 0x0c , 0x0b , 0x04 , 0x0d , 0x00 , 0x0b , 0x0a , 0x07 , 0x03 ,
/*003b70*/ 0x06 , 0x06 , 0x00 , 0x0d , 0x0c , 0x09 , 0x08 , 0x05 , 0x05 , 0x04 , 0x02 , 0x01 , 0x00 , 0x01 , 0x01 , 0x03 ,
/*003b80*/ 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 ,
/*003b90*/ 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x00 , 0x2e , 0x2e ,
/*003ba0*/ 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x03 , 0x00 , 0x0e , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 ,
/*003bb0*/ 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x0e , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x23 , 0x11 ,
/*003bc0*/ 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0xf3 , 0xfe , 0x72 , 0x64 , 0x62 , 0x67 ,
/*003bd0*/ 0x61 , 0x67 , 0x61 , 0x01 , 0x65 , 0x01 , 0x29 , 0xfe , 0xd4 , 0x01 , 0x2c , 0xfe , 0xd4 , 0x01 , 0x2c , 0x00 ,
/*003be0*/ 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x13 , 0x00 , 0x89 , 0x40 , 0x45 ,
/*003bf0*/ 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x0c , 0x0b , 0x05 , 0x01 , 0x12 , 0x11 , 0x06 , 0x02 , 0x01 , 0x05 ,
/*003c00*/ 0x05 , 0x04 , 0x13 , 0x04 , 0x03 , 0x03 , 0x00 , 0x10 , 0x0f , 0x08 , 0x03 , 0x07 , 0x04 , 0x0e , 0x0d , 0x0a ,
/*003c10*/ 0x03 , 0x09 , 0x07 , 0x06 , 0x07 , 0x10 , 0x11 , 0x10 , 0x0d , 0x0c , 0x01 , 0x05 , 0x00 , 0x06 , 0x0e , 0x0b ,
/*003c20*/ 0x0a , 0x03 , 0x03 , 0x02 , 0x06 , 0x04 , 0x13 , 0x12 , 0x0f , 0x03 , 0x0e , 0x02 , 0x09 , 0x08 , 0x05 , 0x03 ,
/*003c30*/ 0x04 , 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 , 0x3c ,
/*003c40*/ 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x01 , 0x2f , 0x17 , 0x3c , 0xfd ,
/*003c50*/ 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*003c60*/ 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*003c70*/ 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x33 , 0x15 , 0x23 , 0x35 , 0x23 , 0x15 ,
/*003c80*/ 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 , 0x8f , 0x64 , 0x64 , 0x62 ,
/*003c90*/ 0xcb , 0x61 , 0x64 , 0x64 , 0x62 , 0xcb , 0x61 , 0x01 , 0x2d , 0xcb , 0x61 , 0x64 , 0x64 , 0x62 , 0xca , 0x62 ,
/*003ca0*/ 0x64 , 0x64 , 0x00 , 0x01 , 0x00 , 0x01 , 0xff , 0x39 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0f , 0x00 , 0x76 ,
/*003cb0*/ 0x40 , 0x36 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x09 , 0x08 , 0x02 , 0x01 , 0x05 , 0x03 , 0x0e , 0x0d ,
/*003cc0*/ 0x06 , 0x03 , 0x05 , 0x04 , 0x0f , 0x00 , 0x0c , 0x08 , 0x07 , 0x04 , 0x03 , 0x05 , 0x0b , 0x04 , 0x0a , 0x09 ,
/*003cd0*/ 0x05 , 0x01 , 0x00 , 0x03 , 0x04 , 0x06 , 0x02 , 0x0d , 0x0c , 0x06 , 0x07 , 0x06 , 0x0f , 0x0e , 0x0b , 0x03 ,
/*003ce0*/ 0x0a , 0x02 , 0x03 , 0x02 , 0x00 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f ,
/*003cf0*/ 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c ,
/*003d00*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x2e , 0x2e , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*003d10*/ 0xb9 , 0x00 , 0x09 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*003d20*/ 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x05 , 0x23 , 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x23 ,
/*003d30*/ 0x11 , 0x33 , 0x11 , 0x33 , 0x11 , 0x33 , 0x01 , 0x8f , 0x65 , 0xc5 , 0xc8 , 0xc8 , 0x64 , 0x62 , 0xca , 0x62 ,
/*003d40*/ 0x63 , 0x64 , 0x62 , 0x67 , 0x64 , 0x01 , 0x29 , 0xfe , 0xd4 , 0x01 , 0x2c , 0x00 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*003d50*/ 0x00 , 0x01 , 0x01 , 0x8f , 0x01 , 0x8f , 0x00 , 0x0f , 0x00 , 0x7c , 0x40 , 0x38 , 0x01 , 0x10 , 0x10 , 0x40 ,
/*003d60*/ 0x11 , 0x00 , 0x0f , 0x0a , 0x09 , 0x08 , 0x07 , 0x02 , 0x01 , 0x00 , 0x04 , 0x03 , 0x04 , 0x0d , 0x0e , 0x0d ,
/*003d70*/ 0x06 , 0x03 , 0x05 , 0x04 , 0x0c , 0x0b , 0x0d , 0x05 , 0x04 , 0x03 , 0x0c , 0x07 , 0x08 , 0x0f , 0x0e , 0x03 ,
/*003d80*/ 0x03 , 0x02 , 0x06 , 0x00 , 0x0b , 0x0a , 0x07 , 0x03 , 0x06 , 0x06 , 0x08 , 0x09 , 0x08 , 0x02 , 0x01 , 0x00 ,
/*003d90*/ 0x01 , 0x01 , 0x01 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x10 , 0xfd , 0x17 ,
/*003da0*/ 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 ,
/*003db0*/ 0xfd , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 ,
/*003dc0*/ 0xb9 , 0x00 , 0x01 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 ,
/*003dd0*/ 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x21 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x21 ,
/*003de0*/ 0x15 , 0x23 , 0x15 , 0x23 , 0x15 , 0x33 , 0x01 , 0x8f , 0xfe , 0x72 , 0x65 , 0x63 , 0xc8 , 0x01 , 0x8e , 0x65 ,
/*003df0*/ 0x63 , 0xc8 , 0x01 , 0x62 , 0x64 , 0x66 , 0x62 , 0x62 , 0x64 , 0x67 , 0x00 , 0x01 , 0x00 , 0x01 , 0xff , 0x9d ,
/*003e00*/ 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x13 , 0x00 , 0x89 , 0x40 , 0x42 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 ,
/*003e10*/ 0x10 , 0x0f , 0x13 , 0x08 , 0x07 , 0x03 , 0x00 , 0x04 , 0x09 , 0x12 , 0x11 , 0x0a , 0x09 , 0x06 , 0x02 , 0x01 ,
/*003e20*/ 0x07 , 0x05 , 0x04 , 0x0b , 0x0c , 0x0b , 0x04 , 0x03 , 0x03 , 0x04 , 0x0e , 0x0d , 0x05 , 0x04 , 0x07 , 0x0b ,
/*003e30*/ 0x0a , 0x11 , 0x10 , 0x01 , 0x03 , 0x00 , 0x06 , 0x12 , 0x07 , 0x06 , 0x06 , 0x08 , 0x0d , 0x0c , 0x06 , 0x0f ,
/*003e40*/ 0x03 , 0x02 , 0x03 , 0x0e , 0x09 , 0x08 , 0x13 , 0x12 , 0x03 , 0x01 , 0x0d , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 ,
/*003e50*/ 0x00 , 0x3f , 0x3c , 0x2f , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x17 ,
/*003e60*/ 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x10 ,
/*003e70*/ 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x0d , 0x00 , 0x14 ,
/*003e80*/ 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 ,
/*003e90*/ 0x59 , 0x01 , 0x23 , 0x15 , 0x23 , 0x15 , 0x33 , 0x15 , 0x33 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 ,
/*003ea0*/ 0x33 , 0x35 , 0x33 , 0x35 , 0x33 , 0x01 , 0x2b , 0x65 , 0x63 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0x65 , 0x63 ,
/*003eb0*/ 0x62 , 0x01 , 0xf5 , 0xc8 , 0x67 , 0xc8 , 0x61 , 0x65 , 0xc8 , 0x61 , 0xc8 , 0x64 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*003ec0*/ 0x00 , 0x01 , 0x00 , 0x63 , 0x02 , 0x57 , 0x00 , 0x03 , 0x00 , 0x40 , 0x40 , 0x14 , 0x01 , 0x04 , 0x04 , 0x40 ,
/*003ed0*/ 0x05 , 0x00 , 0x02 , 0x01 , 0x04 , 0x03 , 0x00 , 0x03 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0x01 , 0x01 , 0x46 ,
/*003ee0*/ 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x00 , 0x31 ,
/*003ef0*/ 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x01 , 0x00 , 0x04 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 ,
/*003f00*/ 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x04 , 0xff , 0xc0 , 0x38 , 0x59 , 0x37 , 0x23 , 0x11 , 0x33 , 0x63 , 0x62 ,
/*003f10*/ 0x62 , 0x01 , 0x02 , 0x56 , 0x00 , 0x01 , 0x00 , 0x01 , 0xff , 0x9d , 0x01 , 0x2b , 0x02 , 0x57 , 0x00 , 0x13 ,
/*003f20*/ 0x00 , 0x8a , 0x40 , 0x41 , 0x01 , 0x14 , 0x14 , 0x40 , 0x15 , 0x00 , 0x10 , 0x0f , 0x04 , 0x03 , 0x03 , 0x04 ,
/*003f30*/ 0x0e , 0x0d , 0x06 , 0x03 , 0x05 , 0x0c , 0x0b , 0x08 , 0x03 , 0x07 , 0x04 , 0x02 , 0x01 , 0x12 , 0x11 , 0x0a ,
/*003f40*/ 0x03 , 0x09 , 0x04 , 0x13 , 0x00 , 0x0b , 0x0a , 0x07 , 0x11 , 0x10 , 0x13 , 0x12 , 0x06 , 0x09 , 0x08 , 0x01 ,
/*003f50*/ 0x03 , 0x00 , 0x07 , 0x06 , 0x06 , 0x04 , 0x0d , 0x0c , 0x06 , 0x0e , 0x05 , 0x04 , 0x0f , 0x0e , 0x03 , 0x03 ,
/*003f60*/ 0x02 , 0x01 , 0x01 , 0x05 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x3c , 0x2f , 0x3c ,
/*003f70*/ 0x10 , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x01 ,
/*003f80*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c ,
/*003f90*/ 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x05 , 0x00 , 0x14 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 ,
/*003fa0*/ 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x14 , 0xff , 0xc0 , 0x38 , 0x59 , 0x25 , 0x23 , 0x15 , 0x23 ,
/*003fb0*/ 0x15 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x15 , 0x33 , 0x15 , 0x33 ,
/*003fc0*/ 0x01 , 0x2b , 0x65 , 0x64 , 0x61 , 0x65 , 0x63 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0xc9 , 0xc8 , 0x64 , 0x62 ,
/*003fd0*/ 0xc8 , 0x67 , 0xc7 , 0x62 , 0x65 , 0xc8 , 0x00 , 0x01 , 0x00 , 0x01 , 0x01 , 0x91 , 0x01 , 0x8f , 0x02 , 0x57 ,
/*003fe0*/ 0x00 , 0x0f , 0x00 , 0x73 , 0x40 , 0x35 , 0x01 , 0x10 , 0x10 , 0x40 , 0x11 , 0x00 , 0x02 , 0x01 , 0x04 , 0x03 ,
/*003ff0*/ 0x06 , 0x05 , 0x04 , 0x08 , 0x07 , 0x0c , 0x04 , 0x03 , 0x03 , 0x0b , 0x04 , 0x0a , 0x09 , 0x0e , 0x0d , 0x04 ,
/*004000*/ 0x0f , 0x00 , 0x0d , 0x0c , 0x09 , 0x05 , 0x04 , 0x01 , 0x00 , 0x07 , 0x08 , 0x06 , 0x02 , 0x07 , 0x06 , 0x03 ,
/*004010*/ 0x03 , 0x02 , 0x0f , 0x0e , 0x0b , 0x03 , 0x0a , 0x03 , 0x01 , 0x07 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 ,
/*004020*/ 0x3f , 0x17 , 0x3c , 0x2f , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c , 0x2f ,
/*004030*/ 0x3c , 0xfd , 0x17 , 0x3c , 0x2f , 0x3c , 0xfd , 0x3c , 0x10 , 0xfd , 0x3c , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 ,
/*004040*/ 0x68 , 0xb9 , 0x00 , 0x07 , 0x00 , 0x10 , 0x49 , 0x68 , 0x61 , 0xb0 , 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 ,
/*004050*/ 0xb9 , 0x00 , 0x10 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x15 , 0x23 , 0x35 ,
/*004060*/ 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x35 , 0x33 , 0x01 , 0x8f , 0x65 , 0x61 , 0x67 , 0x61 , 0x64 , 0x62 , 0x67 ,
/*004070*/ 0x61 , 0x01 , 0xf5 , 0x64 , 0x64 , 0x64 , 0x62 , 0x64 , 0x64 , 0x64 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 ,
/*004080*/ 0x01 , 0xf3 , 0x02 , 0x57 , 0x00 , 0x17 , 0x00 , 0x95 , 0x40 , 0x4a , 0x01 , 0x18 , 0x18 , 0x40 , 0x19 , 0x00 ,
/*004090*/ 0x17 , 0x0e , 0x0d , 0x0a , 0x09 , 0x04 , 0x03 , 0x00 , 0x06 , 0x02 , 0x01 , 0x03 , 0x05 , 0x04 , 0x07 , 0x12 ,
/*0040a0*/ 0x0c , 0x0b , 0x08 , 0x07 , 0x05 , 0x11 , 0x04 , 0x10 , 0x0f , 0x14 , 0x13 , 0x04 , 0x16 , 0x15 , 0x0d , 0x0c ,
/*0040b0*/ 0x01 , 0x03 , 0x00 , 0x06 , 0x16 , 0x0b , 0x0a , 0x03 , 0x03 , 0x02 , 0x06 , 0x09 , 0x08 , 0x05 , 0x03 , 0x04 ,
/*0040c0*/ 0x15 , 0x14 , 0x11 , 0x03 , 0x10 , 0x03 , 0x17 , 0x16 , 0x13 , 0x12 , 0x0f , 0x05 , 0x0e , 0x02 , 0x07 , 0x06 ,
/*0040d0*/ 0x01 , 0x01 , 0x09 , 0x46 , 0x76 , 0x2f , 0x37 , 0x18 , 0x00 , 0x3f , 0x3c , 0x3f , 0x17 , 0x3c , 0x3f , 0x17 ,
/*0040e0*/ 0x3c , 0x2f , 0x17 , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x01 , 0x2f , 0x3c , 0xfd , 0x3c ,
/*0040f0*/ 0x2f , 0x3c , 0xfd , 0x17 , 0x3c , 0x10 , 0xfd , 0x17 , 0x3c , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e , 0x2e ,
/*004100*/ 0x2e , 0x00 , 0x31 , 0x30 , 0x01 , 0x49 , 0x68 , 0xb9 , 0x00 , 0x09 , 0x00 , 0x18 , 0x49 , 0x68 , 0x61 , 0xb0 ,
/*004110*/ 0x40 , 0x52 , 0x58 , 0x38 , 0x11 , 0x37 , 0xb9 , 0x00 , 0x18 , 0xff , 0xc0 , 0x38 , 0x59 , 0x01 , 0x23 , 0x15 ,
/*004120*/ 0x33 , 0x15 , 0x23 , 0x15 , 0x23 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x23 , 0x35 , 0x33 , 0x35 , 0x33 , 0x15 ,
/*004130*/ 0x33 , 0x35 , 0x33 , 0x15 , 0x33 , 0x01 , 0xf3 , 0xc8 , 0xc8 , 0xc9 , 0x61 , 0xc8 , 0xc8 , 0xc8 , 0x64 , 0x62 ,
/*004140*/ 0x67 , 0x61 , 0x64 , 0x01 , 0x2d , 0x67 , 0x61 , 0x64 , 0x65 , 0x61 , 0x67 , 0x61 , 0xc8 , 0xc8 , 0xc8 , 0xc9 ,
/*004150*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7a , 0x00 , 0x00 , 0x00 , 0x7a , 0x00 , 0x00 , 0x00 , 0x7a ,
/*004160*/ 0x00 , 0x00 , 0x00 , 0x7a , 0x00 , 0x00 , 0x00 , 0xf0 , 0x00 , 0x00 , 0x01 , 0x64 , 0x00 , 0x00 , 0x02 , 0x6a ,
/*004170*/ 0x00 , 0x00 , 0x03 , 0x2a , 0x00 , 0x00 , 0x04 , 0x78 , 0x00 , 0x00 , 0x05 , 0xac , 0x00 , 0x00 , 0x06 , 0x04 ,
/*004180*/ 0x00 , 0x00 , 0x06 , 0x96 , 0x00 , 0x00 , 0x07 , 0x26 , 0x00 , 0x00 , 0x07 , 0xe2 , 0x00 , 0x00 , 0x08 , 0x70 ,
/*004190*/ 0x00 , 0x00 , 0x08 , 0xe2 , 0x00 , 0x00 , 0x09 , 0x3a , 0x00 , 0x00 , 0x09 , 0x90 , 0x00 , 0x00 , 0x0a , 0x22 ,
/*0041a0*/ 0x00 , 0x00 , 0x0b , 0x00 , 0x00 , 0x00 , 0x0b , 0x76 , 0x00 , 0x00 , 0x0c , 0x62 , 0x00 , 0x00 , 0x0d , 0x4e ,
/*0041b0*/ 0x00 , 0x00 , 0x0d , 0xe8 , 0x00 , 0x00 , 0x0e , 0x9a , 0x00 , 0x00 , 0x0f , 0x6c , 0x00 , 0x00 , 0x10 , 0x1c ,
/*0041c0*/ 0x00 , 0x00 , 0x11 , 0x00 , 0x00 , 0x00 , 0x11 , 0xd0 , 0x00 , 0x00 , 0x12 , 0x48 , 0x00 , 0x00 , 0x12 , 0xc0 ,
/*0041d0*/ 0x00 , 0x00 , 0x13 , 0x84 , 0x00 , 0x00 , 0x14 , 0x00 , 0x00 , 0x00 , 0x14 , 0xc6 , 0x00 , 0x00 , 0x15 , 0x8a ,
/*0041e0*/ 0x00 , 0x00 , 0x16 , 0x5e , 0x00 , 0x00 , 0x16 , 0xfc , 0x00 , 0x00 , 0x17 , 0xc0 , 0x00 , 0x00 , 0x18 , 0x54 ,
/*0041f0*/ 0x00 , 0x00 , 0x18 , 0xea , 0x00 , 0x00 , 0x19 , 0x8a , 0x00 , 0x00 , 0x1a , 0x1a , 0x00 , 0x00 , 0x1a , 0xcc ,
/*004200*/ 0x00 , 0x00 , 0x1b , 0x5c , 0x00 , 0x00 , 0x1b , 0xf4 , 0x00 , 0x00 , 0x1c , 0x7c , 0x00 , 0x00 , 0x1d , 0x26 ,
/*004210*/ 0x00 , 0x00 , 0x1d , 0x9e , 0x00 , 0x00 , 0x1e , 0x64 , 0x00 , 0x00 , 0x1f , 0x10 , 0x00 , 0x00 , 0x1f , 0xb6 ,
/*004220*/ 0x00 , 0x00 , 0x20 , 0x54 , 0x00 , 0x00 , 0x21 , 0x1c , 0x00 , 0x00 , 0x21 , 0xd2 , 0x00 , 0x00 , 0x22 , 0xba ,
/*004230*/ 0x00 , 0x00 , 0x23 , 0x32 , 0x00 , 0x00 , 0x23 , 0xc4 , 0x00 , 0x00 , 0x24 , 0x72 , 0x00 , 0x00 , 0x25 , 0x36 ,
/*004240*/ 0x00 , 0x00 , 0x25 , 0xf6 , 0x00 , 0x00 , 0x26 , 0xa0 , 0x00 , 0x00 , 0x27 , 0x6c , 0x00 , 0x00 , 0x27 , 0xe6 ,
/*004250*/ 0x00 , 0x00 , 0x28 , 0x7c , 0x00 , 0x00 , 0x28 , 0xf6 , 0x00 , 0x00 , 0x29 , 0x88 , 0x00 , 0x00 , 0x29 , 0xe0 ,
/*004260*/ 0x00 , 0x00 , 0x2a , 0x74 , 0x00 , 0x00 , 0x2b , 0x14 , 0x00 , 0x00 , 0x2b , 0xa8 , 0x00 , 0x00 , 0x2c , 0x48 ,
/*004270*/ 0x00 , 0x00 , 0x2d , 0x0a , 0x00 , 0x00 , 0x2d , 0x9e , 0x00 , 0x00 , 0x2e , 0x52 , 0x00 , 0x00 , 0x2e , 0xe2 ,
/*004280*/ 0x00 , 0x00 , 0x2f , 0x5a , 0x00 , 0x00 , 0x2f , 0xee , 0x00 , 0x00 , 0x30 , 0x9a , 0x00 , 0x00 , 0x30 , 0xf2 ,
/*004290*/ 0x00 , 0x00 , 0x31 , 0x90 , 0x00 , 0x00 , 0x32 , 0x14 , 0x00 , 0x00 , 0x32 , 0xb6 , 0x00 , 0x00 , 0x33 , 0x56 ,
/*0042a0*/ 0x00 , 0x00 , 0x33 , 0xf6 , 0x00 , 0x00 , 0x34 , 0x86 , 0x00 , 0x00 , 0x35 , 0x3e , 0x00 , 0x00 , 0x35 , 0xcc ,
/*0042b0*/ 0x00 , 0x00 , 0x36 , 0x50 , 0x00 , 0x00 , 0x36 , 0xde , 0x00 , 0x00 , 0x37 , 0x7c , 0x00 , 0x00 , 0x38 , 0x3e ,
/*0042c0*/ 0x00 , 0x00 , 0x38 , 0xe8 , 0x00 , 0x00 , 0x39 , 0x96 , 0x00 , 0x00 , 0x3a , 0x58 , 0x00 , 0x00 , 0x3a , 0xb0 ,
/*0042d0*/ 0x00 , 0x00 , 0x3b , 0x72 , 0x00 , 0x00 , 0x3c , 0x16 , 0x00 , 0x00 , 0x3c , 0xec , 0x00 , 0x00 , 0x3c , 0xec ,
/*0042e0*/ 0x01 , 0x90 , 0x00 , 0x32 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x2c , 0x00 , 0x00 , 0x01 , 0x2c , 0x00 , 0x00 ,
/*0042f0*/ 0x00 , 0xc8 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 ,
/*004300*/ 0x03 , 0x20 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x01 , 0x2c , 0x00 , 0x01 ,
/*004310*/ 0x01 , 0x2c , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0x2c , 0x00 , 0x01 ,
/*004320*/ 0x01 , 0x90 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004330*/ 0x01 , 0xf4 , 0x00 , 0x65 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004340*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004350*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 ,
/*004360*/ 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 ,
/*004370*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004380*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004390*/ 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*0043a0*/ 0x02 , 0x58 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*0043b0*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 ,
/*0043c0*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*0043d0*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0x2c , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 ,
/*0043e0*/ 0x01 , 0x2c , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*0043f0*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004400*/ 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 ,
/*004410*/ 0x01 , 0x2c , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 ,
/*004420*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004430*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004440*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0xf4 , 0x00 , 0x01 ,
/*004450*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 , 0x00 , 0xc8 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x01 ,
/*004460*/ 0x01 , 0xf4 , 0x00 , 0x01 , 0x02 , 0x58 , 0x00 , 0x01 , 0x01 , 0x90 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 ,
/*004470*/ 0x00 , 0x00 , 0x00 , 0x00 , 0xff , 0x7b , 0x00 , 0x14 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004480*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 , 0x00 , 0x00 ,
/*004490*/ 0x00 , 0x01 , 0x00 , 0x02 , 0x00 , 0x03 , 0x00 , 0x04 , 0x00 , 0x05 , 0x00 , 0x06 , 0x00 , 0x07 , 0x00 , 0x08 ,
/*0044a0*/ 0x00 , 0x09 , 0x00 , 0x0a , 0x00 , 0x0b , 0x00 , 0x0c , 0x00 , 0x0d , 0x00 , 0x0e , 0x00 , 0x0f , 0x00 , 0x10 ,
/*0044b0*/ 0x00 , 0x11 , 0x00 , 0x12 , 0x00 , 0x13 , 0x00 , 0x14 , 0x00 , 0x15 , 0x00 , 0x16 , 0x00 , 0x17 , 0x00 , 0x18 ,
/*0044c0*/ 0x00 , 0x19 , 0x00 , 0x1a , 0x00 , 0x1b , 0x00 , 0x1c , 0x00 , 0x1d , 0x00 , 0x1e , 0x00 , 0x1f , 0x00 , 0x20 ,
/*0044d0*/ 0x00 , 0x21 , 0x00 , 0x22 , 0x00 , 0x23 , 0x00 , 0x24 , 0x00 , 0x25 , 0x00 , 0x26 , 0x00 , 0x27 , 0x00 , 0x28 ,
/*0044e0*/ 0x00 , 0x29 , 0x00 , 0x2a , 0x00 , 0x2b , 0x00 , 0x2c , 0x00 , 0x2d , 0x00 , 0x2e , 0x00 , 0x2f , 0x00 , 0x30 ,
/*0044f0*/ 0x00 , 0x31 , 0x00 , 0x32 , 0x00 , 0x33 , 0x00 , 0x34 , 0x00 , 0x35 , 0x00 , 0x36 , 0x00 , 0x37 , 0x00 , 0x38 ,
/*004500*/ 0x00 , 0x39 , 0x00 , 0x3a , 0x00 , 0x3b , 0x00 , 0x3c , 0x00 , 0x3d , 0x00 , 0x3e , 0x00 , 0x3f , 0x00 , 0x40 ,
/*004510*/ 0x00 , 0x41 , 0x00 , 0x42 , 0x00 , 0x44 , 0x00 , 0x45 , 0x00 , 0x46 , 0x00 , 0x47 , 0x00 , 0x48 , 0x00 , 0x49 ,
/*004520*/ 0x00 , 0x4a , 0x00 , 0x4b , 0x00 , 0x4c , 0x00 , 0x4d , 0x00 , 0x4e , 0x00 , 0x4f , 0x00 , 0x50 , 0x00 , 0x51 ,
/*004530*/ 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x54 , 0x00 , 0x55 , 0x00 , 0x56 , 0x00 , 0x57 , 0x00 , 0x58 , 0x00 , 0x59 ,
/*004540*/ 0x00 , 0x5a , 0x00 , 0x5b , 0x00 , 0x5c , 0x00 , 0x5d , 0x00 , 0x5e , 0x00 , 0x5f , 0x00 , 0x60 , 0x00 , 0x61 ,
/*004550*/ 0x00 , 0x96 , 0x00 , 0xac , 0x00 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x24 ,
/*004560*/ 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x1c , 0x00 , 0x03 , 0x00 , 0x01 , 0x00 , 0x00 , 0x01 , 0x24 ,
/*004570*/ 0x00 , 0x00 , 0x01 , 0x06 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x03 ,
/*004580*/ 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004590*/ 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0a , 0x0b , 0x0c ,
/*0045a0*/ 0x0d , 0x0e , 0x0f , 0x10 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x1a , 0x1b , 0x1c ,
/*0045b0*/ 0x1d , 0x1e , 0x1f , 0x20 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 , 0x29 , 0x2a , 0x2b , 0x2c ,
/*0045c0*/ 0x2d , 0x2e , 0x2f , 0x30 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x38 , 0x39 , 0x3a , 0x3b , 0x3c ,
/*0045d0*/ 0x3d , 0x3e , 0x3f , 0x40 , 0x41 , 0x42 , 0x00 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0x48 , 0x49 , 0x4a , 0x4b ,
/*0045e0*/ 0x4c , 0x4d , 0x4e , 0x4f , 0x50 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x58 , 0x59 , 0x5a , 0x5b ,
/*0045f0*/ 0x5c , 0x5d , 0x5e , 0x5f , 0x60 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004600*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004610*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x62 , 0x00 , 0x00 , 0x00 , 0x00 , 0x61 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004620*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004630*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004640*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 ,
/*004650*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004660*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004670*/ 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x01 , 0x04 , 0x00 , 0x00 , 0x00 , 0x0c ,
/*004680*/ 0x00 , 0x08 , 0x00 , 0x02 , 0x00 , 0x04 , 0x00 , 0x5f , 0x00 , 0x7e , 0x00 , 0xa0 , 0x00 , 0xa5 , 0x20 , 0x10 ,
/*004690*/ 0xff , 0xff , 0x00 , 0x00 , 0x00 , 0x20 , 0x00 , 0x61 , 0x00 , 0xa0 , 0x00 , 0xa5 , 0x20 , 0x10 , 0xff , 0xff ,
/*0046a0*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x0c , 0x00 , 0x8a ,
/*0046b0*/ 0x00 , 0xc4 , 0x00 , 0xc4 , 0x00 , 0xc4 , 0xff , 0xff , 0x00 , 0x03 , 0x00 , 0x04 , 0x00 , 0x05 , 0x00 , 0x06 ,
/*0046c0*/ 0x00 , 0x07 , 0x00 , 0x08 , 0x00 , 0x09 , 0x00 , 0x0a , 0x00 , 0x0b , 0x00 , 0x0c , 0x00 , 0x0d , 0x00 , 0x0e ,
/*0046d0*/ 0x00 , 0x0f , 0x00 , 0x10 , 0x00 , 0x11 , 0x00 , 0x12 , 0x00 , 0x13 , 0x00 , 0x14 , 0x00 , 0x15 , 0x00 , 0x16 ,
/*0046e0*/ 0x00 , 0x17 , 0x00 , 0x18 , 0x00 , 0x19 , 0x00 , 0x1a , 0x00 , 0x1b , 0x00 , 0x1c , 0x00 , 0x1d , 0x00 , 0x1e ,
/*0046f0*/ 0x00 , 0x1f , 0x00 , 0x20 , 0x00 , 0x21 , 0x00 , 0x22 , 0x00 , 0x23 , 0x00 , 0x24 , 0x00 , 0x25 , 0x00 , 0x26 ,
/*004700*/ 0x00 , 0x27 , 0x00 , 0x28 , 0x00 , 0x29 , 0x00 , 0x2a , 0x00 , 0x2b , 0x00 , 0x2c , 0x00 , 0x2d , 0x00 , 0x2e ,
/*004710*/ 0x00 , 0x2f , 0x00 , 0x30 , 0x00 , 0x31 , 0x00 , 0x32 , 0x00 , 0x33 , 0x00 , 0x34 , 0x00 , 0x35 , 0x00 , 0x36 ,
/*004720*/ 0x00 , 0x37 , 0x00 , 0x38 , 0x00 , 0x39 , 0x00 , 0x3a , 0x00 , 0x3b , 0x00 , 0x3c , 0x00 , 0x3d , 0x00 , 0x3e ,
/*004730*/ 0x00 , 0x3f , 0x00 , 0x40 , 0x00 , 0x41 , 0x00 , 0x42 , 0x00 , 0x43 , 0x00 , 0x44 , 0x00 , 0x45 , 0x00 , 0x46 ,
/*004740*/ 0x00 , 0x47 , 0x00 , 0x48 , 0x00 , 0x49 , 0x00 , 0x4a , 0x00 , 0x4b , 0x00 , 0x4c , 0x00 , 0x4d , 0x00 , 0x4e ,
/*004750*/ 0x00 , 0x4f , 0x00 , 0x50 , 0x00 , 0x51 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x54 , 0x00 , 0x55 , 0x00 , 0x56 ,
/*004760*/ 0x00 , 0x57 , 0x00 , 0x58 , 0x00 , 0x59 , 0x00 , 0x5a , 0x00 , 0x5b , 0x00 , 0x5c , 0x00 , 0x5d , 0x00 , 0x5e ,
/*004770*/ 0x00 , 0x5f , 0x00 , 0x60 , 0x00 , 0x62 , 0x00 , 0x61 , 0x00 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 ,
/*004780*/ 0x00 , 0x00 , 0x00 , 0x68 , 0x09 , 0x09 , 0x05 , 0x00 , 0x03 , 0x03 , 0x02 , 0x05 , 0x07 , 0x07 , 0x09 , 0x07 ,
/*004790*/ 0x02 , 0x03 , 0x03 , 0x05 , 0x05 , 0x03 , 0x05 , 0x02 , 0x05 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 ,
/*0047a0*/ 0x06 , 0x06 , 0x06 , 0x02 , 0x02 , 0x05 , 0x05 , 0x05 , 0x06 , 0x07 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 ,
/*0047b0*/ 0x06 , 0x06 , 0x05 , 0x06 , 0x06 , 0x06 , 0x07 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x07 , 0x06 , 0x06 ,
/*0047c0*/ 0x07 , 0x06 , 0x06 , 0x06 , 0x03 , 0x05 , 0x03 , 0x05 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x05 , 0x06 ,
/*0047d0*/ 0x06 , 0x02 , 0x03 , 0x06 , 0x02 , 0x07 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x05 , 0x06 , 0x06 , 0x07 ,
/*0047e0*/ 0x06 , 0x06 , 0x06 , 0x05 , 0x02 , 0x05 , 0x06 , 0x07 , 0x05 , 0x00 , 0x00 , 0x00 , 0x0a , 0x0a , 0x05 , 0x00 ,
/*0047f0*/ 0x04 , 0x04 , 0x03 , 0x05 , 0x08 , 0x08 , 0x0a , 0x08 , 0x03 , 0x04 , 0x04 , 0x05 , 0x05 , 0x04 , 0x05 , 0x03 ,
/*004800*/ 0x05 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x03 , 0x03 , 0x05 , 0x05 , 0x05 ,
/*004810*/ 0x06 , 0x08 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x05 , 0x06 , 0x06 , 0x06 , 0x08 , 0x06 ,
/*004820*/ 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x08 , 0x06 , 0x06 , 0x08 , 0x06 , 0x06 , 0x06 , 0x04 , 0x05 , 0x04 , 0x05 ,
/*004830*/ 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x06 , 0x05 , 0x06 , 0x06 , 0x03 , 0x04 , 0x06 , 0x03 , 0x08 , 0x06 , 0x06 ,
/*004840*/ 0x06 , 0x06 , 0x06 , 0x06 , 0x05 , 0x06 , 0x06 , 0x08 , 0x06 , 0x06 , 0x06 , 0x05 , 0x03 , 0x05 , 0x06 , 0x08 ,
/*004850*/ 0x05 , 0x00 , 0x00 , 0x00 , 0x0b , 0x0b , 0x06 , 0x00 , 0x04 , 0x04 , 0x03 , 0x06 , 0x08 , 0x08 , 0x0b , 0x08 ,
/*004860*/ 0x03 , 0x04 , 0x04 , 0x06 , 0x06 , 0x04 , 0x06 , 0x03 , 0x06 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 ,
/*004870*/ 0x07 , 0x07 , 0x07 , 0x03 , 0x03 , 0x06 , 0x06 , 0x06 , 0x07 , 0x08 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 ,
/*004880*/ 0x07 , 0x07 , 0x06 , 0x07 , 0x07 , 0x07 , 0x08 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x08 , 0x07 , 0x07 ,
/*004890*/ 0x08 , 0x07 , 0x07 , 0x07 , 0x04 , 0x06 , 0x04 , 0x06 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x06 , 0x07 ,
/*0048a0*/ 0x07 , 0x03 , 0x04 , 0x07 , 0x03 , 0x08 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x07 , 0x06 , 0x07 , 0x07 , 0x08 ,
/*0048b0*/ 0x07 , 0x07 , 0x07 , 0x06 , 0x03 , 0x06 , 0x07 , 0x08 , 0x06 , 0x00 , 0x00 , 0x00 , 0x0c , 0x0c , 0x06 , 0x00 ,
/*0048c0*/ 0x05 , 0x05 , 0x03 , 0x06 , 0x09 , 0x09 , 0x0c , 0x09 , 0x03 , 0x05 , 0x05 , 0x06 , 0x06 , 0x05 , 0x06 , 0x03 ,
/*0048d0*/ 0x06 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x03 , 0x03 , 0x06 , 0x06 , 0x06 ,
/*0048e0*/ 0x08 , 0x09 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x06 , 0x08 , 0x08 , 0x08 , 0x09 , 0x08 ,
/*0048f0*/ 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x09 , 0x08 , 0x08 , 0x09 , 0x08 , 0x08 , 0x08 , 0x05 , 0x06 , 0x05 , 0x06 ,
/*004900*/ 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x06 , 0x08 , 0x08 , 0x03 , 0x05 , 0x08 , 0x03 , 0x09 , 0x08 , 0x08 ,
/*004910*/ 0x08 , 0x08 , 0x08 , 0x08 , 0x06 , 0x08 , 0x08 , 0x09 , 0x08 , 0x08 , 0x08 , 0x06 , 0x03 , 0x06 , 0x08 , 0x09 ,
/*004920*/ 0x06 , 0x00 , 0x00 , 0x00 , 0x0d , 0x0d , 0x07 , 0x00 , 0x05 , 0x05 , 0x03 , 0x07 , 0x0a , 0x0a , 0x0d , 0x0a ,
/*004930*/ 0x03 , 0x05 , 0x05 , 0x07 , 0x07 , 0x05 , 0x07 , 0x03 , 0x07 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 ,
/*004940*/ 0x08 , 0x08 , 0x08 , 0x03 , 0x03 , 0x07 , 0x07 , 0x07 , 0x08 , 0x0a , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 ,
/*004950*/ 0x08 , 0x08 , 0x07 , 0x08 , 0x08 , 0x08 , 0x0a , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x0a , 0x08 , 0x08 ,
/*004960*/ 0x0a , 0x08 , 0x08 , 0x08 , 0x05 , 0x07 , 0x05 , 0x07 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x07 , 0x08 ,
/*004970*/ 0x08 , 0x03 , 0x05 , 0x08 , 0x03 , 0x0a , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x08 , 0x07 , 0x08 , 0x08 , 0x0a ,
/*004980*/ 0x08 , 0x08 , 0x08 , 0x07 , 0x03 , 0x07 , 0x08 , 0x0a , 0x07 , 0x00 , 0x00 , 0x00 , 0x0e , 0x0e , 0x07 , 0x00 ,
/*004990*/ 0x05 , 0x05 , 0x04 , 0x07 , 0x0b , 0x0b , 0x0e , 0x0b , 0x04 , 0x05 , 0x05 , 0x07 , 0x07 , 0x05 , 0x07 , 0x04 ,
/*0049a0*/ 0x07 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x04 , 0x04 , 0x07 , 0x07 , 0x07 ,
/*0049b0*/ 0x09 , 0x0b , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x07 , 0x09 , 0x09 , 0x09 , 0x0b , 0x09 ,
/*0049c0*/ 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x0b , 0x09 , 0x09 , 0x0b , 0x09 , 0x09 , 0x09 , 0x05 , 0x07 , 0x05 , 0x07 ,
/*0049d0*/ 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x07 , 0x09 , 0x09 , 0x04 , 0x05 , 0x09 , 0x04 , 0x0b , 0x09 , 0x09 ,
/*0049e0*/ 0x09 , 0x09 , 0x09 , 0x09 , 0x07 , 0x09 , 0x09 , 0x0b , 0x09 , 0x09 , 0x09 , 0x07 , 0x04 , 0x07 , 0x09 , 0x0b ,
/*0049f0*/ 0x07 , 0x00 , 0x00 , 0x00 , 0x0f , 0x0f , 0x08 , 0x00 , 0x06 , 0x06 , 0x04 , 0x08 , 0x0b , 0x0b , 0x0f , 0x0b ,
/*004a00*/ 0x04 , 0x06 , 0x06 , 0x08 , 0x08 , 0x06 , 0x08 , 0x04 , 0x08 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 ,
/*004a10*/ 0x09 , 0x09 , 0x09 , 0x04 , 0x04 , 0x08 , 0x08 , 0x08 , 0x09 , 0x0b , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 ,
/*004a20*/ 0x09 , 0x09 , 0x08 , 0x09 , 0x09 , 0x09 , 0x0b , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x0b , 0x09 , 0x09 ,
/*004a30*/ 0x0b , 0x09 , 0x09 , 0x09 , 0x06 , 0x08 , 0x06 , 0x08 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x08 , 0x09 ,
/*004a40*/ 0x09 , 0x04 , 0x06 , 0x09 , 0x04 , 0x0b , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x09 , 0x08 , 0x09 , 0x09 , 0x0b ,
/*004a50*/ 0x09 , 0x09 , 0x09 , 0x08 , 0x04 , 0x08 , 0x09 , 0x0b , 0x08 , 0x00 , 0x00 , 0x00 , 0x10 , 0x10 , 0x08 , 0x00 ,
/*004a60*/ 0x06 , 0x06 , 0x04 , 0x08 , 0x0c , 0x0c , 0x10 , 0x0c , 0x04 , 0x06 , 0x06 , 0x08 , 0x08 , 0x06 , 0x08 , 0x04 ,
/*004a70*/ 0x08 , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x04 , 0x04 , 0x08 , 0x08 , 0x08 ,
/*004a80*/ 0x0a , 0x0c , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x08 , 0x0a , 0x0a , 0x0a , 0x0c , 0x0a ,
/*004a90*/ 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0c , 0x0a , 0x0a , 0x0c , 0x0a , 0x0a , 0x0a , 0x06 , 0x08 , 0x06 , 0x08 ,
/*004aa0*/ 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x0a , 0x08 , 0x0a , 0x0a , 0x04 , 0x06 , 0x0a , 0x04 , 0x0c , 0x0a , 0x0a ,
/*004ab0*/ 0x0a , 0x0a , 0x0a , 0x0a , 0x08 , 0x0a , 0x0a , 0x0c , 0x0a , 0x0a , 0x0a , 0x08 , 0x04 , 0x08 , 0x0a , 0x0c ,
/*004ac0*/ 0x08 , 0x00 , 0x00 , 0x00 , 0x11 , 0x11 , 0x09 , 0x00 , 0x06 , 0x06 , 0x04 , 0x09 , 0x0d , 0x0d , 0x11 , 0x0d ,
/*004ad0*/ 0x04 , 0x06 , 0x06 , 0x09 , 0x09 , 0x06 , 0x09 , 0x04 , 0x09 , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b ,
/*004ae0*/ 0x0b , 0x0b , 0x0b , 0x04 , 0x04 , 0x09 , 0x09 , 0x09 , 0x0b , 0x0d , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b ,
/*004af0*/ 0x0b , 0x0b , 0x09 , 0x0b , 0x0b , 0x0b , 0x0d , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0d , 0x0b , 0x0b ,
/*004b00*/ 0x0d , 0x0b , 0x0b , 0x0b , 0x06 , 0x09 , 0x06 , 0x09 , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x09 , 0x0b ,
/*004b10*/ 0x0b , 0x04 , 0x06 , 0x0b , 0x04 , 0x0d , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x09 , 0x0b , 0x0b , 0x0d ,
/*004b20*/ 0x0b , 0x0b , 0x0b , 0x09 , 0x04 , 0x09 , 0x0b , 0x0d , 0x09 , 0x00 , 0x00 , 0x00 , 0x12 , 0x12 , 0x09 , 0x00 ,
/*004b30*/ 0x07 , 0x07 , 0x05 , 0x09 , 0x0e , 0x0e , 0x12 , 0x0e , 0x05 , 0x07 , 0x07 , 0x09 , 0x09 , 0x07 , 0x09 , 0x05 ,
/*004b40*/ 0x09 , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x05 , 0x05 , 0x09 , 0x09 , 0x09 ,
/*004b50*/ 0x0b , 0x0e , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x09 , 0x0b , 0x0b , 0x0b , 0x0e , 0x0b ,
/*004b60*/ 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0e , 0x0b , 0x0b , 0x0e , 0x0b , 0x0b , 0x0b , 0x07 , 0x09 , 0x07 , 0x09 ,
/*004b70*/ 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x0b , 0x09 , 0x0b , 0x0b , 0x05 , 0x07 , 0x0b , 0x05 , 0x0e , 0x0b , 0x0b ,
/*004b80*/ 0x0b , 0x0b , 0x0b , 0x0b , 0x09 , 0x0b , 0x0b , 0x0e , 0x0b , 0x0b , 0x0b , 0x09 , 0x05 , 0x09 , 0x0b , 0x0e ,
/*004b90*/ 0x09 , 0x00 , 0x00 , 0x00 , 0x13 , 0x13 , 0x0a , 0x00 , 0x07 , 0x07 , 0x05 , 0x0a , 0x0e , 0x0e , 0x13 , 0x0e ,
/*004ba0*/ 0x05 , 0x07 , 0x07 , 0x0a , 0x0a , 0x07 , 0x0a , 0x05 , 0x0a , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c ,
/*004bb0*/ 0x0c , 0x0c , 0x0c , 0x05 , 0x05 , 0x0a , 0x0a , 0x0a , 0x0c , 0x0e , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c ,
/*004bc0*/ 0x0c , 0x0c , 0x0a , 0x0c , 0x0c , 0x0c , 0x0e , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0e , 0x0c , 0x0c ,
/*004bd0*/ 0x0e , 0x0c , 0x0c , 0x0c , 0x07 , 0x0a , 0x07 , 0x0a , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0a , 0x0c ,
/*004be0*/ 0x0c , 0x05 , 0x07 , 0x0c , 0x05 , 0x0e , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0c , 0x0a , 0x0c , 0x0c , 0x0e ,
/*004bf0*/ 0x0c , 0x0c , 0x0c , 0x0a , 0x05 , 0x0a , 0x0c , 0x0e , 0x0a , 0x00 , 0x00 , 0x00 , 0x14 , 0x14 , 0x0a , 0x00 ,
/*004c00*/ 0x08 , 0x08 , 0x05 , 0x0a , 0x0f , 0x0f , 0x14 , 0x0f , 0x05 , 0x08 , 0x08 , 0x0a , 0x0a , 0x08 , 0x0a , 0x05 ,
/*004c10*/ 0x0a , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x05 , 0x05 , 0x0a , 0x0a , 0x0a ,
/*004c20*/ 0x0d , 0x0f , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0a , 0x0d , 0x0d , 0x0d , 0x0f , 0x0d ,
/*004c30*/ 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0f , 0x0d , 0x0d , 0x0f , 0x0d , 0x0d , 0x0d , 0x08 , 0x0a , 0x08 , 0x0a ,
/*004c40*/ 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0a , 0x0d , 0x0d , 0x05 , 0x08 , 0x0d , 0x05 , 0x0f , 0x0d , 0x0d ,
/*004c50*/ 0x0d , 0x0d , 0x0d , 0x0d , 0x0a , 0x0d , 0x0d , 0x0f , 0x0d , 0x0d , 0x0d , 0x0a , 0x05 , 0x0a , 0x0d , 0x0f ,
/*004c60*/ 0x0a , 0x00 , 0x00 , 0x00 , 0x15 , 0x15 , 0x0b , 0x00 , 0x08 , 0x08 , 0x05 , 0x0b , 0x10 , 0x10 , 0x15 , 0x10 ,
/*004c70*/ 0x05 , 0x08 , 0x08 , 0x0b , 0x0b , 0x08 , 0x0b , 0x05 , 0x0b , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d ,
/*004c80*/ 0x0d , 0x0d , 0x0d , 0x05 , 0x05 , 0x0b , 0x0b , 0x0b , 0x0d , 0x10 , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d ,
/*004c90*/ 0x0d , 0x0d , 0x0b , 0x0d , 0x0d , 0x0d , 0x10 , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x10 , 0x0d , 0x0d ,
/*004ca0*/ 0x10 , 0x0d , 0x0d , 0x0d , 0x08 , 0x0b , 0x08 , 0x0b , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0b , 0x0d ,
/*004cb0*/ 0x0d , 0x05 , 0x08 , 0x0d , 0x05 , 0x10 , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0d , 0x0b , 0x0d , 0x0d , 0x10 ,
/*004cc0*/ 0x0d , 0x0d , 0x0d , 0x0b , 0x05 , 0x0b , 0x0d , 0x10 , 0x0b , 0x00 , 0x00 , 0x00 , 0x16 , 0x16 , 0x0b , 0x00 ,
/*004cd0*/ 0x08 , 0x08 , 0x06 , 0x0b , 0x11 , 0x11 , 0x16 , 0x11 , 0x06 , 0x08 , 0x08 , 0x0b , 0x0b , 0x08 , 0x0b , 0x06 ,
/*004ce0*/ 0x0b , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x06 , 0x06 , 0x0b , 0x0b , 0x0b ,
/*004cf0*/ 0x0e , 0x11 , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0b , 0x0e , 0x0e , 0x0e , 0x11 , 0x0e ,
/*004d00*/ 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x11 , 0x0e , 0x0e , 0x11 , 0x0e , 0x0e , 0x0e , 0x08 , 0x0b , 0x08 , 0x0b ,
/*004d10*/ 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0b , 0x0e , 0x0e , 0x06 , 0x08 , 0x0e , 0x06 , 0x11 , 0x0e , 0x0e ,
/*004d20*/ 0x0e , 0x0e , 0x0e , 0x0e , 0x0b , 0x0e , 0x0e , 0x11 , 0x0e , 0x0e , 0x0e , 0x0b , 0x06 , 0x0b , 0x0e , 0x11 ,
/*004d30*/ 0x0b , 0x00 , 0x00 , 0x00 , 0x17 , 0x17 , 0x0c , 0x00 , 0x09 , 0x09 , 0x06 , 0x0c , 0x11 , 0x11 , 0x17 , 0x11 ,
/*004d40*/ 0x06 , 0x09 , 0x09 , 0x0c , 0x0c , 0x09 , 0x0c , 0x06 , 0x0c , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e ,
/*004d50*/ 0x0e , 0x0e , 0x0e , 0x06 , 0x06 , 0x0c , 0x0c , 0x0c , 0x0e , 0x11 , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e ,
/*004d60*/ 0x0e , 0x0e , 0x0c , 0x0e , 0x0e , 0x0e , 0x11 , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x11 , 0x0e , 0x0e ,
/*004d70*/ 0x11 , 0x0e , 0x0e , 0x0e , 0x09 , 0x0c , 0x09 , 0x0c , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0c , 0x0e ,
/*004d80*/ 0x0e , 0x06 , 0x09 , 0x0e , 0x06 , 0x11 , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0e , 0x0c , 0x0e , 0x0e , 0x11 ,
/*004d90*/ 0x0e , 0x0e , 0x0e , 0x0c , 0x06 , 0x0c , 0x0e , 0x11 , 0x0c , 0x00 , 0x00 , 0x00 , 0x18 , 0x18 , 0x0c , 0x00 ,
/*004da0*/ 0x09 , 0x09 , 0x06 , 0x0c , 0x12 , 0x12 , 0x18 , 0x12 , 0x06 , 0x09 , 0x09 , 0x0c , 0x0c , 0x09 , 0x0c , 0x06 ,
/*004db0*/ 0x0c , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x06 , 0x06 , 0x0c , 0x0c , 0x0c ,
/*004dc0*/ 0x0f , 0x12 , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0c , 0x0f , 0x0f , 0x0f , 0x12 , 0x0f ,
/*004dd0*/ 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x12 , 0x0f , 0x0f , 0x12 , 0x0f , 0x0f , 0x0f , 0x09 , 0x0c , 0x09 , 0x0c ,
/*004de0*/ 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0c , 0x0f , 0x0f , 0x06 , 0x09 , 0x0f , 0x06 , 0x12 , 0x0f , 0x0f ,
/*004df0*/ 0x0f , 0x0f , 0x0f , 0x0f , 0x0c , 0x0f , 0x0f , 0x12 , 0x0f , 0x0f , 0x0f , 0x0c , 0x06 , 0x0c , 0x0f , 0x12 ,
/*004e00*/ 0x0c , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0xaf , 0x01 , 0x90 , 0x00 , 0x05 , 0x00 , 0x01 , 0x02 , 0x30 ,
/*004e10*/ 0x02 , 0x08 , 0x00 , 0x00 , 0x00 , 0x72 , 0x02 , 0x30 , 0x02 , 0x08 , 0x00 , 0x00 , 0x01 , 0x6b , 0x00 , 0x28 ,
/*004e20*/ 0x00 , 0xcf , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
/*004e30*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x41 , 0x6c ,
/*004e40*/ 0x74 , 0x73 , 0x00 , 0x40 , 0x00 , 0x20 , 0x20 , 0x10 , 0x02 , 0x58 , 0xff , 0x38 , 0x00 , 0x00 , 0x02 , 0x58 ,
/*004e50*/ 0x00 , 0xc7 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0xe3 , 0xe5 , 0x12 , 0x31 ,
/*004e60*/ 0x5f , 0x0f , 0x3c , 0xf5 , 0x00 , 0x00 , 0x03 , 0x20 , 0x00 , 0x00 , 0x00 , 0x00 , 0xb6 , 0x97 , 0xc2 , 0x82 ,
/*004e70*/ 0x00 , 0x00 , 0x00 , 0x00 , 0xb6 , 0x97 , 0xc2 , 0x82 , 0x00 , 0x00 , 0xff , 0x39 , 0x02 , 0xbb , 0x02 , 0x58 ,
/*004e80*/ 0x00 , 0x00 , 0x00 , 0x03 , 0x00 , 0x02 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 ,
/*004e90*/ 0x02 , 0x58 , 0xff , 0x38 , 0x00 , 0x00 , 0x03 , 0x20 , 0x00 , 0x00 , 0x00 , 0x32 , 0x02 , 0xbb , 0x00 , 0x01 ,
/*004ea0*/ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x63 ,
/*004eb0*/ 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x63 , 0x00 , 0x2c , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 ,
/*004ec0*/ 0x00 , 0x08 , 0x00 , 0x40 , 0x00 , 0x0a , 0x00 , 0x00 , 0x00 , 0x84 , 0x00 , 0xde , 0x00 , 0x01 , 0x00 , 0x01
} ;
// -----------------------------------------------------------------------------
// The following data tables are coming from Dear Imgui.
// Re-licensed under permission as MIT-0.
//
// @todo: 0x3100, 0x312F, FONT_TW, // Bopomofo
static const unsigned table_common [ ] = {
0x0020 , 0x00FF , // Basic Latin + Latin Supplement
0xFFFD , 0xFFFD , // Invalid
0 ,
} ;
static const unsigned table_cyrillic [ ] = {
0x0400 , 0x052F , // Cyrillic + Cyrillic Supplement
0x2DE0 , 0x2DFF , // Cyrillic Extended-A
0xA640 , 0xA69F , // Cyrillic Extended-B
0 ,
} ;
static const unsigned table_vietnamese [ ] = {
0x0102 , 0x0103 ,
0x0110 , 0x0111 ,
0x0128 , 0x0129 ,
0x0168 , 0x0169 ,
0x01A0 , 0x01A1 ,
0x01AF , 0x01B0 ,
0x1EA0 , 0x1EF9 ,
0 ,
} ;
static const unsigned table_thai [ ] = {
0x0E00 , 0x0E7F , // Thai
0x2010 , 0x205E , // General Punctuation (smaller set than full CJK 2000-206F)
0 ,
} ;
static const unsigned table_korean [ ] = {
0x1100 , 0x11FF , // Hangul Jamo
0x3131 , 0x3163 , // Korean alphabets (no 3130-318F?)
0xAC00 , 0xD7A3 , // Korean characters (no AC00-D7AF?)
0 ,
} ;
static const unsigned table_chinese_punctuation [ ] = {
0x2000 , 0x206F , // General CJK Punctuation (Thai uses 2010-205E)
0 ,
} ;
static const unsigned table_chinese_japanese_common [ ] = {
0x3000 , 0x30FF , // CJK Symbols and Punctuations, Hiragana, Katakana
0x31F0 , 0x31FF , // Katakana Phonetic Extensions
0xFF00 , 0xFFEF , // Half-width characters (Romaji)
0 ,
} ;
static const unsigned table_chinese_full [ ] = {
0x4e00 , 0x9FAF , // CJK Ideograms
0 ,
} ;
static const unsigned table_eastern_europe [ ] = {
0x0100 , 0x017F , // Latin_Extended-A
0x0180 , 0x024F , // Latin_Extended-B
0x0250 , 0x02AF , // International Phonetic Alphabet (IPA)
0x02B0 , 0x02FF , // Spacing modifier letters (and quotes)
0x0300 , 0x036F , // Fix IPA missing glyphs (?)
0x16A0 , 0x16F0 , // Old Norse / Runic
0x1E00 , 0x1EFF , // Latin_Extended_Additional
0x2000 , 0x206F , // General punctuaction
// 0x2C60, 0x2C7F, // Latin Extended-C (Uighur New Script, the Uralic Phonetic Alphabet, Shona, and Claudian Latin)
0xFB00 , 0xFB4F , // Ligatures for the Latin, Armenian, and Hebrew scripts
0
} ;
static const unsigned table_western_europe [ ] = {
0x0370 , 0x03FF , // Greek and Coptic
0x10A0 , 0x10FF , // Modern Georgian, Svan, and Mingrelian
0x1F00 , 0x1FFF , // fix ancient greek glyphs (?)
0x0400 , 0x052F , // Cyrillic + Cyrillic Supplement
0x2DE0 , 0x2DFF , // Cyrillic Extended-A
0xA640 , 0xA69F , // Cyrillic Extended-B
0xFB00 , 0xFB4F , // Ligatures for the Latin, Armenian, and Hebrew scripts
0
} ;
static const unsigned table_middle_east [ ] = {
0x0590 , 0x05FF , // Hebrew, Yiddish, Ladino, and other Jewish diaspora languages.
0x0600 , 0x06FF , // Arabic script and Arabic-Indic digits
0xFB00 , 0xFB4F , // Ligatures for the Latin, Armenian, and Hebrew scripts
0
} ;
static const unsigned table_emoji [ ] = {
// 0xE000, 0xEB4C, // Private use (emojis)
0xE000 , 0xF68B , // Private use (emojis+webfonts). U+F68C excluded
0xF68D , 0xF8FF , // Private use (emojis+webfonts)
0xF0001 , 0xF1CC7 , // Private use (icon mdi)
0
} ;
// Store 2500 regularly used characters for Simplified Chinese. Table below covers 97.97% of all characters used during the month in July, 1987.
// [ref] https://zh.wiktionary.org/wiki/%E9%99%84%E5%BD%95:%E7%8E%B0%E4%BB%A3%E6%B1%89%E8%AF%AD%E5%B8%B8%E7%94%A8%E5%AD%97%E8%A1%A8
static const unsigned short packed_table_chinese [ ] = { // starts with 0x4E00
0 , 1 , 2 , 4 , 1 , 1 , 1 , 1 , 2 , 1 , 3 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 5 , 2 , 1 , 2 , 3 , 3 , 3 , 2 , 2 , 4 , 1 , 1 , 1 , 2 , 1 , 5 , 2 , 3 , 1 , 2 , 1 , 2 , 1 , 1 , 2 , 1 , 1 , 2 , 2 , 1 , 4 , 1 , 1 , 1 , 1 , 5 , 10 , 1 , 2 , 19 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ,
1 , 5 , 1 , 6 , 3 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 4 , 8 , 5 , 1 , 1 , 4 , 1 , 1 , 3 , 1 , 2 , 1 , 5 , 1 , 2 , 1 , 1 , 1 , 10 , 1 , 1 , 5 , 2 , 4 , 6 , 1 , 4 , 2 , 2 , 2 , 12 , 2 , 1 , 1 , 6 , 1 , 1 , 1 , 4 , 1 , 1 , 4 , 6 , 5 , 1 , 4 , 2 , 2 , 4 , 10 , 7 , 1 , 1 , 4 , 2 , 4 ,
2 , 1 , 4 , 3 , 6 , 10 , 12 , 5 , 7 , 2 , 14 , 2 , 9 , 1 , 1 , 6 , 7 , 10 , 4 , 7 , 13 , 1 , 5 , 4 , 8 , 4 , 1 , 1 , 2 , 28 , 5 , 6 , 1 , 1 , 5 , 2 , 5 , 20 , 2 , 2 , 9 , 8 , 11 , 2 , 9 , 17 , 1 , 8 , 6 , 8 , 27 , 4 , 6 , 9 , 20 , 11 , 27 , 6 , 68 , 2 , 2 , 1 , 1 ,
1 , 2 , 1 , 2 , 2 , 7 , 6 , 11 , 3 , 3 , 1 , 1 , 3 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 3 , 1 , 1 , 8 , 3 , 4 , 1 , 5 , 7 , 2 , 1 , 4 , 4 , 8 , 4 , 2 , 1 , 2 , 1 , 1 , 4 , 5 , 6 , 3 , 6 , 2 , 12 , 3 , 1 , 3 , 9 , 2 , 4 , 3 , 4 , 1 , 5 , 3 , 3 , 1 , 3 , 7 , 1 , 5 , 1 , 1 , 1 , 1 , 2 ,
3 , 4 , 5 , 2 , 3 , 2 , 6 , 1 , 1 , 2 , 1 , 7 , 1 , 7 , 3 , 4 , 5 , 15 , 2 , 2 , 1 , 5 , 3 , 22 , 19 , 2 , 1 , 1 , 1 , 1 , 2 , 5 , 1 , 1 , 1 , 6 , 1 , 1 , 12 , 8 , 2 , 9 , 18 , 22 , 4 , 1 , 1 , 5 , 1 , 16 , 1 , 2 , 7 , 10 , 15 , 1 , 1 , 6 , 2 , 4 , 1 , 2 , 4 , 1 , 6 ,
1 , 1 , 3 , 2 , 4 , 1 , 6 , 4 , 5 , 1 , 2 , 1 , 1 , 2 , 1 , 10 , 3 , 1 , 3 , 2 , 1 , 9 , 3 , 2 , 5 , 7 , 2 , 19 , 4 , 3 , 6 , 1 , 1 , 1 , 1 , 1 , 4 , 3 , 2 , 1 , 1 , 1 , 2 , 5 , 3 , 1 , 1 , 1 , 2 , 2 , 1 , 1 , 2 , 1 , 1 , 2 , 1 , 3 , 1 , 1 , 1 , 3 , 7 , 1 , 4 , 1 , 1 , 2 , 1 ,
1 , 2 , 1 , 2 , 4 , 4 , 3 , 8 , 1 , 1 , 1 , 2 , 1 , 3 , 5 , 1 , 3 , 1 , 3 , 4 , 6 , 2 , 2 , 14 , 4 , 6 , 6 , 11 , 9 , 1 , 15 , 3 , 1 , 28 , 5 , 2 , 5 , 5 , 3 , 1 , 3 , 4 , 5 , 4 , 6 , 14 , 3 , 2 , 3 , 5 , 21 , 2 , 7 , 20 , 10 , 1 , 2 , 19 , 2 , 4 , 28 , 28 , 2 , 3 ,
2 , 1 , 14 , 4 , 1 , 26 , 28 , 42 , 12 , 40 , 3 , 52 , 79 , 5 , 14 , 17 , 3 , 2 , 2 , 11 , 3 , 4 , 6 , 3 , 1 , 8 , 2 , 23 , 4 , 5 , 8 , 10 , 4 , 2 , 7 , 3 , 5 , 1 , 1 , 6 , 3 , 1 , 2 , 2 , 2 , 5 , 28 , 1 , 1 , 7 , 7 , 20 , 5 , 3 , 29 , 3 , 17 , 26 , 1 , 8 , 4 ,
27 , 3 , 6 , 11 , 23 , 5 , 3 , 4 , 6 , 13 , 24 , 16 , 6 , 5 , 10 , 25 , 35 , 7 , 3 , 2 , 3 , 3 , 14 , 3 , 6 , 2 , 6 , 1 , 4 , 2 , 3 , 8 , 2 , 1 , 1 , 3 , 3 , 3 , 4 , 1 , 1 , 13 , 2 , 2 , 4 , 5 , 2 , 1 , 14 , 14 , 1 , 2 , 2 , 1 , 4 , 5 , 2 , 3 , 1 , 14 , 3 , 12 ,
3 , 17 , 2 , 16 , 5 , 1 , 2 , 1 , 8 , 9 , 3 , 19 , 4 , 2 , 2 , 4 , 17 , 25 , 21 , 20 , 28 , 75 , 1 , 10 , 29 , 103 , 4 , 1 , 2 , 1 , 1 , 4 , 2 , 4 , 1 , 2 , 3 , 24 , 2 , 2 , 2 , 1 , 1 , 2 , 1 , 3 , 8 , 1 , 1 , 1 , 2 , 1 , 1 , 3 , 1 , 1 , 1 , 6 , 1 , 5 , 3 , 1 , 1 ,
1 , 3 , 4 , 1 , 1 , 5 , 2 , 1 , 5 , 6 , 13 , 9 , 16 , 1 , 1 , 1 , 1 , 3 , 2 , 3 , 2 , 4 , 5 , 2 , 5 , 2 , 2 , 3 , 7 , 13 , 7 , 2 , 2 , 1 , 1 , 1 , 1 , 2 , 3 , 3 , 2 , 1 , 6 , 4 , 9 , 2 , 1 , 14 , 2 , 14 , 2 , 1 , 18 , 3 , 4 , 14 , 4 , 11 , 41 , 15 , 23 , 15 , 23 ,
176 , 1 , 3 , 4 , 1 , 1 , 1 , 1 , 5 , 3 , 1 , 2 , 3 , 7 , 3 , 1 , 1 , 2 , 1 , 2 , 4 , 4 , 6 , 2 , 4 , 1 , 9 , 7 , 1 , 10 , 5 , 8 , 16 , 29 , 1 , 1 , 2 , 2 , 3 , 1 , 3 , 5 , 2 , 4 , 5 , 4 , 1 , 1 , 2 , 2 , 3 , 3 , 7 , 1 , 6 , 10 , 1 , 17 , 1 , 44 , 4 , 6 , 2 , 1 , 1 , 6 ,
5 , 4 , 2 , 10 , 1 , 6 , 9 , 2 , 8 , 1 , 24 , 1 , 2 , 13 , 7 , 8 , 8 , 2 , 1 , 4 , 1 , 3 , 1 , 3 , 3 , 5 , 2 , 5 , 10 , 9 , 4 , 9 , 12 , 2 , 1 , 6 , 1 , 10 , 1 , 1 , 7 , 7 , 4 , 10 , 8 , 3 , 1 , 13 , 4 , 3 , 1 , 6 , 1 , 3 , 5 , 2 , 1 , 2 , 17 , 16 , 5 , 2 , 16 , 6 ,
1 , 4 , 2 , 1 , 3 , 3 , 6 , 8 , 5 , 11 , 11 , 1 , 3 , 3 , 2 , 4 , 6 , 10 , 9 , 5 , 7 , 4 , 7 , 4 , 7 , 1 , 1 , 4 , 2 , 1 , 3 , 6 , 8 , 7 , 1 , 6 , 11 , 5 , 5 , 3 , 24 , 9 , 4 , 2 , 7 , 13 , 5 , 1 , 8 , 82 , 16 , 61 , 1 , 1 , 1 , 4 , 2 , 2 , 16 , 10 , 3 , 8 , 1 , 1 ,
6 , 4 , 2 , 1 , 3 , 1 , 1 , 1 , 4 , 3 , 8 , 4 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 6 , 3 , 5 , 1 , 1 , 4 , 6 , 9 , 2 , 1 , 1 , 1 , 2 , 1 , 7 , 2 , 1 , 6 , 1 , 5 , 4 , 4 , 3 , 1 , 8 , 1 , 3 , 3 , 1 , 3 , 2 , 2 , 2 , 2 , 3 , 1 , 6 , 1 , 2 , 1 , 2 , 1 , 3 , 7 , 1 , 8 , 2 , 1 , 2 , 1 , 5 ,
2 , 5 , 3 , 5 , 10 , 1 , 2 , 1 , 1 , 3 , 2 , 5 , 11 , 3 , 9 , 3 , 5 , 1 , 1 , 5 , 9 , 1 , 2 , 1 , 5 , 7 , 9 , 9 , 8 , 1 , 3 , 3 , 3 , 6 , 8 , 2 , 3 , 2 , 1 , 1 , 32 , 6 , 1 , 2 , 15 , 9 , 3 , 7 , 13 , 1 , 3 , 10 , 13 , 2 , 14 , 1 , 13 , 10 , 2 , 1 , 3 , 10 , 4 , 15 ,
2 , 15 , 15 , 10 , 1 , 3 , 9 , 6 , 9 , 32 , 25 , 26 , 47 , 7 , 3 , 2 , 3 , 1 , 6 , 3 , 4 , 3 , 2 , 8 , 5 , 4 , 1 , 9 , 4 , 2 , 2 , 19 , 10 , 6 , 2 , 3 , 8 , 1 , 2 , 2 , 4 , 2 , 1 , 9 , 4 , 4 , 4 , 6 , 4 , 8 , 9 , 2 , 3 , 1 , 1 , 1 , 1 , 3 , 5 , 5 , 1 , 3 , 8 , 4 , 6 ,
2 , 1 , 4 , 12 , 1 , 5 , 3 , 7 , 13 , 2 , 5 , 8 , 1 , 6 , 1 , 2 , 5 , 14 , 6 , 1 , 5 , 2 , 4 , 8 , 15 , 5 , 1 , 23 , 6 , 62 , 2 , 10 , 1 , 1 , 8 , 1 , 2 , 2 , 10 , 4 , 2 , 2 , 9 , 2 , 1 , 1 , 3 , 2 , 3 , 1 , 5 , 3 , 3 , 2 , 1 , 3 , 8 , 1 , 1 , 1 , 11 , 3 , 1 , 1 , 4 ,
3 , 7 , 1 , 14 , 1 , 2 , 3 , 12 , 5 , 2 , 5 , 1 , 6 , 7 , 5 , 7 , 14 , 11 , 1 , 3 , 1 , 8 , 9 , 12 , 2 , 1 , 11 , 8 , 4 , 4 , 2 , 6 , 10 , 9 , 13 , 1 , 1 , 3 , 1 , 5 , 1 , 3 , 2 , 4 , 4 , 1 , 18 , 2 , 3 , 14 , 11 , 4 , 29 , 4 , 2 , 7 , 1 , 3 , 13 , 9 , 2 , 2 , 5 ,
3 , 5 , 20 , 7 , 16 , 8 , 5 , 72 , 34 , 6 , 4 , 22 , 12 , 12 , 28 , 45 , 36 , 9 , 7 , 39 , 9 , 191 , 1 , 1 , 1 , 4 , 11 , 8 , 4 , 9 , 2 , 3 , 22 , 1 , 1 , 1 , 1 , 4 , 17 , 1 , 7 , 7 , 1 , 11 , 31 , 10 , 2 , 4 , 8 , 2 , 3 , 2 , 1 , 4 , 2 , 16 , 4 , 32 , 2 ,
3 , 19 , 13 , 4 , 9 , 1 , 5 , 2 , 14 , 8 , 1 , 1 , 3 , 6 , 19 , 6 , 5 , 1 , 16 , 6 , 2 , 10 , 8 , 5 , 1 , 2 , 3 , 1 , 5 , 5 , 1 , 11 , 6 , 6 , 1 , 3 , 3 , 2 , 6 , 3 , 8 , 1 , 1 , 4 , 10 , 7 , 5 , 7 , 7 , 5 , 8 , 9 , 2 , 1 , 3 , 4 , 1 , 1 , 3 , 1 , 3 , 3 , 2 , 6 , 16 ,
1 , 4 , 6 , 3 , 1 , 10 , 6 , 1 , 3 , 15 , 2 , 9 , 2 , 10 , 25 , 13 , 9 , 16 , 6 , 2 , 2 , 10 , 11 , 4 , 3 , 9 , 1 , 2 , 6 , 6 , 5 , 4 , 30 , 40 , 1 , 10 , 7 , 12 , 14 , 33 , 6 , 3 , 6 , 7 , 3 , 1 , 3 , 1 , 11 , 14 , 4 , 9 , 5 , 12 , 11 , 49 , 18 , 51 , 31 ,
140 , 31 , 2 , 2 , 1 , 5 , 1 , 8 , 1 , 10 , 1 , 4 , 4 , 3 , 24 , 1 , 10 , 1 , 3 , 6 , 6 , 16 , 3 , 4 , 5 , 2 , 1 , 4 , 2 , 57 , 10 , 6 , 22 , 2 , 22 , 3 , 7 , 22 , 6 , 10 , 11 , 36 , 18 , 16 , 33 , 36 , 2 , 5 , 5 , 1 , 1 , 1 , 4 , 10 , 1 , 4 , 13 , 2 , 7 ,
5 , 2 , 9 , 3 , 4 , 1 , 7 , 43 , 3 , 7 , 3 , 9 , 14 , 7 , 9 , 1 , 11 , 1 , 1 , 3 , 7 , 4 , 18 , 13 , 1 , 14 , 1 , 3 , 6 , 10 , 73 , 2 , 2 , 30 , 6 , 1 , 11 , 18 , 19 , 13 , 22 , 3 , 46 , 42 , 37 , 89 , 7 , 3 , 16 , 34 , 2 , 2 , 3 , 9 , 1 , 7 , 1 , 1 , 1 , 2 ,
2 , 4 , 10 , 7 , 3 , 10 , 3 , 9 , 5 , 28 , 9 , 2 , 6 , 13 , 7 , 3 , 1 , 3 , 10 , 2 , 7 , 2 , 11 , 3 , 6 , 21 , 54 , 85 , 2 , 1 , 4 , 2 , 2 , 1 , 39 , 3 , 21 , 2 , 2 , 5 , 1 , 1 , 1 , 4 , 1 , 1 , 3 , 4 , 15 , 1 , 3 , 2 , 4 , 4 , 2 , 3 , 8 , 2 , 20 , 1 , 8 , 7 , 13 ,
4 , 1 , 26 , 6 , 2 , 9 , 34 , 4 , 21 , 52 , 10 , 4 , 4 , 1 , 5 , 12 , 2 , 11 , 1 , 7 , 2 , 30 , 12 , 44 , 2 , 30 , 1 , 1 , 3 , 6 , 16 , 9 , 17 , 39 , 82 , 2 , 2 , 24 , 7 , 1 , 7 , 3 , 16 , 9 , 14 , 44 , 2 , 1 , 2 , 1 , 2 , 3 , 5 , 2 , 4 , 1 , 6 , 7 , 5 , 3 ,
2 , 6 , 1 , 11 , 5 , 11 , 2 , 1 , 18 , 19 , 8 , 1 , 3 , 24 , 29 , 2 , 1 , 3 , 5 , 2 , 2 , 1 , 13 , 6 , 5 , 1 , 46 , 11 , 3 , 5 , 1 , 1 , 5 , 8 , 2 , 10 , 6 , 12 , 6 , 3 , 7 , 11 , 2 , 4 , 16 , 13 , 2 , 5 , 1 , 1 , 2 , 2 , 5 , 2 , 28 , 5 , 2 , 23 , 10 , 8 , 4 ,
4 , 22 , 39 , 95 , 38 , 8 , 14 , 9 , 5 , 1 , 13 , 5 , 4 , 3 , 13 , 12 , 11 , 1 , 9 , 1 , 27 , 37 , 2 , 5 , 4 , 4 , 63 , 211 , 95 , 2 , 2 , 2 , 1 , 3 , 5 , 2 , 1 , 1 , 2 , 2 , 1 , 1 , 1 , 3 , 2 , 4 , 1 , 2 , 1 , 1 , 5 , 2 , 2 , 1 , 1 , 2 , 3 , 1 , 3 , 1 , 1 , 1 ,
3 , 1 , 4 , 2 , 1 , 3 , 6 , 1 , 1 , 3 , 7 , 15 , 5 , 3 , 2 , 5 , 3 , 9 , 11 , 4 , 2 , 22 , 1 , 6 , 3 , 8 , 7 , 1 , 4 , 28 , 4 , 16 , 3 , 3 , 25 , 4 , 4 , 27 , 27 , 1 , 4 , 1 , 2 , 2 , 7 , 1 , 3 , 5 , 2 , 28 , 8 , 2 , 14 , 1 , 8 , 6 , 16 , 25 , 3 , 3 , 3 , 14 , 3 ,
3 , 1 , 1 , 2 , 1 , 4 , 6 , 3 , 8 , 4 , 1 , 1 , 1 , 2 , 3 , 6 , 10 , 6 , 2 , 3 , 18 , 3 , 2 , 5 , 5 , 4 , 3 , 1 , 5 , 2 , 5 , 4 , 23 , 7 , 6 , 12 , 6 , 4 , 17 , 11 , 9 , 5 , 1 , 1 , 10 , 5 , 12 , 1 , 1 , 11 , 26 , 33 , 7 , 3 , 6 , 1 , 17 , 7 , 1 , 5 , 12 , 1 , 11 ,
2 , 4 , 1 , 8 , 14 , 17 , 23 , 1 , 2 , 1 , 7 , 8 , 16 , 11 , 9 , 6 , 5 , 2 , 6 , 4 , 16 , 2 , 8 , 14 , 1 , 11 , 8 , 9 , 1 , 1 , 1 , 9 , 25 , 4 , 11 , 19 , 7 , 2 , 15 , 2 , 12 , 8 , 52 , 7 , 5 , 19 , 2 , 16 , 4 , 36 , 8 , 1 , 16 , 8 , 24 , 26 , 4 , 6 , 2 , 9 ,
5 , 4 , 36 , 3 , 28 , 12 , 25 , 15 , 37 , 27 , 17 , 12 , 59 , 38 , 5 , 32 , 127 , 1 , 2 , 9 , 17 , 14 , 4 , 1 , 2 , 1 , 1 , 8 , 11 , 50 , 4 , 14 , 2 , 19 , 16 , 4 , 17 , 5 , 4 , 5 , 26 , 12 , 45 , 2 , 23 , 45 , 104 , 30 , 12 , 8 , 3 , 10 , 2 , 2 ,
3 , 3 , 1 , 4 , 20 , 7 , 2 , 9 , 6 , 15 , 2 , 20 , 1 , 3 , 16 , 4 , 11 , 15 , 6 , 134 , 2 , 5 , 59 , 1 , 2 , 2 , 2 , 1 , 9 , 17 , 3 , 26 , 137 , 10 , 211 , 59 , 1 , 2 , 4 , 1 , 4 , 1 , 1 , 1 , 2 , 6 , 2 , 3 , 1 , 1 , 2 , 3 , 2 , 3 , 1 , 3 , 4 , 4 , 2 , 3 , 3 ,
1 , 4 , 3 , 1 , 7 , 2 , 2 , 3 , 1 , 2 , 1 , 3 , 3 , 3 , 2 , 2 , 3 , 2 , 1 , 3 , 14 , 6 , 1 , 3 , 2 , 9 , 6 , 15 , 27 , 9 , 34 , 145 , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 3 , 1 , 2 , 1 , 1 , 1 , 2 , 3 , 5 , 8 , 3 , 5 , 2 , 4 , 1 , 3 , 2 , 2 , 2 , 12 ,
4 , 1 , 1 , 1 , 10 , 4 , 5 , 1 , 20 , 4 , 16 , 1 , 15 , 9 , 5 , 12 , 2 , 9 , 2 , 5 , 4 , 2 , 26 , 19 , 7 , 1 , 26 , 4 , 30 , 12 , 15 , 42 , 1 , 6 , 8 , 172 , 1 , 1 , 4 , 2 , 1 , 1 , 11 , 2 , 2 , 4 , 2 , 1 , 2 , 1 , 10 , 8 , 1 , 2 , 1 , 4 , 5 , 1 , 2 , 5 , 1 , 8 ,
4 , 1 , 3 , 4 , 2 , 1 , 6 , 2 , 1 , 3 , 4 , 1 , 2 , 1 , 1 , 1 , 1 , 12 , 5 , 7 , 2 , 4 , 3 , 1 , 1 , 1 , 3 , 3 , 6 , 1 , 2 , 2 , 3 , 3 , 3 , 2 , 1 , 2 , 12 , 14 , 11 , 6 , 6 , 4 , 12 , 2 , 8 , 1 , 7 , 10 , 1 , 35 , 7 , 4 , 13 , 15 , 4 , 3 , 23 , 21 , 28 , 52 , 5 ,
26 , 5 , 6 , 1 , 7 , 10 , 2 , 7 , 53 , 3 , 2 , 1 , 1 , 1 , 2 , 163 , 532 , 1 , 10 , 11 , 1 , 3 , 3 , 4 , 8 , 2 , 8 , 6 , 2 , 2 , 23 , 22 , 4 , 2 , 2 , 4 , 2 , 1 , 3 , 1 , 3 , 3 , 5 , 9 , 8 , 2 , 1 , 2 , 8 , 1 , 10 , 2 , 12 , 21 , 20 , 15 , 105 , 2 , 3 , 1 , 1 ,
3 , 2 , 3 , 1 , 1 , 2 , 5 , 1 , 4 , 15 , 11 , 19 , 1 , 1 , 1 , 1 , 5 , 4 , 5 , 1 , 1 , 2 , 5 , 3 , 5 , 12 , 1 , 2 , 5 , 1 , 11 , 1 , 1 , 15 , 9 , 1 , 4 , 5 , 3 , 26 , 8 , 2 , 1 , 3 , 1 , 1 , 15 , 19 , 2 , 12 , 1 , 2 , 5 , 2 , 7 , 2 , 19 , 2 , 20 , 6 , 26 , 7 , 5 ,
2 , 2 , 7 , 34 , 21 , 13 , 70 , 2 , 128 , 1 , 1 , 2 , 1 , 1 , 2 , 1 , 1 , 3 , 2 , 2 , 2 , 15 , 1 , 4 , 1 , 3 , 4 , 42 , 10 , 6 , 1 , 49 , 85 , 8 , 1 , 2 , 1 , 1 , 4 , 4 , 2 , 3 , 6 , 1 , 5 , 7 , 4 , 3 , 211 , 4 , 1 , 2 , 1 , 2 , 5 , 1 , 2 , 4 , 2 , 2 , 6 , 5 , 6 ,
10 , 3 , 4 , 48 , 100 , 6 , 2 , 16 , 296 , 5 , 27 , 387 , 2 , 2 , 3 , 7 , 16 , 8 , 5 , 38 , 15 , 39 , 21 , 9 , 10 , 3 , 7 , 59 , 13 , 27 , 21 , 47 , 5 , 21 , 6
} ;
// 2999 japanese ideograms = 2136 Joyo (for common use) + 863 Jinmeiyo (for personal name) Kanji code points.
// [ref] https://github.com/ocornut/imgui/pull/3627 - Missing 1 Joyo Kanji: U+20B9F (Kun'yomi: Shikaru, On'yomi: Shitsu,shichi).
static const unsigned short packed_table_japanese [ ] = { // starts with 0x4E00
0 , 1 , 2 , 4 , 1 , 1 , 1 , 1 , 2 , 1 , 3 , 3 , 2 , 2 , 1 , 5 , 3 , 5 , 7 , 5 , 6 , 1 , 2 , 1 , 7 , 2 , 6 , 3 , 1 , 8 , 1 , 1 , 4 , 1 , 1 , 18 , 2 , 11 , 2 , 6 , 2 , 1 , 2 , 1 , 5 , 1 , 2 , 1 , 3 , 1 , 2 , 1 , 2 , 3 , 3 , 1 , 1 , 2 , 3 , 1 , 1 , 1 , 12 , 7 , 9 , 1 , 4 , 5 , 1 ,
1 , 2 , 1 , 10 , 1 , 1 , 9 , 2 , 2 , 4 , 5 , 6 , 9 , 3 , 1 , 1 , 1 , 1 , 9 , 3 , 18 , 5 , 2 , 2 , 2 , 2 , 1 , 6 , 3 , 7 , 1 , 1 , 1 , 1 , 2 , 2 , 4 , 2 , 1 , 23 , 2 , 10 , 4 , 3 , 5 , 2 , 4 , 10 , 2 , 4 , 13 , 1 , 6 , 1 , 9 , 3 , 1 , 1 , 6 , 6 , 7 , 6 , 3 , 1 , 2 , 11 , 3 ,
2 , 2 , 3 , 2 , 15 , 2 , 2 , 5 , 4 , 3 , 6 , 4 , 1 , 2 , 5 , 2 , 12 , 16 , 6 , 13 , 9 , 13 , 2 , 1 , 1 , 7 , 16 , 4 , 7 , 1 , 19 , 1 , 5 , 1 , 2 , 2 , 7 , 7 , 8 , 2 , 6 , 5 , 4 , 9 , 18 , 7 , 4 , 5 , 9 , 13 , 11 , 8 , 15 , 2 , 1 , 1 , 1 , 2 , 1 , 2 , 2 , 1 , 2 , 2 , 8 ,
2 , 9 , 3 , 3 , 1 , 1 , 4 , 4 , 1 , 1 , 1 , 4 , 9 , 1 , 4 , 3 , 5 , 5 , 2 , 7 , 5 , 3 , 4 , 8 , 2 , 1 , 13 , 2 , 3 , 3 , 1 , 14 , 1 , 1 , 4 , 5 , 1 , 3 , 6 , 1 , 5 , 2 , 1 , 1 , 3 , 3 , 3 , 3 , 1 , 1 , 2 , 7 , 6 , 6 , 7 , 1 , 4 , 7 , 6 , 1 , 1 , 1 , 1 , 1 , 12 , 3 , 3 , 9 , 5 ,
2 , 6 , 1 , 5 , 6 , 1 , 2 , 3 , 18 , 2 , 4 , 14 , 4 , 1 , 3 , 6 , 1 , 1 , 6 , 3 , 5 , 5 , 3 , 2 , 2 , 2 , 2 , 12 , 3 , 1 , 4 , 2 , 3 , 2 , 3 , 11 , 1 , 7 , 4 , 1 , 2 , 1 , 3 , 17 , 1 , 9 , 1 , 24 , 1 , 1 , 4 , 2 , 2 , 4 , 1 , 2 , 7 , 1 , 1 , 1 , 3 , 1 , 2 , 2 , 4 , 15 , 1 ,
1 , 2 , 1 , 1 , 2 , 1 , 5 , 2 , 5 , 20 , 2 , 5 , 9 , 1 , 10 , 8 , 7 , 6 , 1 , 1 , 1 , 1 , 1 , 1 , 6 , 2 , 1 , 2 , 8 , 1 , 1 , 1 , 1 , 5 , 1 , 1 , 3 , 1 , 1 , 1 , 1 , 3 , 1 , 1 , 12 , 4 , 1 , 3 , 1 , 1 , 1 , 1 , 1 , 10 , 3 , 1 , 7 , 5 , 13 , 1 , 2 , 3 , 4 , 6 , 1 , 1 , 30 ,
2 , 9 , 9 , 1 , 15 , 38 , 11 , 3 , 1 , 8 , 24 , 7 , 1 , 9 , 8 , 10 , 2 , 1 , 9 , 31 , 2 , 13 , 6 , 2 , 9 , 4 , 49 , 5 , 2 , 15 , 2 , 1 , 10 , 2 , 1 , 1 , 1 , 2 , 2 , 6 , 15 , 30 , 35 , 3 , 14 , 18 , 8 , 1 , 16 , 10 , 28 , 12 , 19 , 45 , 38 , 1 , 3 , 2 , 3 ,
13 , 2 , 1 , 7 , 3 , 6 , 5 , 3 , 4 , 3 , 1 , 5 , 7 , 8 , 1 , 5 , 3 , 18 , 5 , 3 , 6 , 1 , 21 , 4 , 24 , 9 , 24 , 40 , 3 , 14 , 3 , 21 , 3 , 2 , 1 , 2 , 4 , 2 , 3 , 1 , 15 , 15 , 6 , 5 , 1 , 1 , 3 , 1 , 5 , 6 , 1 , 9 , 7 , 3 , 3 , 2 , 1 , 4 , 3 , 8 , 21 , 5 , 16 , 4 ,
5 , 2 , 10 , 11 , 11 , 3 , 6 , 3 , 2 , 9 , 3 , 6 , 13 , 1 , 2 , 1 , 1 , 1 , 1 , 11 , 12 , 6 , 6 , 1 , 4 , 2 , 6 , 5 , 2 , 1 , 1 , 3 , 3 , 6 , 13 , 3 , 1 , 1 , 5 , 1 , 2 , 3 , 3 , 14 , 2 , 1 , 2 , 2 , 2 , 5 , 1 , 9 , 5 , 1 , 1 , 6 , 12 , 3 , 12 , 3 , 4 , 13 , 2 , 14 ,
2 , 8 , 1 , 17 , 5 , 1 , 16 , 4 , 2 , 2 , 21 , 8 , 9 , 6 , 23 , 20 , 12 , 25 , 19 , 9 , 38 , 8 , 3 , 21 , 40 , 25 , 33 , 13 , 4 , 3 , 1 , 4 , 1 , 2 , 4 , 1 , 2 , 5 , 26 , 2 , 1 , 1 , 2 , 1 , 3 , 6 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 3 , 1 , 1 , 1 , 9 , 2 , 3 , 1 , 1 ,
1 , 3 , 6 , 3 , 2 , 1 , 1 , 6 , 6 , 1 , 8 , 2 , 2 , 2 , 1 , 4 , 1 , 2 , 3 , 2 , 7 , 3 , 2 , 4 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 3 , 1 , 2 , 5 , 4 , 10 , 9 , 4 , 9 , 1 , 1 , 1 , 1 , 1 , 1 , 5 , 3 , 2 , 1 , 6 , 4 , 9 , 6 , 1 , 10 , 2 , 31 , 17 , 8 , 3 , 7 , 5 , 40 , 1 ,
7 , 7 , 1 , 6 , 5 , 2 , 10 , 7 , 8 , 4 , 15 , 39 , 25 , 6 , 28 , 47 , 18 , 10 , 7 , 1 , 3 , 1 , 1 , 2 , 1 , 1 , 1 , 3 , 3 , 3 , 1 , 1 , 1 , 3 , 4 , 2 , 1 , 4 , 1 , 3 , 6 , 10 , 7 , 8 , 6 , 2 , 2 , 1 , 3 , 3 , 2 , 5 , 8 , 7 , 9 , 12 , 2 , 15 , 1 , 1 , 4 , 1 , 2 , 1 , 1 ,
1 , 3 , 2 , 1 , 3 , 3 , 5 , 6 , 2 , 3 , 2 , 10 , 1 , 4 , 2 , 8 , 1 , 1 , 1 , 11 , 6 , 1 , 21 , 4 , 16 , 3 , 1 , 3 , 1 , 4 , 2 , 3 , 6 , 5 , 1 , 3 , 1 , 1 , 3 , 3 , 4 , 6 , 1 , 1 , 10 , 4 , 2 , 7 , 10 , 4 , 7 , 4 , 2 , 9 , 4 , 3 , 1 , 1 , 1 , 4 , 1 , 8 , 3 , 4 , 1 , 3 , 1 ,
6 , 1 , 4 , 2 , 1 , 4 , 7 , 2 , 1 , 8 , 1 , 4 , 5 , 1 , 1 , 2 , 2 , 4 , 6 , 2 , 7 , 1 , 10 , 1 , 1 , 3 , 4 , 11 , 10 , 8 , 21 , 4 , 6 , 1 , 3 , 5 , 2 , 1 , 2 , 28 , 5 , 5 , 2 , 3 , 13 , 1 , 2 , 3 , 1 , 4 , 2 , 1 , 5 , 20 , 3 , 8 , 11 , 1 , 3 , 3 , 3 , 1 , 8 , 10 , 9 , 2 ,
10 , 9 , 2 , 3 , 1 , 1 , 2 , 4 , 1 , 8 , 3 , 6 , 1 , 7 , 8 , 6 , 11 , 1 , 4 , 29 , 8 , 4 , 3 , 1 , 2 , 7 , 13 , 1 , 4 , 1 , 6 , 2 , 6 , 12 , 12 , 2 , 20 , 3 , 2 , 3 , 6 , 4 , 8 , 9 , 2 , 7 , 34 , 5 , 1 , 18 , 6 , 1 , 1 , 4 , 4 , 5 , 7 , 9 , 1 , 2 , 2 , 4 , 3 , 4 , 1 , 7 ,
2 , 2 , 2 , 6 , 2 , 3 , 25 , 5 , 3 , 6 , 1 , 4 , 6 , 7 , 4 , 2 , 1 , 4 , 2 , 13 , 6 , 4 , 4 , 3 , 1 , 5 , 3 , 4 , 4 , 3 , 2 , 1 , 1 , 4 , 1 , 2 , 1 , 1 , 3 , 1 , 11 , 1 , 6 , 3 , 1 , 7 , 3 , 6 , 2 , 8 , 8 , 6 , 9 , 3 , 4 , 11 , 3 , 2 , 10 , 12 , 2 , 5 , 11 , 1 , 6 , 4 , 5 ,
3 , 1 , 8 , 5 , 4 , 6 , 6 , 3 , 5 , 1 , 1 , 3 , 2 , 1 , 2 , 2 , 6 , 17 , 12 , 1 , 10 , 1 , 6 , 12 , 1 , 6 , 6 , 19 , 9 , 6 , 16 , 1 , 13 , 4 , 4 , 15 , 7 , 17 , 6 , 11 , 9 , 15 , 12 , 6 , 7 , 2 , 1 , 2 , 2 , 15 , 9 , 3 , 21 , 4 , 6 , 49 , 18 , 7 , 3 , 2 , 3 , 1 ,
6 , 8 , 2 , 2 , 6 , 2 , 9 , 1 , 3 , 6 , 4 , 4 , 1 , 2 , 16 , 2 , 5 , 2 , 1 , 6 , 2 , 3 , 5 , 3 , 1 , 2 , 5 , 1 , 2 , 1 , 9 , 3 , 1 , 8 , 6 , 4 , 8 , 11 , 3 , 1 , 1 , 1 , 1 , 3 , 1 , 13 , 8 , 4 , 1 , 3 , 2 , 2 , 1 , 4 , 1 , 11 , 1 , 5 , 2 , 1 , 5 , 2 , 5 , 8 , 6 , 1 , 1 , 7 ,
4 , 3 , 8 , 3 , 2 , 7 , 2 , 1 , 5 , 1 , 5 , 2 , 4 , 7 , 6 , 2 , 8 , 5 , 1 , 11 , 4 , 5 , 3 , 6 , 18 , 1 , 2 , 13 , 3 , 3 , 1 , 21 , 1 , 1 , 4 , 1 , 4 , 1 , 1 , 1 , 8 , 1 , 2 , 2 , 7 , 1 , 2 , 4 , 2 , 2 , 9 , 2 , 1 , 1 , 1 , 4 , 3 , 6 , 3 , 12 , 5 , 1 , 1 , 1 , 5 , 6 , 3 , 2 ,
4 , 8 , 2 , 2 , 4 , 2 , 7 , 1 , 8 , 9 , 5 , 2 , 3 , 2 , 1 , 3 , 2 , 13 , 7 , 14 , 6 , 5 , 1 , 1 , 2 , 1 , 4 , 2 , 23 , 2 , 1 , 1 , 6 , 3 , 1 , 4 , 1 , 15 , 3 , 1 , 7 , 3 , 9 , 14 , 1 , 3 , 1 , 4 , 1 , 1 , 5 , 8 , 1 , 3 , 8 , 3 , 8 , 15 , 11 , 4 , 14 , 4 , 4 , 2 , 5 , 5 ,
1 , 7 , 1 , 6 , 14 , 7 , 7 , 8 , 5 , 15 , 4 , 8 , 6 , 5 , 6 , 2 , 1 , 13 , 1 , 20 , 15 , 11 , 9 , 2 , 5 , 6 , 2 , 11 , 2 , 6 , 2 , 5 , 1 , 5 , 8 , 4 , 13 , 19 , 25 , 4 , 1 , 1 , 11 , 1 , 34 , 2 , 5 , 9 , 14 , 6 , 2 , 2 , 6 , 1 , 1 , 14 , 1 , 3 , 14 , 13 , 1 , 6 ,
12 , 21 , 14 , 14 , 6 , 32 , 17 , 8 , 32 , 9 , 28 , 1 , 2 , 4 , 11 , 8 , 3 , 1 , 14 , 2 , 5 , 15 , 1 , 1 , 1 , 1 , 3 , 6 , 4 , 1 , 3 , 4 , 11 , 3 , 1 , 1 , 11 , 30 , 1 , 5 , 1 , 4 , 1 , 5 , 8 , 1 , 1 , 3 , 2 , 4 , 3 , 17 , 35 , 2 , 6 , 12 , 17 , 3 , 1 , 6 , 2 ,
1 , 1 , 12 , 2 , 7 , 3 , 3 , 2 , 1 , 16 , 2 , 8 , 3 , 6 , 5 , 4 , 7 , 3 , 3 , 8 , 1 , 9 , 8 , 5 , 1 , 2 , 1 , 3 , 2 , 8 , 1 , 2 , 9 , 12 , 1 , 1 , 2 , 3 , 8 , 3 , 24 , 12 , 4 , 3 , 7 , 5 , 8 , 3 , 3 , 3 , 3 , 3 , 3 , 1 , 23 , 10 , 3 , 1 , 2 , 2 , 6 , 3 , 1 , 16 , 1 , 16 ,
22 , 3 , 10 , 4 , 11 , 6 , 9 , 7 , 7 , 3 , 6 , 2 , 2 , 2 , 4 , 10 , 2 , 1 , 1 , 2 , 8 , 7 , 1 , 6 , 4 , 1 , 3 , 3 , 3 , 5 , 10 , 12 , 12 , 2 , 3 , 12 , 8 , 15 , 1 , 1 , 16 , 6 , 6 , 1 , 5 , 9 , 11 , 4 , 11 , 4 , 2 , 6 , 12 , 1 , 17 , 5 , 13 , 1 , 4 , 9 , 5 , 1 , 11 ,
2 , 1 , 8 , 1 , 5 , 7 , 28 , 8 , 3 , 5 , 10 , 2 , 17 , 3 , 38 , 22 , 1 , 2 , 18 , 12 , 10 , 4 , 38 , 18 , 1 , 4 , 44 , 19 , 4 , 1 , 8 , 4 , 1 , 12 , 1 , 4 , 31 , 12 , 1 , 14 , 7 , 75 , 7 , 5 , 10 , 6 , 6 , 13 , 3 , 2 , 11 , 11 , 3 , 2 , 5 , 28 , 15 , 6 , 18 ,
18 , 5 , 6 , 4 , 3 , 16 , 1 , 7 , 18 , 7 , 36 , 3 , 5 , 3 , 1 , 7 , 1 , 9 , 1 , 10 , 7 , 2 , 4 , 2 , 6 , 2 , 9 , 7 , 4 , 3 , 32 , 12 , 3 , 7 , 10 , 2 , 23 , 16 , 3 , 1 , 12 , 3 , 31 , 4 , 11 , 1 , 3 , 8 , 9 , 5 , 1 , 30 , 15 , 6 , 12 , 3 , 2 , 2 , 11 , 19 , 9 ,
14 , 2 , 6 , 2 , 3 , 19 , 13 , 17 , 5 , 3 , 3 , 25 , 3 , 14 , 1 , 1 , 1 , 36 , 1 , 3 , 2 , 19 , 3 , 13 , 36 , 9 , 13 , 31 , 6 , 4 , 16 , 34 , 2 , 5 , 4 , 2 , 3 , 3 , 5 , 1 , 1 , 1 , 4 , 3 , 1 , 17 , 3 , 2 , 3 , 5 , 3 , 1 , 3 , 2 , 3 , 5 , 6 , 3 , 12 , 11 , 1 , 3 ,
1 , 2 , 26 , 7 , 12 , 7 , 2 , 14 , 3 , 3 , 7 , 7 , 11 , 25 , 25 , 28 , 16 , 4 , 36 , 1 , 2 , 1 , 6 , 2 , 1 , 9 , 3 , 27 , 17 , 4 , 3 , 4 , 13 , 4 , 1 , 3 , 2 , 2 , 1 , 10 , 4 , 2 , 4 , 6 , 3 , 8 , 2 , 1 , 18 , 1 , 1 , 24 , 2 , 2 , 4 , 33 , 2 , 3 , 63 , 7 , 1 , 6 ,
40 , 7 , 3 , 4 , 4 , 2 , 4 , 15 , 18 , 1 , 16 , 1 , 1 , 11 , 2 , 41 , 14 , 1 , 3 , 18 , 13 , 3 , 2 , 4 , 16 , 2 , 17 , 7 , 15 , 24 , 7 , 18 , 13 , 44 , 2 , 2 , 3 , 6 , 1 , 1 , 7 , 5 , 1 , 7 , 1 , 4 , 3 , 3 , 5 , 10 , 8 , 2 , 3 , 1 , 8 , 1 , 1 , 27 , 4 , 2 , 1 ,
12 , 1 , 2 , 1 , 10 , 6 , 1 , 6 , 7 , 5 , 2 , 3 , 7 , 11 , 5 , 11 , 3 , 6 , 6 , 2 , 3 , 15 , 4 , 9 , 1 , 1 , 2 , 1 , 2 , 11 , 2 , 8 , 12 , 8 , 5 , 4 , 2 , 3 , 1 , 5 , 2 , 2 , 1 , 14 , 1 , 12 , 11 , 4 , 1 , 11 , 17 , 17 , 4 , 3 , 2 , 5 , 5 , 7 , 3 , 1 , 5 , 9 , 9 , 8 ,
2 , 5 , 6 , 6 , 13 , 13 , 2 , 1 , 2 , 6 , 1 , 2 , 2 , 49 , 4 , 9 , 1 , 2 , 10 , 16 , 7 , 8 , 4 , 3 , 2 , 23 , 4 , 58 , 3 , 29 , 1 , 14 , 19 , 19 , 11 , 11 , 2 , 7 , 5 , 1 , 3 , 4 , 6 , 2 , 18 , 5 , 12 , 12 , 17 , 17 , 3 , 3 , 2 , 4 , 1 , 6 , 2 , 3 , 4 , 3 , 1 ,
1 , 1 , 1 , 5 , 1 , 1 , 9 , 1 , 3 , 1 , 3 , 6 , 1 , 8 , 1 , 1 , 2 , 6 , 4 , 14 , 3 , 1 , 4 , 11 , 4 , 1 , 3 , 32 , 1 , 2 , 4 , 13 , 4 , 1 , 2 , 4 , 2 , 1 , 3 , 1 , 11 , 1 , 4 , 2 , 1 , 4 , 4 , 6 , 3 , 5 , 1 , 6 , 5 , 7 , 6 , 3 , 23 , 3 , 5 , 3 , 5 , 3 , 3 , 13 , 3 , 9 , 10 ,
1 , 12 , 10 , 2 , 3 , 18 , 13 , 7 , 160 , 52 , 4 , 2 , 2 , 3 , 2 , 14 , 5 , 4 , 12 , 4 , 6 , 4 , 1 , 20 , 4 , 11 , 6 , 2 , 12 , 27 , 1 , 4 , 1 , 2 , 2 , 7 , 4 , 5 , 2 , 28 , 3 , 7 , 25 , 8 , 3 , 19 , 3 , 6 , 10 , 2 , 2 , 1 , 10 , 2 , 5 , 4 , 1 , 3 , 4 , 1 , 5 ,
3 , 2 , 6 , 9 , 3 , 6 , 2 , 16 , 3 , 3 , 16 , 4 , 5 , 5 , 3 , 2 , 1 , 2 , 16 , 15 , 8 , 2 , 6 , 21 , 2 , 4 , 1 , 22 , 5 , 8 , 1 , 1 , 21 , 11 , 2 , 1 , 11 , 11 , 19 , 13 , 12 , 4 , 2 , 3 , 2 , 3 , 6 , 1 , 8 , 11 , 1 , 4 , 2 , 9 , 5 , 2 , 1 , 11 , 2 , 9 , 1 , 1 , 2 ,
14 , 31 , 9 , 3 , 4 , 21 , 14 , 4 , 8 , 1 , 7 , 2 , 2 , 2 , 5 , 1 , 4 , 20 , 3 , 3 , 4 , 10 , 1 , 11 , 9 , 8 , 2 , 1 , 4 , 5 , 14 , 12 , 14 , 2 , 17 , 9 , 6 , 31 , 4 , 14 , 1 , 20 , 13 , 26 , 5 , 2 , 7 , 3 , 6 , 13 , 2 , 4 , 2 , 19 , 6 , 2 , 2 , 18 , 9 , 3 , 5 ,
12 , 12 , 14 , 4 , 6 , 2 , 3 , 6 , 9 , 5 , 22 , 4 , 5 , 25 , 6 , 4 , 8 , 5 , 2 , 6 , 27 , 2 , 35 , 2 , 16 , 3 , 7 , 8 , 8 , 6 , 6 , 5 , 9 , 17 , 2 , 20 , 6 , 19 , 2 , 13 , 3 , 1 , 1 , 1 , 4 , 17 , 12 , 2 , 14 , 7 , 1 , 4 , 18 , 12 , 38 , 33 , 2 , 10 , 1 , 1 ,
2 , 13 , 14 , 17 , 11 , 50 , 6 , 33 , 20 , 26 , 74 , 16 , 23 , 45 , 50 , 13 , 38 , 33 , 6 , 6 , 7 , 4 , 4 , 2 , 1 , 3 , 2 , 5 , 8 , 7 , 8 , 9 , 3 , 11 , 21 , 9 , 13 , 1 , 3 , 10 , 6 , 7 , 1 , 2 , 2 , 18 , 5 , 5 , 1 , 9 , 9 , 2 , 68 , 9 , 19 , 13 , 2 , 5 ,
1 , 4 , 4 , 7 , 4 , 13 , 3 , 9 , 10 , 21 , 17 , 3 , 26 , 2 , 1 , 5 , 2 , 4 , 5 , 4 , 1 , 7 , 4 , 7 , 3 , 4 , 2 , 1 , 6 , 1 , 1 , 20 , 4 , 1 , 9 , 2 , 2 , 1 , 3 , 3 , 2 , 3 , 2 , 1 , 1 , 1 , 20 , 2 , 3 , 1 , 6 , 2 , 3 , 6 , 2 , 4 , 8 , 1 , 3 , 2 , 10 , 3 , 5 , 3 , 4 , 4 ,
3 , 4 , 16 , 1 , 6 , 1 , 10 , 2 , 4 , 2 , 1 , 1 , 2 , 10 , 11 , 2 , 2 , 3 , 1 , 24 , 31 , 4 , 10 , 10 , 2 , 5 , 12 , 16 , 164 , 15 , 4 , 16 , 7 , 9 , 15 , 19 , 17 , 1 , 2 , 1 , 1 , 5 , 1 , 1 , 1 , 1 , 1 , 3 , 1 , 4 , 3 , 1 , 3 , 1 , 3 , 1 , 2 , 1 , 1 , 3 , 3 , 7 ,
2 , 8 , 1 , 2 , 2 , 2 , 1 , 3 , 4 , 3 , 7 , 8 , 12 , 92 , 2 , 10 , 3 , 1 , 3 , 14 , 5 , 25 , 16 , 42 , 4 , 7 , 7 , 4 , 2 , 21 , 5 , 27 , 26 , 27 , 21 , 25 , 30 , 31 , 2 , 1 , 5 , 13 , 3 , 22 , 5 , 6 , 6 , 11 , 9 , 12 , 1 , 5 , 9 , 7 , 5 , 5 , 22 , 60 , 3 , 5 ,
13 , 1 , 1 , 8 , 1 , 1 , 3 , 3 , 2 , 1 , 9 , 3 , 3 , 18 , 4 , 1 , 2 , 3 , 7 , 6 , 3 , 1 , 2 , 3 , 9 , 1 , 3 , 1 , 3 , 2 , 1 , 3 , 1 , 1 , 1 , 2 , 1 , 11 , 3 , 1 , 6 , 9 , 1 , 3 , 2 , 3 , 1 , 2 , 1 , 5 , 1 , 1 , 4 , 3 , 4 , 1 , 2 , 2 , 4 , 4 , 1 , 7 , 2 , 1 , 2 , 2 , 3 , 5 , 13 ,
18 , 3 , 4 , 14 , 9 , 9 , 4 , 16 , 3 , 7 , 5 , 8 , 2 , 6 , 48 , 28 , 3 , 1 , 1 , 4 , 2 , 14 , 8 , 2 , 9 , 2 , 1 , 15 , 2 , 4 , 3 , 2 , 10 , 16 , 12 , 8 , 7 , 1 , 1 , 3 , 1 , 1 , 1 , 2 , 7 , 4 , 1 , 6 , 4 , 38 , 39 , 16 , 23 , 7 , 15 , 15 , 3 , 2 , 12 , 7 , 21 ,
37 , 27 , 6 , 5 , 4 , 8 , 2 , 10 , 8 , 8 , 6 , 5 , 1 , 2 , 1 , 3 , 24 , 1 , 16 , 17 , 9 , 23 , 10 , 17 , 6 , 1 , 51 , 55 , 44 , 13 , 294 , 9 , 3 , 6 , 2 , 4 , 2 , 2 , 15 , 1 , 1 , 1 , 13 , 21 , 17 , 68 , 14 , 8 , 9 , 4 , 1 , 4 , 9 , 3 , 11 , 7 , 1 , 1 , 1 ,
5 , 6 , 3 , 2 , 1 , 1 , 1 , 2 , 3 , 8 , 1 , 2 , 2 , 4 , 1 , 5 , 5 , 2 , 1 , 4 , 3 , 7 , 13 , 4 , 1 , 4 , 1 , 3 , 1 , 1 , 1 , 5 , 5 , 10 , 1 , 6 , 1 , 5 , 2 , 1 , 5 , 2 , 4 , 1 , 4 , 5 , 7 , 3 , 18 , 2 , 9 , 11 , 32 , 4 , 3 , 3 , 2 , 4 , 7 , 11 , 16 , 9 , 11 , 8 , 13 , 38 ,
32 , 8 , 4 , 2 , 1 , 1 , 2 , 1 , 2 , 4 , 4 , 1 , 1 , 1 , 4 , 1 , 21 , 3 , 11 , 1 , 16 , 1 , 1 , 6 , 1 , 3 , 2 , 4 , 9 , 8 , 57 , 7 , 44 , 1 , 3 , 3 , 13 , 3 , 10 , 1 , 1 , 7 , 5 , 2 , 7 , 21 , 47 , 63 , 3 , 15 , 4 , 7 , 1 , 16 , 1 , 1 , 2 , 8 , 2 , 3 , 42 , 15 , 4 ,
1 , 29 , 7 , 22 , 10 , 3 , 78 , 16 , 12 , 20 , 18 , 4 , 67 , 11 , 5 , 1 , 3 , 15 , 6 , 21 , 31 , 32 , 27 , 18 , 13 , 71 , 35 , 5 , 142 , 4 , 10 , 1 , 2 , 50 , 19 , 33 , 16 , 35 , 37 , 16 , 19 , 27 , 7 , 1 , 133 , 19 , 1 , 4 , 8 , 7 , 20 , 1 , 4 ,
4 , 1 , 10 , 3 , 1 , 6 , 1 , 2 , 51 , 5 , 40 , 15 , 24 , 43 , 22928 , 11 , 1 , 13 , 154 , 70 , 3 , 1 , 1 , 7 , 4 , 10 , 1 , 2 , 1 , 1 , 2 , 1 , 2 , 1 , 2 , 2 , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 1 , 1 , 1 ,
3 , 2 , 1 , 1 , 1 , 1 , 2 , 1 , 1 ,
} ;
// -----------------------------------------------------------------------------
enum { FONT_MAX_COLORS = 256 } ;
enum { FONT_MAX_STRING_LEN = 40000 } ; // more glyphs than any reasonable person would show on the screen at once. you can only fit 20736 10x10 rects in a 1920x1080 window
static unsigned font_palette [ FONT_MAX_COLORS ] = {
RGB4 ( 248 , 248 , 242 , 255 ) , // foreground color
RGB4 ( 249 , 38 , 114 , 255 ) , // operator
RGB4 ( 174 , 129 , 255 , 255 ) , // numeric
RGB4 ( 102 , 217 , 239 , 255 ) , // function
RGB4 ( 249 , 38 , 114 , 255 ) , // keyword
RGB4 ( 117 , 113 , 94 , 255 ) , // comment
RGB4 ( 102 , 217 , 239 , 255 ) , // type
RGB4 ( 73 , 72 , 62 , 255 ) , // background color
RGB4 ( 39 , 40 , 34 , 255 ) , // clear color
} ;
typedef struct font_t {
bool initialized ;
//char filename[256];
// character info
// filled up by stb_truetype.h
stbtt_packedchar * cdata ;
unsigned num_glyphs ;
unsigned * cp2iter ;
unsigned * iter2cp ;
unsigned begin ; // first glyph. used in cp2iter table to clamp into a lesser range
// font info and data
int height ; // bitmap height
int width ; // bitmap width
float font_size ; // font size in pixels (matches scale[0+1] size below)
float factor ; // font factor (font_size / (ascent - descent))
float scale [ 7 ] ; // user defined font scale (match H1..H6 tags)
// displacement info
float ascent ; // max distance above baseline for all glyphs
float descent ; // max distance below baseline for all glyphs
float linegap ; // distance betwen ascent of next line and descent of current line
float linedist ; // distance between the baseline of two lines (ascent - descent + linegap)
// opengl stuff
GLuint vao ;
GLuint program ;
// font bitmap texture
// generated using stb_truetype.h
GLuint texture_fontdata ;
// metadata texture.
// first row contains information on which parts of the bitmap correspond to a glyph.
// the second row contain information about the relative displacement of the glyph relative to the cursor position
GLuint texture_offsets ;
// color texture
// used to color each glyph individually, e.g. for syntax highlighting
GLuint texture_colors ;
// vbos
GLuint vbo_quad ; // vec2: simply just a regular [0,1]x[0,1] quad
GLuint vbo_instances ; // vec4: (char_pos_x, char_pos_y, char_index, color_index)
2024-04-10 22:19:08 +00:00
// render state
renderstate_t rs ;
2024-03-26 16:15:02 +00:00
} font_t ;
enum { FONTS_MAX = 10 } ;
static font_t fonts [ FONTS_MAX ] = { 0 } ;
static
void font_init ( ) {
do_once {
font_face_from_mem ( FONT_FACE1 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE2 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE3 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE4 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE5 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE6 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE7 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE8 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE9 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
font_face_from_mem ( FONT_FACE10 , bm_mini_ttf , countof ( bm_mini_ttf ) , 42.5f , 0 ) ;
}
}
// Remap color within all existing color textures
void font_color ( const char * tag , uint32_t color ) {
font_init ( ) ;
unsigned index = * tag - FONT_COLOR1 [ 0 ] ;
if ( index < FONT_MAX_COLORS ) {
font_palette [ index ] = color ;
for ( int i = 0 ; i < FONTS_MAX ; + + i ) {
font_t * f = & fonts [ i ] ;
if ( f - > initialized ) {
glActiveTexture ( GL_TEXTURE2 ) ;
glBindTexture ( GL_TEXTURE_1D , f - > texture_colors ) ;
glTexSubImage1D ( GL_TEXTURE_1D , 0 , 0 , FONT_MAX_COLORS , GL_RGBA , GL_UNSIGNED_BYTE , font_palette ) ;
}
}
}
}
void ui_font ( ) {
for ( int i = 0 ; i < countof ( fonts ) ; + + i ) {
if ( ui_collapse ( va ( " Font %d " , i ) , va ( " %p%d " , & fonts [ i ] , i ) ) ) {
font_t * f = & fonts [ i ] ;
ui_float ( " Ascent " , & f - > ascent ) ;
ui_float ( " Descent " , & f - > descent ) ;
ui_float ( " Line Gap " , & f - > linegap ) ;
f - > linedist = ( f - > ascent - f - > descent + f - > linegap ) ;
ui_collapse_end ( ) ;
}
}
}
void font_scale ( const char * tag , int s , float v ) {
font_init ( ) ;
if ( s < 0 | | s > = 10 ) return ;
unsigned index = * tag - FONT_FACE1 [ 0 ] ;
if ( index > FONTS_MAX ) return ;
font_t * f = & fonts [ index ] ;
if ( ! f - > initialized ) return ;
f - > scale [ s ] = v / f - > font_size ;
}
void font_scales ( const char * tag , float h1 , float h2 , float h3 , float h4 , float h5 , float h6 ) {
font_init ( ) ;
unsigned index = * tag - FONT_FACE1 [ 0 ] ;
if ( index > FONTS_MAX ) return ;
font_t * f = & fonts [ index ] ;
if ( ! f - > initialized ) return ;
f - > scale [ 0 ] = h1 / f - > font_size ;
f - > scale [ 1 ] = h1 / f - > font_size ;
f - > scale [ 2 ] = h2 / f - > font_size ;
f - > scale [ 3 ] = h3 / f - > font_size ;
f - > scale [ 4 ] = h4 / f - > font_size ;
f - > scale [ 5 ] = h5 / f - > font_size ;
f - > scale [ 6 ] = h6 / f - > font_size ;
}
// 1. Compile the shaders.
// 1. Call stb_truetype.h routines to read and parse a .ttf file.
// 1. Create a bitmap that is uploaded to the gpu using opengl.
// 1. Calculate and save a bunch of useful variables and put them in the global font variable.
void font_face_from_mem ( const char * tag , const void * ttf_data , unsigned ttf_len , float font_size , unsigned flags ) {
unsigned index = * tag - FONT_FACE1 [ 0 ] ;
if ( index > FONTS_MAX ) return ;
if ( font_size < = 0 | | font_size > 72 ) return ;
if ( ! ttf_data | | ! ttf_len ) return ;
if ( ! ( flags & FONT_EM ) )
flags | = FONT_ASCII ; // ensure this minimal range [0020-00FF] is almost always in
font_t * f = & fonts [ index ] ;
f - > initialized = 1 ;
// load .ttf into a bitmap using stb_truetype.h
int dim = flags & FONT_4096 ? 4096 : flags & FONT_2048 ? 2048 : flags & FONT_1024 ? 1024 : 512 ;
f - > width = dim ;
f - > height = dim ;
// change size [h1(largest) to h3(regular) to h6(smallest)]
f - > font_size = font_size ;
f - > scale [ 0 ] = 1.0000f ; // H1
f - > scale [ 1 ] = 1.0000f ; // H1
f - > scale [ 2 ] = 0.7500f ; // H2
f - > scale [ 3 ] = 0.6600f ; // H3
f - > scale [ 4 ] = 0.5000f ; // H4
f - > scale [ 5 ] = 0.3750f ; // H5
f - > scale [ 6 ] = 0.2500f ; // H6
const char * vs = vfs_read ( " vs_font.glsl " ) ;
const char * fs = vfs_read ( " fs_font.glsl " ) ;
f - > program = shader ( vs , fs , " vertexPosition,instanceGlyph " , " outColor " , NULL ) ;
// figure out what ranges we're about to bake
# define MERGE_TABLE(table) do { \
for ( unsigned i = 0 ; table [ i ] ; i + = 2 ) { \
uint64_t begin = table [ i + 0 ] , end = table [ i + 1 ] ; \
for ( unsigned j = begin ; j < = end ; + + j ) { \
array_push ( sorted , j ) ; \
} \
} } while ( 0 )
# define MERGE_PACKED_TABLE(codepoint_begin, table) do { \
for ( int i = 0 , begin = codepoint_begin , end = countof ( table ) ; i < end ; i + + ) { \
array_push ( sorted , ( unsigned ) ( begin + table [ i ] ) ) ; \
begin + = table [ i ] ; \
} } while ( 0 )
array ( uint64_t ) sorted = 0 ;
if ( flags & FONT_ASCII ) { MERGE_TABLE ( table_common ) ; }
if ( flags & FONT_EM ) { MERGE_TABLE ( table_emoji ) ; }
if ( flags & FONT_EU ) { MERGE_TABLE ( table_eastern_europe ) ; }
if ( flags & FONT_RU ) { MERGE_TABLE ( table_western_europe ) ; }
if ( flags & FONT_EL ) { MERGE_TABLE ( table_western_europe ) ; }
if ( flags & FONT_AR ) { MERGE_TABLE ( table_middle_east ) ; }
if ( flags & FONT_HE ) { MERGE_TABLE ( table_middle_east ) ; }
if ( flags & FONT_TH ) { MERGE_TABLE ( table_thai ) ; }
if ( flags & FONT_VI ) { MERGE_TABLE ( table_vietnamese ) ; }
if ( flags & FONT_KR ) { MERGE_TABLE ( table_korean ) ; }
if ( flags & FONT_JP ) { MERGE_TABLE ( table_chinese_japanese_common ) ; MERGE_PACKED_TABLE ( 0x4E00 , packed_table_japanese ) ; }
if ( flags & FONT_ZH ) { MERGE_TABLE ( table_chinese_japanese_common ) ; MERGE_PACKED_TABLE ( 0x4E00 , packed_table_chinese ) ; } // zh-simplified
if ( flags & FONT_ZH ) { MERGE_TABLE ( table_chinese_punctuation ) ; } // both zh-simplified and zh-full
// if(flags & FONT_ZH) { MERGE_TABLE(table_chinese_full); } // zh-full
array_sort ( sorted , less_64_ptr ) ;
array_unique ( sorted , less_64_ptr ) ; // sort + unique pass
// pack and create bitmap
unsigned char * bitmap = ( unsigned char * ) MALLOC ( f - > height * f - > width ) ;
int charCount = * array_back ( sorted ) - sorted [ 0 ] + 1 ; // 0xEFFFF;
f - > cdata = ( stbtt_packedchar * ) CALLOC ( 1 , sizeof ( stbtt_packedchar ) * charCount ) ;
f - > iter2cp = ( unsigned * ) MALLOC ( sizeof ( unsigned ) * charCount ) ;
f - > cp2iter = ( unsigned * ) MALLOC ( sizeof ( unsigned ) * charCount ) ;
for ( int i = 0 ; i < charCount ; + + i )
f - > iter2cp [ i ] = f - > cp2iter [ i ] = 0xFFFD ; // default invalid glyph
// find first char
{
stbtt_fontinfo info = { 0 } ;
stbtt_InitFont ( & info , ttf_data , stbtt_GetFontOffsetForIndex ( ttf_data , 0 ) ) ;
for ( int i = 0 , end = array_count ( sorted ) ; i < end ; + + i ) {
unsigned glyph = sorted [ i ] ;
if ( ! stbtt_FindGlyphIndex ( & info , glyph ) ) continue ;
f - > begin = glyph ;
break ;
}
}
stbtt_pack_context pc ;
if ( ! stbtt_PackBegin ( & pc , bitmap , f - > width , f - > height , 0 , 1 , NULL ) ) {
PANIC ( " Failed to initialize atlas font " ) ;
}
stbtt_PackSetOversampling ( & pc , flags & FONT_OVERSAMPLE_X ? 2 : 1 , flags & FONT_OVERSAMPLE_Y ? 2 : 1 ) ; /*useful on small fonts*/
int count = 0 ;
for ( int i = 0 , num = array_count ( sorted ) ; i < num ; + + i ) {
uint64_t begin = sorted [ i ] , end = sorted [ i ] ;
while ( i < ( num - 1 ) & & ( sorted [ i + 1 ] - sorted [ i ] ) = = 1 ) end = sorted [ + + i ] ;
//printf("(%d,%d)", (unsigned)begin, (unsigned)end);
if ( begin < f - > begin ) continue ;
if ( stbtt_PackFontRange ( & pc , ttf_data , 0 , f - > font_size , begin , end - begin + 1 , ( stbtt_packedchar * ) f - > cdata + begin - f - > begin ) ) {
for ( uint64_t cp = begin ; cp < = end ; + + cp ) {
// unicode->index runtime lookup
f - > cp2iter [ cp - f - > begin ] = count ;
f - > iter2cp [ count + + ] = cp ;
}
} else {
PRINTF ( " !Failed to pack atlas font. Likely out of texture mem. " ) ;
}
}
stbtt_PackEnd ( & pc ) ;
f - > num_glyphs = count ;
assert ( f - > num_glyphs < charCount ) ;
array_free ( sorted ) ;
// calculate vertical font metrics
stbtt_fontinfo info = { 0 } ;
stbtt_InitFont ( & info , ttf_data , stbtt_GetFontOffsetForIndex ( ttf_data , 0 ) ) ;
int a , d , l ;
if ( ! stbtt_GetFontVMetricsOS2 ( & info , & a , & d , & l ) )
stbtt_GetFontVMetrics ( & info , & a , & d , & l ) ;
f - > ascent = a ;
f - > descent = d ;
f - > linegap = l ;
f - > linedist = ( a - d + l ) ;
f - > factor = ( f - > font_size / ( f - > ascent - f - > descent ) ) ;
// save some gpu memory by truncating unused vertical space in atlas texture
{
int max_y1 = 0 ;
for ( int i = 0 ; i < f - > num_glyphs ; i + + ) {
int cp = f - > iter2cp [ i ] ;
if ( cp = = 0xFFFD ) continue ;
stbtt_packedchar * cd = & f - > cdata [ cp - f - > begin ] ;
if ( cd - > y1 > max_y1 ) {
max_y1 = cd - > y1 ;
}
}
// cut away the unused part of the bitmap
f - > height = max_y1 + 1 ;
}
PRINTF ( " Font atlas size %dx%d (GL_R, %5.2fKiB) (%u glyphs) \n " , f - > width , f - > height , f - > width * f - > height / 1024.f , f - > num_glyphs ) ;
// vao
glGenVertexArrays ( 1 , & f - > vao ) ;
glBindVertexArray ( f - > vao ) ;
// quad vbo setup, used for glyph vertex positions,
// just uv coordinates that will be stretched accordingly by the glyphs width and height
float v [ ] = { 0 , 0 , 1 , 0 , 0 , 1 , 0 , 1 , 1 , 0 , 1 , 1 } ;
glGenBuffers ( 1 , & f - > vbo_quad ) ;
glBindBuffer ( GL_ARRAY_BUFFER , f - > vbo_quad ) ;
glBufferData ( GL_ARRAY_BUFFER , sizeof ( v ) , v , GL_STATIC_DRAW ) ;
glEnableVertexAttribArray ( 0 ) ;
glVertexAttribPointer ( 0 , 2 , GL_FLOAT , GL_FALSE , 0 , ( void * ) 0 ) ;
glVertexAttribDivisor ( 0 , 0 ) ;
// instance vbo setup: for glyph positions, glyph index and color index
glGenBuffers ( 1 , & f - > vbo_instances ) ;
glBindBuffer ( GL_ARRAY_BUFFER , f - > vbo_instances ) ;
glBufferData ( GL_ARRAY_BUFFER , sizeof ( float ) * 4 * FONT_MAX_STRING_LEN , NULL , GL_DYNAMIC_DRAW ) ;
glEnableVertexAttribArray ( 1 ) ;
glVertexAttribPointer ( 1 , 4 , GL_FLOAT , GL_FALSE , 0 , ( void * ) 0 ) ;
glVertexAttribDivisor ( 1 , 1 ) ;
// glEnable(GL_FRAMEBUFFER_SRGB);
// setup and upload font bitmap texture
glGenTextures ( 1 , & f - > texture_fontdata ) ;
glActiveTexture ( GL_TEXTURE0 ) ;
glBindTexture ( GL_TEXTURE_2D , f - > texture_fontdata ) ;
glTexImage2D ( GL_TEXTURE_2D , 0 , GL_RED , f - > width , f - > height , 0 , GL_RED , GL_UNSIGNED_BYTE , bitmap ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_LINEAR ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MAG_FILTER , GL_LINEAR ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_WRAP_S , GL_CLAMP_TO_EDGE ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_WRAP_T , GL_CLAMP_TO_EDGE ) ;
// last chance to inspect the font atlases
if ( flag ( " --font-debug " ) )
stbi_write_png ( va ( " font_debug%d.png " , index ) , f - > width , f - > height , 1 , bitmap , 0 ) ;
FREE ( bitmap ) ;
// setup and upload font metadata texture
// used for lookup in the bitmap texture
glGenTextures ( 1 , & f - > texture_offsets ) ;
glActiveTexture ( GL_TEXTURE1 ) ;
glBindTexture ( GL_TEXTURE_2D , f - > texture_offsets ) ;
float * texture_offsets = ( float * ) MALLOC ( sizeof ( float ) * 8 * f - > num_glyphs ) ;
// remap larger 0xFFFF unicodes into smaller NUM_GLYPHS glyphs
for ( int i = 0 , count = 0 ; i < f - > num_glyphs ; i + + ) {
unsigned cp = f - > iter2cp [ i ] ;
if ( cp = = 0xFFFD ) continue ;
stbtt_packedchar * cd = & f - > cdata [ cp - f - > begin ] ;
// if(cd->x1==cd->x0) { f->iter2cp[i] = f->cp2iter[cp - f->begin] = 0xFFFD; continue; }
int k1 = 0 * f - > num_glyphs + count ;
int k2 = 1 * f - > num_glyphs + count ; + + count ;
texture_offsets [ 4 * k1 + 0 ] = cd - > x0 / ( double ) f - > width ;
texture_offsets [ 4 * k1 + 1 ] = cd - > y0 / ( double ) f - > height ;
texture_offsets [ 4 * k1 + 2 ] = ( cd - > x1 - cd - > x0 ) / ( double ) f - > width ;
texture_offsets [ 4 * k1 + 3 ] = ( cd - > y1 - cd - > y0 ) / ( double ) f - > height ;
texture_offsets [ 4 * k2 + 0 ] = cd - > xoff / ( double ) f - > width ;
texture_offsets [ 4 * k2 + 1 ] = cd - > yoff / ( double ) f - > height ;
texture_offsets [ 4 * k2 + 2 ] = cd - > xoff2 / ( double ) f - > width ;
texture_offsets [ 4 * k2 + 3 ] = cd - > yoff2 / ( double ) f - > height ;
}
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_NEAREST ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_MAG_FILTER , GL_NEAREST ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_WRAP_S , GL_CLAMP_TO_EDGE ) ;
glTexParameteri ( GL_TEXTURE_2D , GL_TEXTURE_WRAP_T , GL_CLAMP_TO_EDGE ) ;
glTexImage2D ( GL_TEXTURE_2D , 0 , GL_RGBA32F , f - > num_glyphs , 2 , 0 , GL_RGBA , GL_FLOAT , texture_offsets ) ;
FREE ( texture_offsets ) ;
// setup color texture
glGenTextures ( 1 , & f - > texture_colors ) ;
glActiveTexture ( GL_TEXTURE2 ) ;
glBindTexture ( GL_TEXTURE_1D , f - > texture_colors ) ;
glTexImage1D ( GL_TEXTURE_1D , 0 , GL_RGBA , FONT_MAX_COLORS , 0 , GL_RGBA , GL_UNSIGNED_BYTE , font_palette ) ;
glTexParameteri ( GL_TEXTURE_1D , GL_TEXTURE_MIN_FILTER , GL_LINEAR ) ;
glTexParameteri ( GL_TEXTURE_1D , GL_TEXTURE_MAG_FILTER , GL_LINEAR ) ;
glTexParameteri ( GL_TEXTURE_1D , GL_TEXTURE_WRAP_S , GL_REPEAT ) ;
// upload constant uniforms
glUseProgram ( f - > program ) ;
glUniform1i ( glGetUniformLocation ( f - > program , " sampler_font " ) , 0 ) ;
glUniform1i ( glGetUniformLocation ( f - > program , " sampler_meta " ) , 1 ) ;
glUniform1i ( glGetUniformLocation ( f - > program , " sampler_colors " ) , 2 ) ;
glUniform2f ( glGetUniformLocation ( f - > program , " res_bitmap " ) , f - > width , f - > height ) ;
glUniform2f ( glGetUniformLocation ( f - > program , " res_meta " ) , f - > num_glyphs , 2 ) ;
glUniform1f ( glGetUniformLocation ( f - > program , " num_colors " ) , FONT_MAX_COLORS ) ;
( void ) flags ;
2024-04-10 22:19:08 +00:00
// set up pipeline
f - > rs = renderstate ( ) ;
f - > rs . blendEnabled = 1 ;
f - > rs . blendFunc = GL_FUNC_ADD ;
f - > rs . blendSrc = GL_SRC_ALPHA ;
f - > rs . blendDst = GL_ONE_MINUS_SRC_ALPHA ;
f - > rs . scissorTestEnabled = 1 ;
f - > rs . depthTestEnabled = 0 ;
f - > rs . cullFaceEnabled = 0 ;
2024-03-26 16:15:02 +00:00
}
void font_face ( const char * tag , const char * filename_ttf , float font_size , unsigned flags ) {
font_init ( ) ;
int len ;
const char * buffer = vfs_load ( filename_ttf , & len ) ;
if ( ! buffer ) buffer = file_load ( filename_ttf , & len ) ;
font_face_from_mem ( tag , buffer , len , font_size , flags ) ;
}
static
void font_draw_cmd ( font_t * f , const float * glyph_data , int glyph_idx , float factor , vec2 offset , vec4 rect ) {
// Backup GL state
GLint last_program , last_vertex_array ;
GLint last_texture0 , last_texture1 , last_texture2 ;
GLint last_blend_src , last_blend_dst ;
GLint last_blend_equation_rgb , last_blend_equation_alpha ;
glGetIntegerv ( GL_CURRENT_PROGRAM , & last_program ) ;
glGetIntegerv ( GL_VERTEX_ARRAY_BINDING , & last_vertex_array ) ;
glActiveTexture ( GL_TEXTURE0 ) ;
glGetIntegerv ( GL_TEXTURE_BINDING_2D , & last_texture0 ) ;
glActiveTexture ( GL_TEXTURE1 ) ;
glGetIntegerv ( GL_TEXTURE_BINDING_2D , & last_texture1 ) ;
glActiveTexture ( GL_TEXTURE2 ) ;
glGetIntegerv ( GL_TEXTURE_BINDING_1D , & last_texture2 ) ;
2024-04-10 22:19:08 +00:00
f - > rs . scissorBox [ 0 ] = rect . x ;
f - > rs . scissorBox [ 1 ] = window_height ( ) - ( rect . y + rect . w ) ;
f - > rs . scissorBox [ 2 ] = rect . z ;
f - > rs . scissorBox [ 3 ] = rect . w ;
2024-03-26 16:15:02 +00:00
glActiveTexture ( GL_TEXTURE0 ) ;
glBindTexture ( GL_TEXTURE_2D , f - > texture_fontdata ) ;
glActiveTexture ( GL_TEXTURE1 ) ;
glBindTexture ( GL_TEXTURE_2D , f - > texture_offsets ) ;
glActiveTexture ( GL_TEXTURE2 ) ;
glBindTexture ( GL_TEXTURE_1D , f - > texture_colors ) ;
// update bindings
glBindVertexArray ( f - > vao ) ;
// update uniforms
glUseProgram ( f - > program ) ;
glUniform1f ( glGetUniformLocation ( f - > program , " scale_factor " ) , factor ) ;
glUniform2fv ( glGetUniformLocation ( f - > program , " string_offset " ) , 1 , & offset . x ) ;
glUniform1f ( glGetUniformLocation ( f - > program , " offset_firstline " ) , f - > ascent * f - > factor ) ;
GLint dims [ 4 ] = { 0 } ;
glGetIntegerv ( GL_VIEWPORT , dims ) ;
glUniform2f ( glGetUniformLocation ( f - > program , " resolution " ) , dims [ 2 ] , dims [ 3 ] ) ;
// actual uploading
glBindBuffer ( GL_ARRAY_BUFFER , f - > vbo_instances ) ;
glBufferSubData ( GL_ARRAY_BUFFER , 0 , 4 * 4 * glyph_idx , glyph_data ) ;
2024-04-10 22:19:08 +00:00
// setup pipeline
renderstate_apply ( & f - > rs ) ;
2024-03-26 16:15:02 +00:00
// actual drawing
glDrawArraysInstanced ( GL_TRIANGLES , 0 , 6 , glyph_idx ) ;
// Restore modified GL state
glUseProgram ( last_program ) ;
glActiveTexture ( GL_TEXTURE0 ) ;
glBindTexture ( GL_TEXTURE_2D , last_texture0 ) ;
glActiveTexture ( GL_TEXTURE1 ) ;
glBindTexture ( GL_TEXTURE_2D , last_texture1 ) ;
glActiveTexture ( GL_TEXTURE2 ) ;
glBindTexture ( GL_TEXTURE_1D , last_texture2 ) ;
glBindVertexArray ( last_vertex_array ) ;
}
// 1. call font_face() if it's the first time it's called.
// 1. parse the string and update the instance vbo, then upload it
// 1. draw the string
static
vec2 font_draw_ex ( const char * text , vec2 offset , vec4 rect , const char * col , void ( * draw_cmd ) ( font_t * , const float * , int , float , vec2 , vec4 ) ) {
font_init ( ) ;
// sanity checks
int len = strlen ( text ) ;
if ( len > = FONT_MAX_STRING_LEN ) {
return vec2 ( 0 , 0 ) ;
}
// pre-init
static __thread float * text_glyph_data ;
do_once text_glyph_data = MALLOC ( 4 * FONT_MAX_STRING_LEN * sizeof ( float ) ) ;
// ready
font_t * f = & fonts [ 0 ] ;
int S = 3 ;
uint32_t color = 0 ;
float X = 0 , Y = 0 , W = 0 , L = f - > ascent * f - > factor * f - > scale [ S ] , LL = 0 ; // LL=largest linedist
offset . y = - offset . y ; // invert y polarity
// utf8 to utf32
array ( uint32_t ) unicode = string32 ( text ) ;
// parse string
float * t = text_glyph_data ;
for ( int i = 0 , end = array_count ( unicode ) ; i < end ; + + i ) {
uint32_t ch = unicode [ i ] ;
if ( ch = = ' \n ' ) {
// change cursor, advance y, record largest x as width, increase height
if ( X > W ) W = X ;
X = 0.0 ;
Y - = f - > linedist * f - > factor * f - > scale [ S ] ;
// if (i+1==end) { //@hack: ensures we terminate the height at the correct position
// Y -= (f->descent+f->linegap)*f->factor*f->scale[S];
// }
continue ;
}
if ( ch > = 1 & & ch < = 6 ) {
// flush previous state
if ( draw_cmd ) draw_cmd ( f , text_glyph_data , ( t - text_glyph_data ) / 4 , f - > scale [ S ] , offset , rect ) ;
t = text_glyph_data ;
// reposition offset to align new baseline
// @fixme:
// offset.y += (f->linedist - f->linegap) * ( f->scale[ch] - f->scale[S] );
// change size
S = ch ;
//@hack: use descent when we use >H4
L = f - > ascent * f - > factor * f - > scale [ S ] ;
if ( L > LL ) LL = L ;
continue ;
}
if ( ch > = 0x1a & & ch < = 0x1f ) {
color = ch - 0x1a ;
continue ;
}
if ( ch > = 0x10 & & ch < = 0x19 ) {
if ( fonts [ ch - 0x10 ] . initialized ) {
// flush previous state
if ( draw_cmd ) draw_cmd ( f , text_glyph_data , ( t - text_glyph_data ) / 4 , f - > scale [ S ] , offset , rect ) ;
t = text_glyph_data ;
// change face
f = & fonts [ ch - 0x10 ] ;
L = f - > ascent * f - > factor * f - > scale [ S ] ;
if ( L > LL ) LL = L ;
}
continue ;
}
if ( ! LL )
LL = L ;
// convert to vbo data
int cp = ch - f - > begin ; // f->cp2iter[ch - f->begin];
//if(cp == 0xFFFD) continue;
//if (cp > f->num_glyphs) continue;
* t + + = X ;
* t + + = Y ;
* t + + = f - > cp2iter [ cp ] ;
* t + + = col ? col [ i ] : color ;
X + = f - > cdata [ cp ] . xadvance * f - > scale [ S ] ;
}
if ( draw_cmd ) draw_cmd ( f , text_glyph_data , ( t - text_glyph_data ) / 4 , f - > scale [ S ] , offset , rect ) ;
//if(strstr(text, "fps")) printf("(%f,%f) (%f) L:%f LINEDIST:%f\n", X, Y, W, L, f->linedist);
return abs2 ( vec2 ( W * W > X * X ? W : X , Y * Y > LL * LL ? Y : LL ) ) ;
}
static vec2 gotoxy = { 0 } ;
// Return cursor
vec2 font_xy ( ) {
return gotoxy ;
}
// Relocate cursor
void font_goto ( float x , float y ) {
gotoxy = vec2 ( x , y ) ;
}
// Print and linefeed. Text may include markup code
vec2 font_clip ( const char * text , vec4 rect ) {
int l = 0 , c = 0 , r = 0 , j = 0 , t = 0 , b = 0 , m = 0 , B = 0 ;
while ( text [ 0 ] = = FONT_LEFT [ 0 ] ) {
int has_set = 0 ;
if ( text [ 1 ] = = FONT_LEFT [ 1 ] ) l = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_CENTER [ 1 ] ) c = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_RIGHT [ 1 ] ) r = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_JUSTIFY [ 1 ] ) j = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_TOP [ 1 ] ) t = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_BOTTOM [ 1 ] ) b = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_MIDDLE [ 1 ] ) m = 1 , has_set = 1 ;
if ( text [ 1 ] = = FONT_BASELINE [ 1 ] ) B = 1 , has_set = 1 ;
if ( ! has_set ) break ;
else text + = 2 ;
}
int num_newlines = 0 ;
for ( int i = 0 , end = strlen ( text ) ; i < end ; + + i ) {
if ( text [ i ] = = ' \n ' ) + + num_newlines ;
}
if ( num_newlines > 1 ) {
vec2 text_dims = font_rect ( text ) ;
char tags [ 4 ] = { 0 } ;
int t = 0 ;
while ( * text ) {
char ch = * text ;
if ( ( ch > = 1 & & ch < = 6 ) | |
( ch > = 0x1a & & ch < = 0x1f ) | |
( ch > = 0x10 & & ch < = 0x19 ) ) {
if ( t < sizeof ( tags ) ) tags [ t + + ] = ch ;
}
else break ;
+ + text ;
}
array ( char * ) lines = strsplit ( text , " \n " ) ;
if ( b ) {
gotoxy . y + = ( rect . w - text_dims . y ) ;
}
if ( m ) {
gotoxy . y + = ( rect . w / 2. - text_dims . y / 2. ) ;
}
if ( B ) {
gotoxy . y + = ( rect . w / 2. - text_dims . y / 1. ) ;
}
for ( int i = 0 ; i < array_count ( lines ) ; i + + ) {
char * line = va ( " %s%s \n " , tags , lines [ i ] ) ;
vec2 text_rect = font_rect ( line ) ;
if ( l | | c | | r ) {
gotoxy . x = l ? rect . x : r ? ( ( rect . x + rect . z ) - text_rect . x ) : rect . x + rect . z / 2. - text_rect . x / 2. ;
} else if ( j ) {
float words_space = 0.0f ;
array ( char * ) words = strsplit ( lines [ i ] , " " ) ;
for ( int k = 0 ; k < array_count ( words ) ; + + k ) {
words_space + = font_rect ( words [ k ] ) . x ;
}
if ( array_count ( words ) = = 0 ) {
gotoxy . y + = text_rect . y ;
continue ;
}
float extra_space = rect . z - words_space ;
int gaps = array_count ( words ) - 1 ;
float space_offset = gaps > 0 ? extra_space / ( float ) gaps : 0 ;
for ( int k = 0 ; k < array_count ( words ) ; + + k ) {
vec2 dims = font_draw_ex ( va ( " %s%s " , tags , words [ k ] ) , gotoxy , rect , NULL , font_draw_cmd ) ;
gotoxy . x + = dims . x + space_offset ;
}
gotoxy . x = rect . x ;
}
if ( ! j ) {
font_draw_ex ( line , gotoxy , rect , NULL , font_draw_cmd ) ;
}
gotoxy . y + = text_rect . y ;
}
return text_dims ;
} else {
if ( l | | c | | r ) {
vec2 text_rect = font_rect ( text ) ;
gotoxy . x = l ? rect . x : r ? ( ( rect . x + rect . z ) - text_rect . x ) : rect . x + rect . z / 2. - text_rect . x / 2. ;
}
if ( t | | b | | m | | B ) {
vec2 text_rect = font_rect ( text ) ;
gotoxy . y = t ? rect . y : b ? ( ( rect . y + rect . w ) - text_rect . y ) : m ? rect . y + rect . w / 2. - text_rect . y / 2. : rect . y + rect . w / 2. - text_rect . y / 1 ;
}
vec2 dims = font_draw_ex ( text , gotoxy , rect , NULL , font_draw_cmd ) ;
gotoxy . y + = strchr ( text , ' \n ' ) ? dims . y : 0 ;
gotoxy . x + = ! strchr ( text , ' \n ' ) ? dims . x : 0 ;
return dims ;
}
}
vec2 font_print ( const char * text ) {
vec4 dims = { 0 , 0 , window_width ( ) , window_height ( ) } ;
return font_clip ( text , dims ) ;
}
const char * font_wrap ( const char * text , float max_width ) {
// return early if the text fits the max_width already
if ( font_rect ( text ) . x < = max_width ) {
return text ;
}
// skip alignment flags and collect tags
while ( text [ 0 ] = = FONT_LEFT [ 0 ] ) {
int has_set = 0 ;
if ( text [ 1 ] = = FONT_LEFT [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_CENTER [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_RIGHT [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_JUSTIFY [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_TOP [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_BOTTOM [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_MIDDLE [ 1 ] ) has_set = 1 ;
if ( text [ 1 ] = = FONT_BASELINE [ 1 ] ) has_set = 1 ;
if ( ! has_set ) break ;
else text + = 2 ;
}
char tags [ 4 ] = { 0 } ;
int t = 0 ;
while ( * text ) {
char ch = * text ;
if ( ( ch > = 1 & & ch < = 6 ) | |
( ch > = 0x1a & & ch < = 0x1f ) | |
( ch > = 0x10 & & ch < = 0x19 ) ) {
if ( t < sizeof ( tags ) ) tags [ t + + ] = ch ;
}
else break ;
+ + text ;
}
array ( char * ) words = strsplit ( text , " " ) ;
static __thread int slot = 0 ;
static __thread char buf [ 16 ] [ FONT_MAX_STRING_LEN ] = { 0 } ;
int len = strlen ( text ) + array_count ( words ) ;
slot = ( slot + 1 ) % 16 ;
memset ( buf [ slot ] , 0 , len + 1 ) ;
char * out = buf [ slot ] ;
float width = 0.0f ;
for ( int i = 0 ; i < array_count ( words ) ; + + i ) {
char * word = words [ i ] ;
float word_width = font_rect ( va ( " %s%s " , tags , word ) ) . x ;
if ( strstr ( word , " \n " ) ) {
width = word_width ;
strcat ( out , va ( " %s " , word ) ) ;
} else {
if ( width + word_width > max_width ) {
width = 0.0f ;
strcat ( out , " \n " ) ;
}
width + = word_width ;
strcat ( out , va ( " %s " , word ) ) ;
}
}
// get rid of the space added at the end
out [ strlen ( out ) ] = 0 ;
return out ;
}
// Print a code snippet with syntax highlighting
vec2 font_highlight ( const char * text , const void * colors ) {
vec4 screen_dim = { 0 , 0 , window_width ( ) , window_height ( ) } ;
vec2 dims = font_draw_ex ( text , gotoxy , screen_dim , ( const char * ) colors , font_draw_cmd ) ;
gotoxy . y + = strchr ( text , ' \n ' ) ? dims . y : 0 ;
gotoxy . x + = ! strchr ( text , ' \n ' ) ? dims . x : 0 ;
return dims ;
}
// Calculate the size of a string, in the pixel size specified. Count stray newlines too.
vec2 font_rect ( const char * str ) {
vec4 dims = { 0 , 0 , window_width ( ) , window_height ( ) } ;
return font_draw_ex ( str , gotoxy , dims , NULL , NULL ) ;
}
font_metrics_t font_metrics ( const char * text ) {
font_metrics_t m = { 0 } ;
int S = 3 ;
font_t * f = & fonts [ 0 ] ;
// utf8 to utf32
array ( uint32_t ) unicode = string32 ( text ) ;
// parse string
for ( int i = 0 , end = array_count ( unicode ) ; i < end ; + + i ) {
uint32_t ch = unicode [ i ] ;
if ( ch > = 1 & & ch < = 6 ) {
S = ch ;
continue ;
}
if ( ch > = 0x1a & & ch < = 0x1f ) {
if ( fonts [ ch - 0x1a ] . initialized ) {
// change face
f = & fonts [ ch - 0x1a ] ;
}
continue ;
}
}
m . ascent = f - > ascent * f - > factor * f - > scale [ S ] ;
m . descent = f - > descent * f - > factor * f - > scale [ S ] ;
m . linegap = f - > linegap * f - > factor * f - > scale [ S ] ;
m . linedist = f - > linedist * f - > factor * f - > scale [ S ] ;
return m ;
}
void * font_colorize ( const char * text , const char * comma_types , const char * comma_keywords ) {
// reallocate memory
static __thread int slot = 0 ;
static __thread char * buf [ 16 ] = { 0 } ;
static __thread array ( char * ) list [ 16 ] = { 0 } ;
slot = ( slot + 1 ) % 16 ;
buf [ slot ] = REALLOC ( buf [ slot ] , strlen ( text ) + 1 ) ;
memset ( buf [ slot ] , 0 , strlen ( text ) + 1 ) ;
// ready
char * col = buf [ slot ] ;
char * str = STRDUP ( text ) ;
// split inputs
array ( char * ) TYPES = strsplit ( comma_types , " , " ) ;
array ( char * ) KEYWORDS = strsplit ( comma_keywords , " , " ) ;
// ignored characters
char delims [ ] = " ,(){}[]; \t \n " ;
int num_delims = strlen ( delims ) ;
char operators [ ] = " /+-*<>=&| " ;
int num_operators = strlen ( operators ) ;
struct token {
char * start , * stop ;
enum {
TOKEN_OTHER , TOKEN_OPERATOR , TOKEN_NUMERIC , TOKEN_FUNCTION ,
TOKEN_KEYWORD , TOKEN_COMMENT , TOKEN_VARIABLE , TOKEN_UNSET
} type ;
} tokens [ 9999 ] ; // hurr
int num_tokens = 0 ; // running counter
char * ptr = str ;
while ( * ptr ) {
// skip delimiters
int is_delim = 0 ;
for ( int i = 0 ; i < num_delims ; i + + ) {
if ( * ptr = = delims [ i ] ) {
is_delim = 1 ;
break ;
}
}
if ( is_delim = = 1 ) {
ptr + + ;
continue ;
}
// found a token!
char * start = ptr ;
if ( * ptr = = ' / ' & & * ( ptr + 1 ) = = ' / ' ) {
// found a line comment, go to end of line or end of file
while ( * ptr ! = ' \n ' & & * ptr ! = ' \0 ' ) {
ptr + + ;
}
tokens [ num_tokens ] . start = start ;
tokens [ num_tokens ] . stop = ptr ;
tokens [ num_tokens ] . type = TOKEN_COMMENT ;
num_tokens + + ;
ptr + + ;
continue ;
}
if ( * ptr = = ' / ' & & * ( ptr + 1 ) = = ' * ' ) {
// found a block comment, go to end of line or end of file
while ( ! ( * ptr = = ' * ' & & * ( ptr + 1 ) = = ' / ' ) & & * ptr ! = ' \0 ' ) {
ptr + + ;
}
ptr + + ;
tokens [ num_tokens ] . start = start ;
tokens [ num_tokens ] . stop = ptr + 1 ;
tokens [ num_tokens ] . type = TOKEN_COMMENT ;
num_tokens + + ;
ptr + + ;
continue ;
}
// check if it's an operator
int is_operator = 0 ;
for ( int i = 0 ; i < num_operators ; i + + ) {
if ( * ptr = = operators [ i ] ) {
is_operator = 1 ;
break ;
}
}
if ( is_operator = = 1 ) {
tokens [ num_tokens ] . start = start ;
tokens [ num_tokens ] . stop = ptr + 1 ;
tokens [ num_tokens ] . type = TOKEN_OPERATOR ;
num_tokens + + ;
ptr + + ;
continue ;
}
// it's either a name, type, a keyword, a function, or an names separated by an operator without spaces
while ( * ptr ) {
// check whether it's an operator stuck between two names
int is_operator2 = 0 ;
for ( int i = 0 ; i < num_operators ; i + + ) {
if ( * ptr = = operators [ i ] ) {
is_operator2 = 1 ;
break ;
}
}
if ( is_operator2 = = 1 ) {
tokens [ num_tokens ] . start = start ;
tokens [ num_tokens ] . stop = ptr ;
tokens [ num_tokens ] . type = TOKEN_UNSET ;
num_tokens + + ;
break ;
}
// otherwise go until we find the next delimiter
int is_delim2 = 0 ;
for ( int i = 0 ; i < num_delims ; i + + ) {
if ( * ptr = = delims [ i ] ) {
is_delim2 = 1 ;
break ;
}
}
if ( is_delim2 = = 1 ) {
tokens [ num_tokens ] . start = start ;
tokens [ num_tokens ] . stop = ptr ;
tokens [ num_tokens ] . type = TOKEN_UNSET ;
num_tokens + + ;
ptr + + ;
break ;
}
// did not find delimiter, check next char
ptr + + ;
}
}
// determine the types of the unset tokens, i.e. either
// a name, a type, a keyword, or a function
int num_keywords = array_count ( KEYWORDS ) ;
int num_types = array_count ( TYPES ) ;
for ( int i = 0 ; i < num_tokens ; i + + ) {
// TOKEN_OPERATOR and TOKEN_COMMENT should already be set, so skip those
if ( tokens [ i ] . type ! = TOKEN_UNSET ) {
continue ;
}
char end_char = * tokens [ i ] . stop ;
// temporarily null terminate at end of token, restored after parsing
* tokens [ i ] . stop = ' \0 ' ;
// parse
// if it's a keyword
int is_keyword = 0 ;
for ( int j = 0 ; j < num_keywords ; j + + ) {
if ( strcmp ( tokens [ i ] . start , KEYWORDS [ j ] ) = = 0 ) {
is_keyword = 1 ;
break ;
}
}
if ( is_keyword = = 1 ) {
tokens [ i ] . type = TOKEN_KEYWORD ;
* tokens [ i ] . stop = end_char ;
continue ;
}
// Check if it's a function
float f ;
if ( end_char = = ' ( ' ) {
tokens [ i ] . type = TOKEN_FUNCTION ;
* tokens [ i ] . stop = end_char ;
continue ;
}
// or if it's a numeric value. catches both integers and floats
if ( sscanf ( tokens [ i ] . start , " %f " , & f ) = = 1 ) {
tokens [ i ] . type = TOKEN_NUMERIC ;
* tokens [ i ] . stop = end_char ;
continue ;
}
// if it's a variable type
int is_type = 0 ;
for ( int j = 0 ; j < num_types ; j + + ) {
if ( strcmp ( tokens [ i ] . start , TYPES [ j ] ) = = 0 ) {
is_type = 1 ;
break ;
}
}
if ( is_type = = 1 ) {
tokens [ i ] . type = TOKEN_VARIABLE ;
* tokens [ i ] . stop = end_char ;
continue ;
}
// otherwise it's a regular variable name
tokens [ i ] . type = TOKEN_OTHER ;
* tokens [ i ] . stop = end_char ;
}
// print all tokens and their types
for ( int i = 0 ; i < num_tokens ; i + + ) {
for ( char * p = tokens [ i ] . start ; p ! = tokens [ i ] . stop ; p + + ) {
col [ ( p - str ) ] = tokens [ i ] . type ;
}
}
FREE ( str ) ;
return col ;
}