找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2024|回复: 16
收起左侧

BMI270手册

[复制链接]
ID:660808 发表于 2024-11-19 00:00 | 显示全部楼层 |阅读模式
BMI270.pdf (3.45 MB, 下载次数: 0)
回复

使用道具 举报

ID:660808 发表于 2024-11-19 00:02 | 显示全部楼层
最近在学习这个芯片,碰到一个问题。芯片要配置8K文件后才能使用。稍后整理好程序发上来,希望有高手指点迷津。
回复

使用道具 举报

ID:63317 发表于 2024-11-19 07:43 | 显示全部楼层
谢谢分享资料
回复

使用道具 举报

ID:63317 发表于 2024-11-19 07:44 | 显示全部楼层
有密码打不开
回复

使用道具 举报

ID:1067167 发表于 2024-11-19 11:44 | 显示全部楼层
是英文版的
回复

使用道具 举报

ID:660808 发表于 2024-11-21 20:13 | 显示全部楼层

没有密码的。
回复

使用道具 举报

ID:660808 发表于 2024-11-21 22:18 | 显示全部楼层
没找到中文的,某一个宝买的几个原装芯片,只有一个的CHIP ID是0X24,其它都是是0X26也就是说只有一个是BMI270,另一个在BOSCH官网上说是0X24.但是没有资料。
回复

使用道具 举报

ID:660808 发表于 2024-11-21 22:20 | 显示全部楼层
2024-11-17_172630.jpg 2024-11-17_172705.jpg 2024-11-17_172731.jpg
回复

使用道具 举报

ID:660808 发表于 2024-11-21 22:22 | 显示全部楼层
2024 BMI270-TEST-OLED-15F.7z (1.08 MB, 下载次数: 0)
回复

使用道具 举报

ID:660808 发表于 2024-11-21 22:23 | 显示全部楼层
问题就是配置文件写不进去。不知道是哪个地方写错了。附上原程序,
回复

使用道具 举报

ID:660808 发表于 2024-11-21 22:37 | 显示全部楼层
//****************************************
// 功能: 显示加速度计和陀螺仪的原始数据
//****************************************
// BMI270 IIC测试程序
// MCU:STC15F2K60SA
// 晶振:11.0592M
// 显示1:I2C  OLED12864 SSD1306
// 显示2:ISP  LCD12864
// 时间:2024年11月17日
//****************************************

#include <STC15WXX.h>
#include <math.h>    //Keil library  
#include <stdio.h>   //Keil library       
#include <INTRINS.H>
#include <uart.H>
#include <OLED12864.H>
#include "myfun.h"
//#include "imu660ra_config.h"
typedef unsigned char  uchar;
typedef unsigned short ushort;
typedef unsigned int   uint;
//typedef unsigned long          uint32 ;        // 32 bits
//#define N1 21          //消抖显示
//****************************************
// 定义51单片机端口
//****************************************
sbit    SCL=P1^2;                        //IIC时钟引脚定义
sbit    SDA=P1^3;                        //IIC数据引脚定义

//****************************************
// 定义BMI270内部地址
//****************************************
//#define        SMPLRT_DIV                0x41        //陀螺仪采样率,典型值:0x07(125Hz)
//#define        CONFIG                          0x06        //低通滤波频率,典型值:0x06(5Hz)
//#define        GYRO_CONFIG                0x43        //陀螺仪自检及测量范围,典型值:0x00(2000deg/s)
//#define        ACCEL_CONFIG        0x41        //加速计自检、测量范围及高通滤波频率,典型值:0x03(不自检,2G,5Hz)


#define        ACCEL_CONF        0x40          //加速计速率,带宽,读取模式,典型值:0xA8
#define        ACCEL_RANGE        0x41    //加速计测量范围,典型值:0x02
#define        GYRO_CONF         0x42    //陀螺仪角速度速率,带宽,典型值:0xA9
#define        GYRO_RANGE        0x43    //陀螺仪角速度测量范围,典型值:0x00
#define        ACCEL_XOUT_H        0x0D
#define        ACCEL_XOUT_L        0x0C
#define        ACCEL_YOUT_H        0x0F
#define        ACCEL_YOUT_L        0x0E
#define        ACCEL_ZOUT_H        0x11
#define        ACCEL_ZOUT_L        0x10
#define        TEMP_OUT_H                0x23
#define        TEMP_OUT_L                0x22
#define        GYRO_XOUT_H                0x13
#define        GYRO_XOUT_L                0x12       
#define        GYRO_YOUT_H                0x15
#define        GYRO_YOUT_L                0x14
#define        GYRO_ZOUT_H                0x17
#define        GYRO_ZOUT_L                0x16
#define        PWR_CONF                0x7C    //电源  典型值:0x03,
#define        PWR_CTRL                0x7D    //电源  典型值:0x00 ,0X0E 禁用辅助接口
#define        CHIP_ID                        0x00            //IIC地址寄存器0X00(默认值0x24,只读)
#define        SlaveAddress        0xD2          //IIC写入时的地址字节数据,+0为写,0X68对应OXD0,0X69对应OXD2,+1为读,
                              //当SDO脚接“GND”的时候,BMI270的I2C地址是 0x68;
                              //当SDO脚接“VDDIO”的时候,BMI270的I2C地址是 0x69.本测试架接“VDDIO”



//****************************************
//定义类型及变量
//****************************************
uchar dis[4];                                                //显示数字(-511至512)的字符数组
int         dis_data;                                                //变量
int         Temperature,Temper,Temp_h,Temp_l;        //温度及高低位数据
int  AX,AX_H,AX_L;
int  AY,AY_H,AY_L;
int  AZ,AZ_H,AZ_L;
int  GX,GX_H,GX_L;
int  GY,GY_H,GY_L;
int  GZ,GZ_H,GZ_L;
int  Who;

//****************************************
//函数声明
//****************************************
void  delay(unsigned int k);       
void  delay_50us(unsigned int z);        //延时50us
void  Delay450us();  //延时450us
void  Delay5us();    //延时5us
void  lcd_printf(uchar *s,int temp_data);//转换为10进制数
void  lcd_printf16(uchar *s,int temp_data1);//转换为16进制数
void  Display_ACCEL_XOUT();
void  Display_ACCEL_YOUT();
void  Display_ACCEL_ZOUT();
void  Display_GYRO_XOUT();
void  Display_GYRO_YOUT();
void  Display_GYRO_ZOUT();
void  Display_Ad();
void  Display_temp();

//BMI270操作函数
void  InitBMI270();                                                                                                        //初始化BMI270
void  I2C_Start();
void  I2C_Stop();
void  I2C_SendACK(bit ack);
bit   I2C_RecvACK();
void  I2C_SendByte(uchar dat);
uchar I2C_RecvByte();
void  I2C_ReadPage();
void  I2C_WritePage();
void  display_ACCEL_x();
void  display_ACCEL_y();
void  display_ACCEL_z();
uchar Single_ReadI2C(uchar REG_Address);                                                //读取I2C数据
void  Single_WriteI2C(uchar REG_Address,uchar REG_data);            //向I2C写入数据
void  Single_WriteI2CS(uchar REG_Address,uchar *dat,uchar len);        //向I2C写入一串数据

const unsigned char code bmi270_config_file[] = // BMI270配置文件,需写入OX5E中
        {
        0xc8, 0x2e, 0x00, 0x2e, 0x80, 0x2e, 0xb6, 0xb0, 0xc8, 0x2e, 0x00, 0x2e,
        0x80, 0x2e, 0xee, 0x00, 0x80, 0x2e, 0x6a, 0x01, 0x80, 0x2e, 0xad, 0x01,
        0xc8, 0x2e, 0x00, 0x2e, 0x80, 0x2e, 0x01, 0xb0, 0x50, 0x32, 0x21, 0x2e,
        0x59, 0xf5, 0x10, 0x30, 0x21, 0x2e, 0x6a, 0xf5, 0x80, 0x2e, 0xea, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x3e, 0x21, 0x01, 0x00, 0x22, 0x00, 0x7f, 0x00,
        0x00, 0x0c, 0xff, 0x0f, 0xbc, 0x00, 0x85, 0x33, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0xac, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x01, 0xe6, 0x78,
        0x84, 0x00, 0x9c, 0x6c, 0x07, 0x00, 0x64, 0x75, 0xaa, 0x7e, 0x5f, 0x05,
        0xbe, 0x0a, 0x5f, 0x05, 0x96, 0xe8, 0xef, 0x41, 0x01, 0x00, 0x0c, 0x00,
        0x0c, 0x00, 0x4a, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xf0, 0x3c,
        0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02,
        0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0xc1, 0x4a, 0x00, 0x00, 0x6d, 0x57, 0x00, 0x00, 0x77, 0x8e, 0x00, 0x00,
        0xe0, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xff,
        0xee, 0xe1, 0xff, 0xff, 0x7c, 0x13, 0x00, 0x00, 0x46, 0xe6, 0xff, 0xff,
        0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x1a, 0x24, 0x22, 0x00, 0x80, 0x2e, 0x48, 0x02, 0x10, 0x50, 0xf7, 0x7f,
        0x00, 0x2e, 0x0f, 0x2e, 0x69, 0xf5, 0xff, 0xbf, 0xff, 0xbb, 0xc0, 0x91,
        0x02, 0x2f, 0x37, 0x30, 0x2f, 0x2e, 0x69, 0xf5, 0xf7, 0x6f, 0xf0, 0x5f,
        0xc8, 0x2e, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0xc2, 0x00, 0xaa, 0xaa,
        0xd0, 0x07, 0xc0, 0xf5, 0xdc, 0x00, 0x1e, 0xf2, 0x69, 0xf5, 0x19, 0xf4,
        0x66, 0xf5, 0x00, 0x04, 0xff, 0x00, 0x64, 0xf5, 0xc6, 0x00, 0x08, 0x02,
        0xc9, 0x00, 0xa2, 0x00, 0xa4, 0x00, 0x87, 0x00, 0xda, 0x00, 0xff, 0x3f,
        0xff, 0xfb, 0x00, 0x18, 0x00, 0x10, 0xfd, 0xf5, 0xe2, 0x00, 0xac, 0x00,
        0xe2, 0x00, 0xe5, 0x00, 0x34, 0x43, 0x34, 0x4b, 0xff, 0xfd, 0x9a, 0xf1,
        0x99, 0x51, 0x9a, 0xf9, 0xc1, 0xf5, 0x8d, 0xf1, 0x80, 0x00, 0x00, 0x40,
        0x4d, 0x01, 0xeb, 0x00, 0x7f, 0xff, 0xc2, 0xf5, 0x68, 0xf7, 0xba, 0x00,
        0xae, 0x00, 0xb4, 0x00, 0xc0, 0x00, 0x60, 0x01, 0x61, 0xf7, 0x5b, 0xf7,
        0x63, 0x01, 0x78, 0xf7, 0x77, 0xf7, 0x00, 0x80, 0xff, 0x7f, 0x86, 0x00,
        0x52, 0x01, 0x65, 0x01, 0xb3, 0xf1, 0x5f, 0x01, 0x6c, 0xf7, 0xb9, 0xf1,
        0xc6, 0xf1, 0x00, 0xe0, 0x00, 0xff, 0xd1, 0xf5, 0x67, 0x01, 0x6a, 0x01,
        0xff, 0x03, 0x00, 0xfc, 0xf0, 0x3f, 0x0d, 0x02, 0x10, 0x02, 0x12, 0x02,
        0xb9, 0x00, 0x2d, 0xf5, 0xca, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0xa0, 0x50, 0x80, 0x7f, 0x91, 0x7f, 0xd7, 0x7f,
        0xc5, 0x7f, 0xb3, 0x7f, 0xa2, 0x7f, 0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f,
        0x00, 0x2e, 0x0d, 0x50, 0x00, 0x2e, 0x01, 0x40, 0x9f, 0xbc, 0x9f, 0xb8,
        0x40, 0x90, 0x02, 0x2f, 0x31, 0x30, 0x23, 0x2e, 0x69, 0xf5, 0x37, 0x80,
        0x00, 0x2e, 0x00, 0x40, 0x60, 0x7f, 0x98, 0x2e, 0xdc, 0x01, 0x62, 0x6f,
        0x01, 0x32, 0x91, 0x08, 0x80, 0xb2, 0x0d, 0x2f, 0x00, 0xb2, 0x03, 0x2f,
        0x05, 0x2e, 0x18, 0x00, 0x80, 0x90, 0x05, 0x2f, 0x17, 0x56, 0x02, 0x30,
        0xc1, 0x42, 0xc2, 0x86, 0x00, 0x2e, 0xc2, 0x42, 0x23, 0x2e, 0x60, 0xf5,
        0x00, 0x90, 0x00, 0x30, 0x06, 0x2f, 0x21, 0x2e, 0x81, 0x00, 0x15, 0x50,
        0x21, 0x2e, 0x5a, 0xf2, 0x98, 0x2e, 0xf0, 0x01, 0xf6, 0x6f, 0xe4, 0x6f,
        0x80, 0x6f, 0x91, 0x6f, 0xa2, 0x6f, 0xb3, 0x6f, 0xc5, 0x6f, 0xd7, 0x6f,
        0x7b, 0x6f, 0x60, 0x5f, 0xc8, 0x2e, 0x30, 0x50, 0xe5, 0x7f, 0xf6, 0x7f,
        0xd7, 0x7f, 0x00, 0x2e, 0x0d, 0x5a, 0x00, 0x2e, 0x46, 0x41, 0x6f, 0xbf,
        0x6f, 0xbb, 0x80, 0x91, 0x02, 0x2f, 0x36, 0x30, 0x2d, 0x2e, 0x69, 0xf5,
        0x46, 0x30, 0x0f, 0x2e, 0xa4, 0xf1, 0xbe, 0x09, 0x77, 0x8b, 0x80, 0xb3,
        0x06, 0x2f, 0x0d, 0x2e, 0xa8, 0x00, 0x84, 0xaf, 0x02, 0x2f, 0x16, 0x30,
        0x2d, 0x2e, 0x84, 0x00, 0x86, 0x30, 0x46, 0x43, 0x00, 0x2e, 0xf6, 0x6f,
        0xe5, 0x6f, 0xd7, 0x6f, 0xd0, 0x5f, 0xc8, 0x2e, 0x03, 0x2e, 0xa7, 0x00,
        0x16, 0xb8, 0x02, 0x34, 0x4a, 0x0c, 0x21, 0x2e, 0x2d, 0xf5, 0xc0, 0x2e,
        0x23, 0x2e, 0xa7, 0x00, 0x2f, 0x52, 0x00, 0x2e, 0x60, 0x40, 0x41, 0x40,
        0x0d, 0xbc, 0x98, 0xbc, 0xc0, 0x2e, 0x01, 0x0a, 0x0f, 0xb8, 0x43, 0x86,
        0x25, 0x40, 0x04, 0x40, 0xd8, 0xbe, 0x2c, 0x0b, 0x22, 0x11, 0x54, 0x42,
        0x03, 0x80, 0x4b, 0x0e, 0xf6, 0x2f, 0xb8, 0x2e, 0x10, 0x50, 0xfb, 0x7f,
        0x98, 0x2e, 0x56, 0xc7, 0xfb, 0x6f, 0xf0, 0x5f, 0x80, 0x2e, 0x49, 0xc3,
        0x21, 0x2e, 0x59, 0xf5, 0x10, 0x30, 0xc0, 0x2e, 0x21, 0x2e, 0x4a, 0xf1,
        0x80, 0x2e, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07,
        0x3e, 0x21, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x05, 0xe0, 0xaa, 0x38, 0x05, 0xe0, 0x90, 0x30, 0x1e, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x50, 0x10, 0x50,
        0x31, 0x52, 0x05, 0x2e, 0xa7, 0x00, 0xfb, 0x7f, 0x00, 0x2e, 0x13, 0x40,
        0x93, 0x42, 0x41, 0x0e, 0xfb, 0x2f, 0x98, 0x2e, 0xd2, 0x01, 0x98, 0x2e,
        0x87, 0xcf, 0x01, 0x2e, 0xad, 0x00, 0x00, 0xb2, 0x08, 0x2f, 0x01, 0x2e,
        0x69, 0xf7, 0xb1, 0x3f, 0x01, 0x08, 0x01, 0x30, 0x23, 0x2e, 0xad, 0x00,
        0x21, 0x2e, 0x69, 0xf7, 0xfb, 0x6f, 0xf0, 0x5f, 0xb8, 0x2e, 0x44, 0x47,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x98, 0x2e, 0xf5, 0xb5, 0x00, 0x30,
        0xf0, 0x7f, 0xe0, 0x7f, 0x21, 0x2e, 0x69, 0xf5, 0x00, 0x2e, 0x00, 0x2e,
        0xd0, 0x2e, 0x00, 0x2e, 0x01, 0x80, 0x08, 0xa2, 0xfb, 0x2f, 0x01, 0x2e,
        0xc5, 0x00, 0x00, 0xb2, 0x1a, 0x2f, 0x05, 0x2e, 0x0c, 0x02, 0x01, 0x52,
        0x98, 0x2e, 0xc7, 0xc1, 0x03, 0x2e, 0x18, 0x00, 0x40, 0xb2, 0xf0, 0x7f,
        0x10, 0x2f, 0x01, 0x2e, 0x0c, 0x02, 0x06, 0xbc, 0x0f, 0xb8, 0x00, 0x90,
        0x0a, 0x2f, 0x01, 0x50, 0x98, 0x2e, 0x4d, 0xc3, 0x01, 0x50, 0x98, 0x2e,
        0x5a, 0xc7, 0x98, 0x2e, 0x3e, 0xb1, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00,
        0x01, 0x2e, 0x0c, 0x02, 0x06, 0xbc, 0x0f, 0xb8, 0x00, 0xb2, 0x0e, 0x2f,
        0xe0, 0x6f, 0x00, 0x90, 0x0b, 0x2f, 0x07, 0x52, 0x00, 0x2e, 0x50, 0x40,
        0x41, 0x40, 0x21, 0x2e, 0xe8, 0x00, 0x23, 0x2e, 0xe9, 0x00, 0x98, 0x2e,
        0x91, 0x03, 0x10, 0x30, 0xe0, 0x7f, 0x98, 0x2e, 0xd7, 0xb1, 0x01, 0x2e,
        0xa8, 0x00, 0x04, 0xae, 0x0b, 0x2f, 0x01, 0x2e, 0xc5, 0x00, 0x00, 0xb2,
        0x07, 0x2f, 0x01, 0x52, 0x98, 0x2e, 0xa9, 0xb5, 0x00, 0xb2, 0x02, 0x2f,
        0x10, 0x30, 0x21, 0x2e, 0x86, 0x00, 0x01, 0x2e, 0x86, 0x00, 0x00, 0x90,
        0x36, 0x2f, 0x01, 0x2e, 0xab, 0x00, 0x00, 0xb2, 0x04, 0x2f, 0x98, 0x2e,
        0xf2, 0x03, 0x00, 0x30, 0x21, 0x2e, 0x84, 0x00, 0x01, 0x2e, 0x84, 0x00,
        0x00, 0xb2, 0x0b, 0x2f, 0x01, 0x2e, 0xa8, 0x00, 0x00, 0x90, 0x02, 0x2f,
        0x98, 0x2e, 0x43, 0xb5, 0x02, 0x2d, 0x98, 0x2e, 0x9b, 0xb4, 0x00, 0x30,
        0x21, 0x2e, 0x84, 0x00, 0x01, 0x2e, 0x85, 0x00, 0x00, 0xb2, 0x31, 0x2f,
        0x01, 0x2e, 0x85, 0x00, 0x01, 0x31, 0x01, 0x08, 0x00, 0xb2, 0x04, 0x2f,
        0x98, 0x2e, 0x47, 0xcb, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00, 0x81, 0x30,
        0x01, 0x2e, 0x85, 0x00, 0x01, 0x08, 0x00, 0xb2, 0x04, 0x2f, 0x98, 0x2e,
        0x53, 0xb5, 0x00, 0x30, 0x21, 0x2e, 0xa8, 0x00, 0x00, 0x30, 0x21, 0x2e,
        0x85, 0x00, 0x18, 0x2d, 0x01, 0x2e, 0xa8, 0x00, 0x03, 0xaa, 0x01, 0x2f,
        0x98, 0x2e, 0x60, 0xb5, 0x01, 0x2e, 0xa8, 0x00, 0x3f, 0x80, 0x03, 0xa2,
        0x01, 0x2f, 0x00, 0x2e, 0x02, 0x2d, 0x98, 0x2e, 0x76, 0xb5, 0x30, 0x30,
        0x98, 0x2e, 0xbf, 0x03, 0x00, 0x30, 0x21, 0x2e, 0x86, 0x00, 0x50, 0x32,
        0x98, 0x2e, 0xf8, 0x01, 0x01, 0x2e, 0x19, 0x00, 0x00, 0xb2, 0x1f, 0x2f,
        0x98, 0x2e, 0xf5, 0xcb, 0x03, 0x2e, 0xa9, 0x00, 0x01, 0x0a, 0x21, 0x2e,
        0xdc, 0x00, 0x09, 0x52, 0x7e, 0x82, 0x0b, 0x50, 0x41, 0x40, 0x18, 0xb9,
        0x11, 0x42, 0x02, 0x82, 0x02, 0x42, 0xd1, 0x7f, 0xf0, 0x31, 0x41, 0x40,
        0xf2, 0x6f, 0x25, 0xbd, 0x08, 0x08, 0x02, 0x0a, 0xc0, 0x7f, 0x98, 0x2e,
        0xa8, 0xcf, 0x06, 0xbc, 0xc1, 0x6f, 0xd2, 0x6f, 0x08, 0x0a, 0x80, 0x42,
        0x98, 0x2e, 0x20, 0x02, 0x00, 0x30, 0x03, 0x2e, 0xa8, 0x00, 0x21, 0x2e,
        0x19, 0x00, 0x21, 0x2e, 0xc5, 0x00, 0x44, 0x90, 0x90, 0x2e, 0x4e, 0x02,
        0x03, 0x2e, 0xfd, 0xf5, 0x42, 0x30, 0x8a, 0x08, 0x80, 0xb2, 0x05, 0x2f,
        0x05, 0x2e, 0xc0, 0xf5, 0x28, 0xbd, 0x2f, 0xb9, 0x80, 0x90, 0x0b, 0x2f,
        0x22, 0x30, 0x4a, 0x08, 0x40, 0xb2, 0x90, 0x2e, 0x4e, 0x02, 0x03, 0x2e,
        0xc2, 0xf5, 0x98, 0xbc, 0x9f, 0xb8, 0x40, 0xb2, 0x90, 0x2e, 0x4e, 0x02,
        0x03, 0x52, 0x05, 0x54, 0x03, 0x30, 0x23, 0x2e, 0x00, 0xb0, 0x41, 0x16,
        0xc1, 0x86, 0x23, 0x2e, 0xff, 0xb7, 0x5a, 0x0e, 0xf7, 0x2f, 0x80, 0x2e,
        0x4e, 0x02, 0x11, 0x30, 0x81, 0x08, 0x01, 0x2e, 0x6a, 0xf7, 0x71, 0x3f,
        0x23, 0xbd, 0x01, 0x08, 0x02, 0x0a, 0xc0, 0x2e, 0x21, 0x2e, 0x6a, 0xf7,
        0x80, 0x2e, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x2f, 0x50, 0x41, 0x30, 0x02, 0x40, 0x51, 0x0a, 0x01, 0x42,
        0x41, 0x3c, 0x01, 0x00, 0x31, 0x30, 0x02, 0x40, 0x51, 0x0a, 0x21, 0x42,
        0x71, 0x3f, 0x33, 0x54, 0x02, 0x42, 0x90, 0x31, 0x05, 0x2e, 0xed, 0xf4,
        0x51, 0x08, 0x23, 0x2e, 0xed, 0xf4, 0x21, 0x2e, 0xc1, 0x00, 0x01, 0x30,
        0xc0, 0x2e, 0x23, 0x2e, 0xaa, 0x00, 0x03, 0xbc, 0x21, 0x2e, 0xa9, 0x00,
        0x03, 0x2e, 0xa9, 0x00, 0x40, 0xb2, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00,
        0x01, 0x30, 0x05, 0x2f, 0x05, 0x2e, 0xac, 0x00, 0x80, 0x90, 0x01, 0x2f,
        0x23, 0x2e, 0x6f, 0xf5, 0xc0, 0x2e, 0x21, 0x2e, 0xad, 0x00, 0x30, 0x25,
        0x00, 0x30, 0x21, 0x2e, 0x5a, 0xf5, 0x10, 0x50, 0x21, 0x2e, 0x84, 0x00,
        0x21, 0x2e, 0x85, 0x00, 0xfb, 0x7f, 0x98, 0x2e, 0x43, 0x03, 0x40, 0x30,
        0x21, 0x2e, 0xa8, 0x00, 0xfb, 0x6f, 0xf0, 0x5f, 0x03, 0x25, 0x80, 0x2e,
        0xab, 0x03, 0x01, 0x2e, 0x5d, 0xf7, 0x08, 0xbc, 0x80, 0xac, 0x0e, 0xbb,
        0x02, 0x2f, 0x00, 0x30, 0x41, 0x04, 0x82, 0x06, 0xc0, 0xa4, 0x00, 0x30,
        0x11, 0x2f, 0x40, 0xa9, 0x03, 0x2f, 0x40, 0x91, 0x0d, 0x2f, 0x00, 0xa7,
        0x0b, 0x2f, 0x80, 0xb3, 0x4b, 0x58, 0x02, 0x2f, 0x90, 0xa1, 0x26, 0x13,
        0x20, 0x23, 0x80, 0x90, 0x10, 0x30, 0x01, 0x2f, 0xcc, 0x0e, 0x00, 0x2f,
        0x00, 0x30, 0xb8, 0x2e, 0x01, 0x2e, 0xab, 0x00, 0x03, 0x2e, 0xaa, 0x00,
        0x48, 0x0e, 0x01, 0x2f, 0x80, 0x2e, 0x43, 0xb5, 0xb8, 0x2e, 0x80, 0x2e,
        0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0x00, 0x00, 0xa0, 0x50,
        0x82, 0x7f, 0x90, 0x7f, 0xa1, 0x7f, 0xd7, 0x7f, 0xc5, 0x7f, 0xb3, 0x7f,
        0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f, 0x00, 0x2e, 0x0d, 0x54, 0x00, 0x2e,
        0x80, 0x40, 0x0f, 0xbc, 0x0f, 0xb8, 0x00, 0x90, 0x02, 0x2f, 0x30, 0x30,
        0x21, 0x2e, 0x69, 0xf5, 0xf0, 0x3e, 0x03, 0x2e, 0xeb, 0xf0, 0x48, 0x08,
        0x01, 0x2e, 0xa8, 0x00, 0xb7, 0x84, 0x23, 0x2e, 0xeb, 0xf0, 0x04, 0x90,
        0x62, 0x7f, 0x05, 0x2f, 0xf2, 0x3b, 0x01, 0x2e, 0xc2, 0xf5, 0x82, 0x08,
        0x25, 0x2e, 0xc2, 0xf5, 0x98, 0x2e, 0xdc, 0x01, 0x00, 0xb2, 0x63, 0x2f,
        0x05, 0x2e, 0x11, 0x02, 0x01, 0x2e, 0x13, 0x02, 0x8f, 0xb8, 0x07, 0x2e,
        0x08, 0x02, 0x2f, 0xb9, 0x91, 0x0a, 0xb3, 0xbd, 0x01, 0x2e, 0x08, 0x02,
        0xbf, 0xb8, 0x04, 0xbc, 0x91, 0x0a, 0x0f, 0xb8, 0x90, 0x0a, 0x25, 0x2e,
        0x18, 0x00, 0x05, 0x2e, 0xc1, 0xf5, 0x2e, 0xbc, 0x05, 0x2e, 0xa8, 0x00,
        0x84, 0xa2, 0x0e, 0xb8, 0x31, 0x30, 0x88, 0x04, 0x07, 0x2f, 0x01, 0x2e,
        0x18, 0x00, 0x00, 0x90, 0x03, 0x2f, 0x01, 0x2e, 0x82, 0x00, 0x00, 0xb2,
        0x19, 0x2f, 0x0f, 0x50, 0x01, 0x52, 0x98, 0x2e, 0xe5, 0x01, 0x05, 0x2e,
        0x81, 0x00, 0x25, 0x2e, 0xc5, 0x00, 0x05, 0x2e, 0x81, 0x00, 0x80, 0x90,
        0x02, 0x2f, 0x12, 0x30, 0x25, 0x2e, 0x81, 0x00, 0x01, 0x2e, 0x82, 0x00,
        0x00, 0xb2, 0x10, 0x30, 0x05, 0x2e, 0x18, 0x00, 0x01, 0x2f, 0x21, 0x2e,
        0x18, 0x00, 0x25, 0x2e, 0x82, 0x00, 0x05, 0x2e, 0x18, 0x00, 0x80, 0xb2,
        0x20, 0x2f, 0x01, 0x2e, 0xc0, 0xf5, 0xf2, 0x30, 0x02, 0x08, 0x07, 0xaa,
        0x73, 0x30, 0x03, 0x2e, 0x83, 0x00, 0x18, 0x22, 0x41, 0x1a, 0x05, 0x2f,
        0x03, 0x2e, 0x66, 0xf5, 0x9f, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x0c, 0x2f,
        0x11, 0x52, 0x03, 0x30, 0x53, 0x42, 0x2b, 0x30, 0x90, 0x04, 0x5b, 0x42,
        0x21, 0x2e, 0x83, 0x00, 0x24, 0xbd, 0x7e, 0x80, 0x81, 0x84, 0x43, 0x42,
        0x02, 0x42, 0x02, 0x32, 0x25, 0x2e, 0x62, 0xf5, 0x05, 0x2e, 0xaa, 0x00,
        0x81, 0x80, 0x21, 0x2e, 0xaa, 0x00, 0x62, 0x6f, 0x00, 0x31, 0x80, 0x42,
        0x00, 0x2e, 0x05, 0x2e, 0x0c, 0x02, 0x13, 0x50, 0x90, 0x08, 0x80, 0xb2,
        0x0b, 0x2f, 0x05, 0x2e, 0xca, 0xf5, 0xf0, 0x3e, 0x90, 0x08, 0x25, 0x2e,
        0xca, 0xf5, 0x05, 0x2e, 0x59, 0xf5, 0xe0, 0x3f, 0x90, 0x08, 0x25, 0x2e,
        0x59, 0xf5, 0xf6, 0x6f, 0xe4, 0x6f, 0x90, 0x6f, 0xa1, 0x6f, 0xb3, 0x6f,
        0xc5, 0x6f, 0xd7, 0x6f, 0x7b, 0x6f, 0x82, 0x6f, 0x60, 0x5f, 0xc8, 0x2e,
        0xd0, 0x50, 0x80, 0x7f, 0x91, 0x7f, 0xd7, 0x7f, 0xc5, 0x7f, 0xb3, 0x7f,
        0xa2, 0x7f, 0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f, 0x00, 0x2e, 0x0d, 0x50,
        0x00, 0x2e, 0x01, 0x40, 0x9f, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x02, 0x2f,
        0x31, 0x30, 0x23, 0x2e, 0x69, 0xf5, 0x38, 0x82, 0x61, 0x7f, 0x20, 0x30,
        0x41, 0x40, 0x23, 0x2e, 0x85, 0x00, 0x03, 0x2e, 0x85, 0x00, 0x08, 0x08,
        0x00, 0xb2, 0x11, 0x2f, 0x19, 0x50, 0x1a, 0x25, 0x12, 0x40, 0x32, 0x7f,
        0x73, 0x82, 0x12, 0x40, 0x42, 0x7f, 0x00, 0x2e, 0x00, 0x40, 0x50, 0x7f,
        0x98, 0x2e, 0x6a, 0xd6, 0x01, 0x2e, 0x61, 0xf7, 0x01, 0x31, 0x01, 0x0a,
        0x21, 0x2e, 0x61, 0xf7, 0x80, 0x30, 0x03, 0x2e, 0x85, 0x00, 0x08, 0x08,
        0x00, 0xb2, 0x40, 0x2f, 0x01, 0x2e, 0x14, 0x02, 0x05, 0x2e, 0x0b, 0x02,
        0x03, 0x2e, 0x0b, 0x02, 0x96, 0xbc, 0x27, 0xbd, 0x9f, 0xb8, 0x40, 0x90,
        0x2f, 0xb9, 0x21, 0x2e, 0xc0, 0x00, 0x25, 0x2e, 0xac, 0x00, 0x10, 0x30,
        0x01, 0x30, 0x24, 0x2f, 0x03, 0x2e, 0xa8, 0x00, 0x44, 0xb2, 0x05, 0x2f,
        0x47, 0xb2, 0x00, 0x30, 0x27, 0x2f, 0x21, 0x2e, 0x85, 0x00, 0x25, 0x2d,
        0x03, 0x2e, 0xfd, 0xf5, 0x9e, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x0e, 0x2f,
        0x03, 0x2e, 0xfc, 0xf5, 0x99, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x08, 0x2f,
        0x98, 0x2e, 0xdc, 0x01, 0x00, 0xb2, 0x10, 0x30, 0x03, 0x2f, 0x50, 0x30,
        0x21, 0x2e, 0xa8, 0x00, 0x10, 0x2d, 0x98, 0x2e, 0xab, 0x03, 0x00, 0x30,
        0x21, 0x2e, 0x85, 0x00, 0x0a, 0x2d, 0x05, 0x2e, 0x69, 0xf7, 0x2d, 0xbd,
        0x2f, 0xb9, 0x80, 0xb2, 0x01, 0x2f, 0x21, 0x2e, 0x86, 0x00, 0x23, 0x2e,
        0x85, 0x00, 0x60, 0x6f, 0xe1, 0x31, 0x01, 0x42, 0x00, 0x2e, 0xf6, 0x6f,
        0xe4, 0x6f, 0x80, 0x6f, 0x91, 0x6f, 0xa2, 0x6f, 0xb3, 0x6f, 0xc5, 0x6f,
        0xd7, 0x6f, 0x7b, 0x6f, 0x30, 0x5f, 0xc8, 0x2e, 0x1b, 0x50, 0xe0, 0x50,
        0x12, 0x40, 0x06, 0x40, 0x1a, 0x25, 0x6c, 0xbe, 0x77, 0x8a, 0x75, 0x80,
        0xfb, 0x7f, 0x0b, 0x30, 0x2b, 0x56, 0xd3, 0x08, 0x4c, 0xba, 0x68, 0xbb,
        0x0b, 0x42, 0xd0, 0x7f, 0x6b, 0x7f, 0x4b, 0x43, 0xc0, 0xb2, 0x2d, 0x2e,
        0x8c, 0x00, 0xc4, 0x7f, 0xe5, 0x7f, 0xb3, 0x7f, 0x74, 0x2f, 0x01, 0x2e,
        0xa6, 0x00, 0x00, 0xb2, 0x0b, 0x2f, 0x1d, 0x52, 0x01, 0x2e, 0xa1, 0x00,
        0xa2, 0x7f, 0x98, 0x2e, 0xbb, 0xcc, 0x01, 0x30, 0x23, 0x2e, 0xa6, 0x00,
        0xa2, 0x6f, 0xb3, 0x6f, 0x1a, 0x25, 0x26, 0xbc, 0x86, 0xba, 0x25, 0xbc,
        0x0f, 0xb8, 0x54, 0xb1, 0x00, 0xb2, 0xa6, 0x7f, 0x0c, 0x2f, 0x1f, 0x50,
        0x21, 0x54, 0x0b, 0x30, 0x0b, 0x2e, 0x08, 0x02, 0x29, 0x58, 0x1b, 0x42,
        0x9b, 0x42, 0x6c, 0x09, 0x0b, 0x42, 0x2b, 0x2e, 0x08, 0x02, 0x8b, 0x42,
        0x72, 0x84, 0x2d, 0x50, 0x58, 0x09, 0x27, 0x52, 0x01, 0x50, 0x92, 0x7f,
        0x85, 0x7f, 0x98, 0x2e, 0xc2, 0xc0, 0x01, 0x2e, 0xa1, 0x00, 0xe5, 0x6f,
        0xd4, 0x6f, 0x83, 0x6f, 0x92, 0x6f, 0x1d, 0x52, 0x23, 0x5c, 0x98, 0x2e,
        0x06, 0xcd, 0xb3, 0x6f, 0x1f, 0x50, 0x72, 0x6f, 0xb4, 0xbc, 0x14, 0x40,
        0x80, 0xb2, 0x9f, 0xba, 0x02, 0x40, 0x01, 0x30, 0xe0, 0x7f, 0x05, 0x2f,
        0x40, 0xb3, 0x03, 0x2f, 0x21, 0x5c, 0x11, 0x30, 0x94, 0x43, 0x82, 0x43,
        0xb3, 0xbd, 0xbf, 0xb9, 0xc0, 0xb2, 0x1c, 0x2f, 0x53, 0x6f, 0x23, 0x01,
        0x63, 0x6f, 0x93, 0x02, 0x02, 0x42, 0x40, 0x91, 0x29, 0x2e, 0xa2, 0x00,
        0x21, 0x50, 0x12, 0x2f, 0x21, 0x56, 0x00, 0x2e, 0xd5, 0x40, 0xc3, 0x40,
        0x65, 0x05, 0xd3, 0x06, 0xc0, 0xaa, 0x04, 0x2f, 0xc0, 0x90, 0x08, 0x2f,
        0xa3, 0x6f, 0x5d, 0x0f, 0x05, 0x2f, 0xa5, 0x6f, 0x40, 0xb3, 0x02, 0x2f,
        0x14, 0x42, 0x02, 0x42, 0x11, 0x30, 0xc0, 0x6f, 0x98, 0x2e, 0x95, 0xcf,
        0xe2, 0x6f, 0x25, 0x52, 0x01, 0x2e, 0xa2, 0x00, 0x82, 0x40, 0x50, 0x42,
        0x08, 0x2c, 0x42, 0x42, 0x11, 0x30, 0x23, 0x2e, 0xa6, 0x00, 0x01, 0x30,
        0xc0, 0x6f, 0x98, 0x2e, 0x95, 0xcf, 0x00, 0x2e, 0xfb, 0x6f, 0x20, 0x5f,
        0xb8, 0x2e, 0x01, 0x2e, 0xc1, 0x00, 0x19, 0xb2, 0x90, 0x2e, 0x88, 0xb2,
        0x1a, 0xb2, 0x76, 0x2f, 0x1b, 0xb2, 0x25, 0x2f, 0x1d, 0x90, 0x90, 0x2e,
        0x9f, 0xb2, 0x03, 0x2e, 0xaa, 0x00, 0x41, 0xa2, 0x90, 0x2e, 0x9f, 0xb2,
        0x02, 0x30, 0x25, 0x2e, 0xaa, 0x00, 0x45, 0x52, 0x05, 0x2e, 0xe9, 0x00,
        0x62, 0x42, 0xd2, 0x33, 0x07, 0x2e, 0xe8, 0x00, 0x43, 0x42, 0x4a, 0x00,
        0x42, 0x30, 0x43, 0x40, 0x9a, 0x0a, 0x42, 0x42, 0x11, 0x30, 0x49, 0x56,
        0x03, 0x0a, 0x05, 0x2e, 0x0c, 0x02, 0x3d, 0x58, 0x21, 0x2e, 0xc1, 0x00,
        0x23, 0x2e, 0x19, 0x00, 0x94, 0x08, 0xc0, 0x2e, 0x25, 0x2e, 0x0c, 0x02,
        0x01, 0x2e, 0xaa, 0x00, 0x03, 0xa2, 0x90, 0x2e, 0x9f, 0xb2, 0x00, 0x30,
        0x21, 0x2e, 0xaa, 0x00, 0x47, 0x52, 0x05, 0x2e, 0xc1, 0xf5, 0x66, 0x40,
        0xae, 0xbd, 0x44, 0x40, 0xbe, 0xb9, 0x35, 0x30, 0x43, 0x82, 0x68, 0xbf,
        0xeb, 0x04, 0x62, 0x40, 0x74, 0x0b, 0x28, 0xbf, 0x43, 0x84, 0x44, 0x40,
        0xa7, 0x40, 0x34, 0x0b, 0x86, 0x40, 0xab, 0x10, 0xf8, 0xbf, 0x35, 0x52,
        0x7e, 0x0b, 0x56, 0x40, 0x23, 0x11, 0xb2, 0x05, 0x3f, 0x5e, 0xeb, 0x10,
        0xb7, 0x01, 0x39, 0x5a, 0x57, 0x40, 0x75, 0x0e, 0xbc, 0x05, 0x41, 0x5e,
        0xb7, 0x01, 0x21, 0x2e, 0xed, 0xf4, 0x17, 0x30, 0x38, 0x22, 0x75, 0x0e,
        0x37, 0x5a, 0x41, 0x40, 0x52, 0x43, 0x8b, 0x04, 0x21, 0x30, 0x41, 0x0a,
        0x48, 0x22, 0x43, 0x50, 0x54, 0x43, 0x10, 0x00, 0x3b, 0x54, 0x43, 0x43,
        0x42, 0x0e, 0x43, 0x30, 0x8b, 0x0a, 0xc0, 0x33, 0x45, 0x56, 0x18, 0x00,
        0x51, 0x22, 0x02, 0x40, 0x91, 0xbc, 0xb3, 0x3f, 0x93, 0x08, 0x41, 0x82,
        0xd4, 0x31, 0x29, 0x2e, 0xc1, 0x00, 0x02, 0x42, 0x23, 0x2e, 0xdd, 0x00,
        0xb8, 0x2e, 0x01, 0x2e, 0xaa, 0x00, 0x03, 0xa2, 0x45, 0x2f, 0x00, 0x30,
        0x21, 0x2e, 0xaa, 0x00, 0x47, 0x54, 0x03, 0x2e, 0xc1, 0xf5, 0xa0, 0x40,
        0x83, 0x8a, 0x83, 0x40, 0x08, 0xbe, 0x60, 0x41, 0x42, 0x41, 0x43, 0x8b,
        0x08, 0xbf, 0x60, 0x41, 0xe3, 0x0a, 0x44, 0x41, 0xb2, 0x0a, 0x0b, 0x2e,
        0xed, 0xf4, 0xb6, 0x3f, 0x6e, 0x09, 0x9e, 0xbc, 0x08, 0xbc, 0x04, 0x0b,
        0x9e, 0xb8, 0x36, 0x30, 0x71, 0x04, 0x2b, 0x2e, 0xed, 0xf4, 0x35, 0x50,
        0x59, 0x11, 0x15, 0x42, 0x91, 0x10, 0x07, 0x2e, 0xed, 0xf4, 0x16, 0x30,
        0x12, 0x42, 0x61, 0x10, 0xde, 0x0a, 0xb5, 0x31, 0x2b, 0x2e, 0xc1, 0x00,
        0x01, 0x42, 0x27, 0x2e, 0xed, 0xf4, 0xb8, 0x2e, 0x01, 0x2e, 0xaa, 0x00,
        0x01, 0xa2, 0x12, 0x2f, 0x00, 0x30, 0x21, 0x2e, 0xaa, 0x00, 0x01, 0x2e,
        0xed, 0xf4, 0x41, 0x30, 0x01, 0x0a, 0x21, 0x2e, 0xed, 0xf4, 0x01, 0x2e,
        0xed, 0xf4, 0x11, 0x30, 0x01, 0x0a, 0x21, 0x2e, 0xed, 0xf4, 0xa1, 0x31,
        0xc0, 0x2e, 0x23, 0x2e, 0xc1, 0x00, 0xb8, 0x2e, 0x53, 0x56, 0x4d, 0x54,
        0xd0, 0x40, 0xc4, 0x40, 0x0b, 0x2e, 0xfd, 0xf3, 0x53, 0x52, 0x90, 0x42,
        0x94, 0x42, 0x95, 0x42, 0x05, 0x30, 0x55, 0x50, 0x0f, 0x88, 0x06, 0x40,
        0x04, 0x41, 0x96, 0x42, 0xc5, 0x42, 0x48, 0xbe, 0x73, 0x30, 0x0d, 0x2e,
        0xac, 0x00, 0x4f, 0xba, 0x84, 0x42, 0x03, 0x42, 0x81, 0xb3, 0x02, 0x2f,
        0x2b, 0x2e, 0x6f, 0xf5, 0x06, 0x2d, 0x05, 0x2e, 0x77, 0xf7, 0x51, 0x56,
        0x93, 0x08, 0x25, 0x2e, 0x77, 0xf7, 0x4f, 0x54, 0x25, 0x2e, 0xc2, 0xf5,
        0x07, 0x2e, 0xfd, 0xf3, 0x42, 0x30, 0xb4, 0x33, 0xda, 0x0a, 0x4c, 0x00,
        0x27, 0x2e, 0xfd, 0xf3, 0x43, 0x40, 0xd4, 0x3f, 0xdc, 0x08, 0x43, 0x42,
        0x00, 0x2e, 0x00, 0x2e, 0x43, 0x40, 0x24, 0x30, 0xdc, 0x0a, 0x43, 0x42,
        0x04, 0x80, 0x03, 0x2e, 0xfd, 0xf3, 0x4a, 0x0a, 0x23, 0x2e, 0xfd, 0xf3,
        0x61, 0x34, 0xc0, 0x2e, 0x01, 0x42, 0x00, 0x2e, 0xf0, 0x52, 0xfb, 0x7f,
        0x98, 0x2e, 0x0d, 0xb5, 0x98, 0x2e, 0x34, 0xb5, 0x5f, 0x58, 0xe1, 0x7f,
        0x32, 0x83, 0x81, 0x7f, 0x3a, 0x25, 0x57, 0x54, 0xe5, 0x8a, 0xc2, 0x7f,
        0xeb, 0x86, 0x59, 0x52, 0xb4, 0x7f, 0x51, 0x7f, 0x73, 0x7f, 0x65, 0x7f,
        0xd0, 0x7f, 0xa3, 0x7f, 0x95, 0x7f, 0x14, 0x30, 0x5b, 0x54, 0x81, 0x6f,
        0x42, 0x7f, 0x00, 0x2e, 0x53, 0x40, 0x45, 0x8c, 0x42, 0x40, 0x90, 0x41,
        0xbb, 0x83, 0x86, 0x41, 0xd8, 0x04, 0x16, 0x06, 0x00, 0xac, 0x81, 0x7f,
        0x02, 0x2f, 0x02, 0x30, 0xd3, 0x04, 0x10, 0x06, 0xc1, 0x84, 0x01, 0x30,
        0xc1, 0x02, 0x0b, 0x16, 0x04, 0x09, 0x14, 0x01, 0x99, 0x02, 0xc1, 0xb9,
        0xaf, 0xbc, 0x59, 0x0a, 0xc4, 0x6f, 0x51, 0x43, 0xa1, 0xb4, 0x12, 0x41,
        0x13, 0x41, 0x41, 0x43, 0x35, 0x7f, 0xc4, 0x7f, 0x26, 0x31, 0xe5, 0x6f,
        0xd4, 0x6f, 0x98, 0x2e, 0x37, 0xca, 0x32, 0x6f, 0x65, 0x6f, 0x83, 0x40,
        0x42, 0x41, 0x23, 0x7f, 0x12, 0x7f, 0xf6, 0x30, 0x40, 0x25, 0x51, 0x25,
        0x98, 0x2e, 0x37, 0xca, 0x14, 0x6f, 0x20, 0x05, 0x60, 0x6f, 0x25, 0x6f,
        0x69, 0x07, 0x72, 0x6f, 0x31, 0x6f, 0x0b, 0x30, 0x04, 0x42, 0x9b, 0x42,
        0x8b, 0x42, 0x55, 0x42, 0x32, 0x7f, 0x40, 0xa9, 0xb3, 0x6f, 0x61, 0x7f,
        0x02, 0x30, 0xd0, 0x40, 0xb3, 0x7f, 0x03, 0x2f, 0x40, 0x91, 0x15, 0x2f,
        0x00, 0xa7, 0x13, 0x2f, 0x00, 0xa4, 0x11, 0x2f, 0x84, 0xbd, 0x98, 0x2e,
        0x79, 0xca, 0x55, 0x6f, 0x6b, 0x54, 0x54, 0x41, 0x82, 0x00, 0xf3, 0x3f,
        0x45, 0x41, 0xcb, 0x02, 0xf6, 0x30, 0x98, 0x2e, 0x37, 0xca, 0x33, 0x6f,
        0x74, 0x6f, 0xc1, 0x42, 0x03, 0x2c, 0x00, 0x43, 0x74, 0x6f, 0x33, 0x6f,
        0x00, 0x2e, 0x42, 0x6f, 0x55, 0x6f, 0x91, 0x40, 0x42, 0x8b, 0x00, 0x41,
        0x41, 0x00, 0x01, 0x43, 0x55, 0x7f, 0x14, 0x30, 0xc1, 0x40, 0x95, 0x40,
        0x4d, 0x02, 0xb5, 0x6f, 0x65, 0x50, 0x68, 0x0e, 0x65, 0x6f, 0xd1, 0x42,
        0x73, 0x7f, 0x8a, 0x2f, 0x09, 0x2e, 0xac, 0x00, 0x01, 0xb3, 0x23, 0x2f,
        0x5f, 0x58, 0x90, 0x6f, 0x17, 0x30, 0x13, 0x41, 0xa6, 0x6f, 0xe4, 0x7f,
        0x00, 0x2e, 0x91, 0x41, 0x14, 0x40, 0x92, 0x41, 0x15, 0x40, 0x17, 0x2e,
        0x6f, 0xf5, 0xa6, 0x7f, 0xd0, 0x7f, 0xcb, 0x7f, 0x98, 0x2e, 0xd3, 0x03,
        0x07, 0x15, 0xc2, 0x6f, 0x14, 0x0b, 0x29, 0x2e, 0x6f, 0xf5, 0xc3, 0xa3,
        0xc1, 0x8f, 0xe4, 0x6f, 0xd0, 0x6f, 0xe6, 0x2f, 0x14, 0x30, 0x05, 0x2e,
        0x6f, 0xf5, 0x14, 0x0b, 0x29, 0x2e, 0x6f, 0xf5, 0x80, 0x2e, 0x97, 0xb4,
        0x61, 0x54, 0x34, 0x30, 0x85, 0x40, 0xab, 0x84, 0xec, 0x08, 0x91, 0x40,
        0xb8, 0xbd, 0xd9, 0x00, 0x36, 0xbc, 0xc1, 0x30, 0xe9, 0x08, 0x86, 0xb6,
        0x25, 0x7e, 0x98, 0x8a, 0x81, 0x40, 0x69, 0x85, 0xb6, 0xbd, 0x59, 0x00,
        0x45, 0x41, 0x90, 0x32, 0xd0, 0x00, 0x6c, 0x09, 0x82, 0x40, 0xd8, 0xbe,
        0x96, 0xbc, 0x6a, 0x01, 0x16, 0xb5, 0x32, 0x7e, 0x1a, 0x25, 0x70, 0x3d,
        0x88, 0x00, 0x56, 0xbc, 0x0b, 0x30, 0x06, 0xb4, 0x7b, 0x7d, 0x62, 0x82,
        0x40, 0x7e, 0x8b, 0x7d, 0xfd, 0x8a, 0xd1, 0x7f, 0x9b, 0x7d, 0xe2, 0x7f,
        0xe1, 0x30, 0xc3, 0x40, 0x69, 0x50, 0x9c, 0x09, 0xb1, 0x15, 0xee, 0xb7,
        0x56, 0x41, 0xf8, 0xbf, 0xb7, 0x0b, 0x42, 0xbe, 0x7e, 0x82, 0x68, 0x0e,
        0x96, 0x42, 0xf4, 0x2f, 0x4a, 0x25, 0xa2, 0x3d, 0x22, 0x01, 0x2a, 0x25,
        0xa0, 0x82, 0xb4, 0x7f, 0xc4, 0x7f, 0x81, 0x7f, 0x05, 0x30, 0x67, 0x54,
        0xb7, 0x80, 0x15, 0x56, 0x6b, 0x58, 0xa0, 0x8c, 0x60, 0x7f, 0x72, 0x7f,
        0x00, 0x2e, 0x80, 0x41, 0xc3, 0x08, 0xb8, 0xbd, 0x38, 0xb7, 0xe6, 0xbd,
        0x82, 0x40, 0x1c, 0x01, 0x29, 0xbd, 0xce, 0x16, 0x29, 0xb5, 0x6a, 0xbb,
        0xb6, 0xbd, 0xa0, 0x6f, 0x52, 0x7f, 0xde, 0x0a, 0x5d, 0x03, 0x12, 0x40,
        0x54, 0x42, 0x45, 0x42, 0x41, 0x7f, 0xf6, 0x30, 0x13, 0x40, 0xa0, 0x7f,
        0x98, 0x2e, 0x37, 0xca, 0x1a, 0xbd, 0x16, 0xb6, 0x86, 0xba, 0x00, 0xa9,
        0xaa, 0x0a, 0x6d, 0x52, 0x0f, 0x2f, 0x00, 0x91, 0x6d, 0x52, 0x03, 0x2f,
        0x6d, 0x5a, 0x55, 0x0f, 0x6d, 0x52, 0x08, 0x2f, 0x3f, 0xa1, 0x04, 0x2f,
        0x3f, 0x91, 0x03, 0x2f, 0x6b, 0x58, 0xd4, 0x0f, 0x00, 0x2f, 0x6b, 0x54,
        0x12, 0x25, 0xf2, 0x33, 0x98, 0x2e, 0xd9, 0xc0, 0x74, 0x6f, 0xf2, 0x37,
        0x42, 0x09, 0x05, 0x43, 0x21, 0x85, 0x54, 0x6f, 0xd9, 0xbe, 0x72, 0x7f,
        0x8c, 0x16, 0xd9, 0xb5, 0x66, 0x6f, 0x26, 0xbc, 0xca, 0xba, 0xa1, 0x41,
        0x8b, 0x16, 0x45, 0x0b, 0x3a, 0xb8, 0x56, 0x7f, 0x26, 0xbd, 0x90, 0x0a,
        0x98, 0xbf, 0x86, 0x41, 0x80, 0x6f, 0xfe, 0x0b, 0x41, 0x6f, 0x06, 0x40,
        0xb6, 0xbd, 0x60, 0x40, 0xf3, 0x00, 0x46, 0xbe, 0x82, 0x02, 0x34, 0x01,
        0x2f, 0xbf, 0x47, 0x7f, 0x81, 0x7f, 0xb1, 0xb8, 0x3f, 0xbd, 0xcf, 0x17,
        0x45, 0x03, 0xf1, 0x0a, 0x37, 0x7f, 0x98, 0x2e, 0x79, 0xca, 0xb4, 0x6f,
        0x35, 0x6f, 0x10, 0x43, 0x11, 0x43, 0xb4, 0x7f, 0xf6, 0x30, 0x44, 0x6f,
        0x20, 0x25, 0x31, 0x25, 0x98, 0x2e, 0x37, 0xca, 0x62, 0x6f, 0x88, 0xb6,
        0x85, 0x42, 0x02, 0x32, 0x54, 0x6f, 0x75, 0x6f, 0x63, 0x52, 0x00, 0x43,
        0x69, 0x0e, 0x03, 0x81, 0xaa, 0x00, 0x81, 0x6f, 0x15, 0x56, 0x6b, 0x58,
        0x05, 0x30, 0x82, 0x2f, 0xe1, 0x6f, 0xf3, 0x30, 0xd4, 0x6f, 0xd1, 0x7f,
        0x22, 0x30, 0x15, 0x41, 0x41, 0x40, 0xb4, 0x7f, 0xa1, 0x7f, 0x85, 0x7f,
        0x98, 0x2e, 0x0f, 0xca, 0xc1, 0x6f, 0x82, 0x6f, 0x54, 0x40, 0x90, 0x00,
        0x55, 0x40, 0xca, 0x16, 0xc1, 0x7f, 0x82, 0x7f, 0xf6, 0x30, 0x98, 0x2e,
        0x37, 0xca, 0x84, 0x6f, 0x60, 0x04, 0x22, 0x30, 0xf3, 0x30, 0x98, 0x2e,
        0x5a, 0xca, 0xa4, 0x6f, 0xa0, 0x00, 0xd1, 0x6f, 0xb4, 0x6f, 0x95, 0x6f,
        0x65, 0x0e, 0x52, 0x42, 0xf3, 0x30, 0xdc, 0x2f, 0x69, 0x58, 0x0d, 0x2e,
        0x77, 0xf7, 0x3d, 0x85, 0xe5, 0x6f, 0x31, 0x30, 0x03, 0x30, 0x30, 0x30,
        0xc0, 0x17, 0xb7, 0x09, 0x5d, 0x5e, 0xb7, 0x0b, 0x57, 0x41, 0x97, 0x42,
        0xf8, 0xbb, 0xf9, 0x09, 0xfb, 0x15, 0x02, 0xbc, 0xc2, 0x86, 0x54, 0x0e,
        0xb7, 0x0b, 0xf1, 0x2f, 0x86, 0x42, 0x00, 0x2e, 0xfb, 0x6f, 0x10, 0x5d,
        0xb8, 0x2e, 0x10, 0x50, 0x01, 0x2e, 0xa8, 0x00, 0x00, 0xb2, 0xfb, 0x7f,
        0x5d, 0x2f, 0x01, 0xb2, 0x54, 0x2f, 0x02, 0xb2, 0x4e, 0x2f, 0x03, 0x90,
        0x63, 0x2f, 0x73, 0x50, 0x39, 0x82, 0x02, 0x40, 0x81, 0x88, 0x75, 0x54,
        0x41, 0x40, 0x7b, 0x56, 0x04, 0x42, 0x00, 0x2e, 0x94, 0x40, 0x95, 0x40,
        0xd8, 0xbe, 0x2c, 0x0b, 0x45, 0x40, 0x6c, 0x01, 0x55, 0x42, 0x0c, 0x17,
        0x45, 0x40, 0x2c, 0x03, 0x54, 0x42, 0x53, 0x0e, 0xf2, 0x2f, 0x7d, 0x56,
        0x3e, 0x82, 0xe2, 0x40, 0xc3, 0x40, 0x28, 0xbd, 0x93, 0x0a, 0x43, 0x40,
        0xda, 0x00, 0x53, 0x42, 0x8a, 0x16, 0x43, 0x40, 0x9a, 0x02, 0x52, 0x42,
        0x00, 0x2e, 0x41, 0x40, 0x49, 0x54, 0x4a, 0x0e, 0x3b, 0x2f, 0x3a, 0x82,
        0x00, 0x30, 0x41, 0x40, 0x21, 0x2e, 0x65, 0x01, 0x40, 0xb2, 0x0a, 0x2f,
        0x98, 0x2e, 0xe2, 0xb2, 0x98, 0x2e, 0x60, 0xb5, 0x98, 0x2e, 0x76, 0xb5,
        0xfb, 0x6f, 0xf0, 0x5f, 0x00, 0x30, 0x80, 0x2e, 0xbf, 0x03, 0x79, 0x54,
        0x6f, 0x56, 0x83, 0x42, 0x8f, 0x86, 0x74, 0x30, 0x77, 0x54, 0xc4, 0x42,
        0x11, 0x30, 0x23, 0x2e, 0xa8, 0x00, 0xa1, 0x42, 0x23, 0x30, 0x27, 0x2e,
        0xab, 0x00, 0x21, 0x2e, 0xaa, 0x00, 0xba, 0x82, 0x18, 0x2c, 0x81, 0x42,
        0x30, 0x30, 0x21, 0x2e, 0xa8, 0x00, 0x13, 0x2d, 0x21, 0x30, 0x00, 0x30,
        0x23, 0x2e, 0xa8, 0x00, 0x21, 0x2e, 0x7b, 0xf7, 0x0c, 0x2d, 0x77, 0x30,
        0x98, 0x2e, 0xa0, 0xb2, 0x71, 0x50, 0x0c, 0x82, 0x12, 0x30, 0x40, 0x42,
        0x25, 0x2e, 0xa8, 0x00, 0x2f, 0x2e, 0x7b, 0xf7, 0xfb, 0x6f, 0xf0, 0x5f,
        0xb8, 0x2e, 0x70, 0x50, 0x0a, 0x25, 0x39, 0x86, 0xfb, 0x7f, 0xe1, 0x32,
        0x62, 0x30, 0x98, 0x2e, 0xc2, 0xc4, 0x15, 0x56, 0xa5, 0x6f, 0xab, 0x08,
        0x91, 0x6f, 0x4b, 0x08, 0x7f, 0x56, 0xc4, 0x6f, 0x23, 0x09, 0x4d, 0xba,
        0x93, 0xbc, 0x8c, 0x0b, 0xd1, 0x6f, 0x0b, 0x09, 0x5f, 0x52, 0x81, 0x5e,
        0x56, 0x42, 0xaf, 0x09, 0x4d, 0xba, 0x23, 0xbd, 0x94, 0x0a, 0xe5, 0x6f,
        0x68, 0xbb, 0xeb, 0x08, 0xbd, 0xb9, 0x63, 0xbe, 0xfb, 0x6f, 0x52, 0x42,
        0xe3, 0x0a, 0xc0, 0x2e, 0x43, 0x42, 0x90, 0x5f, 0x65, 0x50, 0x03, 0x2e,
        0x25, 0xf3, 0x12, 0x40, 0x00, 0x40, 0x28, 0xba, 0x9b, 0xbc, 0x88, 0xbd,
        0x93, 0xb4, 0xe3, 0x0a, 0x89, 0x16, 0x08, 0xb6, 0xc0, 0x2e, 0x19, 0x00,
        0x62, 0x02, 0x10, 0x50, 0xfb, 0x7f, 0x98, 0x2e, 0x9b, 0xb4, 0x01, 0x2e,
        0xa8, 0x00, 0x31, 0x30, 0x08, 0x04, 0xfb, 0x6f, 0x01, 0x30, 0xf0, 0x5f,
        0x23, 0x2e, 0xaa, 0x00, 0x21, 0x2e, 0xab, 0x00, 0xb8, 0x2e, 0x83, 0x50,
        0x21, 0x34, 0x01, 0x42, 0x82, 0x30, 0xc1, 0x32, 0x25, 0x2e, 0x62, 0xf5,
        0x01, 0x00, 0x22, 0x30, 0x01, 0x40, 0x4a, 0x0a, 0x01, 0x42, 0xb8, 0x2e,
        0x83, 0x54, 0xf0, 0x3b, 0x83, 0x40, 0xd8, 0x08, 0x85, 0x52, 0x83, 0x42,
        0x00, 0x30, 0x83, 0x30, 0x50, 0x42, 0xc4, 0x32, 0x27, 0x2e, 0x64, 0xf5,
        0x94, 0x00, 0x50, 0x42, 0x40, 0x42, 0xd3, 0x3f, 0x84, 0x40, 0x7d, 0x82,
        0xe3, 0x08, 0x40, 0x42, 0x83, 0x42, 0xb8, 0x2e, 0x79, 0x52, 0x00, 0x30,
        0x40, 0x42, 0x7c, 0x86, 0x4d, 0x52, 0x09, 0x2e, 0x50, 0x01, 0x53, 0x54,
        0xc4, 0x42, 0xd3, 0x86, 0x54, 0x40, 0x55, 0x40, 0x94, 0x42, 0x85, 0x42,
        0x21, 0x2e, 0xab, 0x00, 0x42, 0x40, 0x25, 0x2e, 0xfd, 0xf3, 0xc0, 0x42,
        0x7e, 0x82, 0x05, 0x2e, 0x86, 0x00, 0x80, 0xb2, 0x14, 0x2f, 0x05, 0x2e,
        0x0b, 0x02, 0x27, 0xbd, 0x2f, 0xb9, 0x80, 0x90, 0x02, 0x2f, 0x21, 0x2e,
        0x6f, 0xf5, 0x0c, 0x2d, 0x07, 0x2e, 0x51, 0x01, 0x14, 0x30, 0x1c, 0x09,
        0x05, 0x2e, 0x77, 0xf7, 0x51, 0x56, 0x47, 0xbe, 0x93, 0x08, 0x94, 0x0a,
        0x25, 0x2e, 0x77, 0xf7, 0x87, 0x54, 0x50, 0x42, 0x4a, 0x0e, 0xfc, 0x2f,
        0xb8, 0x2e, 0x50, 0x50, 0x02, 0x30, 0x43, 0x86, 0x85, 0x50, 0xfb, 0x7f,
        0xe1, 0x7f, 0xd3, 0x7f, 0xc2, 0x7f, 0xb0, 0x7f, 0x00, 0x2e, 0x41, 0x40,
        0x00, 0x40, 0x48, 0x04, 0x98, 0x2e, 0x74, 0xc0, 0x05, 0x2e, 0xc0, 0x00,
        0x42, 0x0f, 0xc2, 0x6f, 0xe1, 0x6f, 0x13, 0x30, 0x9a, 0x22, 0xb0, 0x6f,
        0x5b, 0x40, 0xd3, 0x6f, 0x4b, 0x0e, 0x1b, 0x42, 0xe1, 0x7f, 0xc2, 0x7f,
        0xe9, 0x2f, 0x03, 0x2e, 0x66, 0x01, 0x40, 0x90, 0x11, 0x30, 0x03, 0x2f,
        0x23, 0x2e, 0x66, 0x01, 0x02, 0x2c, 0x00, 0x30, 0xc0, 0x6f, 0xfb, 0x6f,
        0xb0, 0x5f, 0xb8, 0x2e, 0x40, 0x50, 0xf1, 0x7f, 0x0a, 0x25, 0x3c, 0x86,
        0xeb, 0x7f, 0x41, 0x33, 0x22, 0x30, 0x98, 0x2e, 0xc2, 0xc4, 0xd3, 0x6f,
        0xf4, 0x30, 0xdc, 0x09, 0x8b, 0x58, 0xc2, 0x6f, 0x94, 0x09, 0x8d, 0x58,
        0x6a, 0xbb, 0xdc, 0x08, 0xb4, 0xb9, 0xb1, 0xbd, 0x89, 0x5a, 0x95, 0x08,
        0x21, 0xbd, 0xf6, 0xbf, 0x77, 0x0b, 0x51, 0xbe, 0xf1, 0x6f, 0xeb, 0x6f,
        0x52, 0x42, 0x54, 0x42, 0xc0, 0x2e, 0x43, 0x42, 0xc0, 0x5f, 0x50, 0x50,
        0x97, 0x50, 0x91, 0x30, 0x11, 0x42, 0xfb, 0x7f, 0x3b, 0x30, 0x0b, 0x42,
        0x11, 0x30, 0x02, 0x80, 0x23, 0x33, 0x01, 0x42, 0x03, 0x00, 0x07, 0x2e,
        0x80, 0x03, 0x05, 0x2e, 0xa7, 0x00, 0x19, 0x52, 0xe2, 0x7f, 0xd3, 0x7f,
        0xc0, 0x7f, 0x98, 0x2e, 0xd4, 0xb5, 0xd1, 0x6f, 0x08, 0x0a, 0x1a, 0x25,
        0x7b, 0x86, 0xd0, 0x7f, 0x01, 0x33, 0x12, 0x30, 0x98, 0x2e, 0xc2, 0xc4,
        0xd1, 0x6f, 0x08, 0x0a, 0x00, 0xb2, 0x0d, 0x2f, 0xe3, 0x6f, 0x01, 0x2e,
        0x80, 0x03, 0x51, 0x30, 0xc7, 0x86, 0x23, 0x2e, 0x21, 0xf2, 0x08, 0xbc,
        0xc0, 0x42, 0x98, 0x2e, 0xd2, 0x01, 0x00, 0x2e, 0x00, 0x2e, 0xd0, 0x2e,
        0xb0, 0x6f, 0x0b, 0xb8, 0x03, 0x2e, 0x1b, 0x00, 0x08, 0x1a, 0xb0, 0x7f,
        0x70, 0x30, 0x04, 0x2f, 0x21, 0x2e, 0x21, 0xf2, 0x00, 0x2e, 0x00, 0x2e,
        0xd0, 0x2e, 0x98, 0x2e, 0x6d, 0xc0, 0x98, 0x2e, 0x5d, 0xc0, 0x8f, 0x50,
        0x98, 0x2e, 0x44, 0xcb, 0x91, 0x50, 0x98, 0x2e, 0x46, 0xc3, 0x93, 0x50,
        0x98, 0x2e, 0x53, 0xc7, 0x20, 0x26, 0xc0, 0x6f, 0x02, 0x31, 0x12, 0x42,
        0xab, 0x31, 0x0b, 0x42, 0x37, 0x80, 0x01, 0x30, 0x01, 0x42, 0x23, 0x33,
        0x99, 0x52, 0xf0, 0x37, 0x44, 0x40, 0xa2, 0x0a, 0x42, 0x42, 0x4b, 0x00,
        0x07, 0x2e, 0x5e, 0xf7, 0x18, 0x08, 0x21, 0x2e, 0xe0, 0x00, 0xe1, 0x7f,
        0x98, 0x2e, 0x20, 0x02, 0xe0, 0x6f, 0x81, 0x30, 0x01, 0x42, 0x01, 0x30,
        0xfb, 0x6f, 0x95, 0x56, 0x02, 0x30, 0x00, 0x2e, 0x00, 0x2e, 0x81, 0x84,
        0x53, 0x0e, 0xfa, 0x2f, 0x01, 0x42, 0x10, 0x30, 0xb0, 0x5f, 0x21, 0x2e,
        0x21, 0xf2, 0xb8, 0x2e, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0x00, 0x00,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
        0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1
};

//****************************************
//整数转字符串
//****************************************
void lcd_printf(uchar *s,int temp_data)//10进制转换
{
        if(temp_data<0)
        {
                temp_data=-temp_data;
                *s='-';
        }
        else *s=' ';
        *++s =temp_data/100+0x30;
        temp_data=temp_data%100;     //取余运算
        *++s =temp_data/10+0x30;
        temp_data=temp_data%10;      //取余运算
        *++s =temp_data+0x30;        
}

void lcd_printf16(uchar *s,int temp_data1)//16进制转换
{
        if(temp_data1<0)
        {
                temp_data1=-temp_data1;
                *s='-';
        }
        else *s=' ';
        *++s =temp_data1/256+0x30;
        temp_data1=temp_data1%256;     //取余运算
        *++s =temp_data1/16+0x30;
        temp_data1=temp_data1%16;      //取余运算
        *++s =temp_data1+0x30;        
}


void Delay450us()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        i = 5;
        j = 212;
        do
        {
                while (--j);
        } while (--i);
}



void Delay5us()                //@11.0592MHz
{
        unsigned char i;

        _nop_();
        i = 11;
        while (--i);
}

//**************************************
//I2C起始信号
//**************************************
void I2C_Start()
{
    SDA = 1;                    //拉高数据线
    SCL = 1;                    //拉高时钟线
    Delay5us();               //延时
    SDA = 0;                    //产生下降沿
    Delay5us();               //延时
    SCL = 0;                    //拉低时钟线
}
//**************************************
//I2C停止信号
//**************************************
void I2C_Stop()
{
       
    SDA = 0;                    //拉低数据线
    SCL = 0;
    Delay5us();       
    SCL = 1;                    //拉高时钟线
    Delay5us();               //延时
    SDA = 1;                    //产生上升沿
    Delay5us();               //延时
}
//**************************************
//I2C发送应答信号
//入口参数:ack (0:ACK 1:NAK)
//**************************************
void I2C_SendACK(bit ack)
{
    SDA = ack;                  //写应答信号
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    SCL = 0;                    //拉低时钟线
    Delay5us();                 //延时
}
//**************************************
//主应答(包含ack:SDA=0和no_ack:SDA=0)
//I2C接收应答信号
//**************************************
bit I2C_RecvACK()
{
    SCL = 1;                    //拉高时钟线
    Delay5us();                 //延时
    CY = SDA;                   //读应答信号
    SCL = 0;                    //拉低时钟线
    Delay5us();                 //延时
    return CY;
}
//**************************************
//向I2C总线发送一个字节数据
//**************************************
void I2C_SendByte(uchar dat)
{
    uchar i;
    for(i=0;i<8;i++)
        {
                if(dat & 0x80)
                        SDA=1;
                else
                        SDA=0;
                SCL=1;
                SCL=0;
                dat<<=1;
        }
        I2C_RecvACK();
}

//**************************************
//从I2C总线接收一个字节数据
//**************************************
uchar I2C_RecvByte()
{
    uchar i;
    uchar dat = 0;
    SDA = 1;                    //使能内部上拉,准备读取数据,
    for (i=0; i<8; i++)         //8位计数器
    {
        dat <<= 1;
        SCL = 1;                //拉高时钟线
        Delay5us();             //延时
        dat |= SDA;             //读数据               
        SCL = 0;                //拉低时钟线
        Delay5us();             //延时
    }
    return dat;
}
//**************************************
//向I2C设备写入一个字节数据
//**************************************
void Single_WriteI2C(uchar REG_Address,uchar REG_data)
{
    I2C_Start();                  //起始信号
    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号
    I2C_SendByte(REG_Address);    //内部寄存器地址,
    I2C_SendByte(REG_data);       //内部寄存器数据,
    I2C_Stop();                   //发送停止信号
}

//**************************************
//向I2C设备写入一串数据
//**************************************

void Single_WriteI2CS(uchar REG_Address,uchar *dat,uchar len)
{
    I2C_Start();                  //起始信号
    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号
    I2C_SendByte(REG_Address);    //内部寄存器地址,
       
        while(len--)
        {
                I2C_SendByte(*dat++);       //内部寄存器数据   发送需要写入的数据
        }
    I2C_Stop();                   //发送停止信号
       
       
}

//**************************************
//从I2C设备读取一个字节数据
//**************************************
uchar Single_ReadI2C(uchar REG_Address)
{
        uchar REG_data;
        I2C_Start();                   //起始信号
        I2C_SendByte(SlaveAddress);    //发送设备地址+写信号
        I2C_SendByte(REG_Address);     //发送存储单元地址,从0开始       
        I2C_Start();                   //起始信号
        I2C_SendByte(SlaveAddress+1);  //发送设备地址+读信号
        REG_data=I2C_RecvByte();       //读出寄存器数据
        I2C_SendACK(1);                //接收应答信号
        I2C_Stop();                    //停止信号
        return REG_data;
}
//**************************************
//初始化BMI270
//**************************************
void InitBMI270()
{   
        Single_WriteI2C(0x7C,0x00);  //关闭高级省电模式PWR_CONF 0x7C 电源模式 典型值:0x03
       
        Delay450us();

        Single_WriteI2C(0x59,0x00);  // 开始对模块进行初始化配置
       
        //Single_WriteI2CS(0x5E,bmi270_config_file,sizeof(bmi270_config_file));  // 输出配置文件
       
        Single_WriteI2C(0x59,0x01);  // 初始化配置结束
       
        //if(Single_ReadI2C(0x21) == 0)                       // 检查是否配置完成
       
        Single_WriteI2C(0x7D,0x0E);  // 开启性能模式  使能陀螺仪、加速度、温度传感器
        Single_WriteI2C(0x40,0xA7);  // 加速度采集配置 性能模式 正常采集 50Hz  采样频率
        Single_WriteI2C(0x42,0xA9);  // 陀螺仪采集配置 性能模式 正常采集 200Hz 采样频率
        Single_WriteI2C(0x41,0x00);//加速度量程:0X00  2,0X01  4,0X02  8,0X03  16 加速度量程配置 配置量程为:±8g
        Single_WriteI2C(0x43,0x03);//角速度量程:0X00  2000,0X01  1000,0X02  500,0X03  250,0X04  125  陀螺仪量程配置 配置量程为:±2000dps
        //Single_WriteI2C(0x5E,0x03);
        //Single_WriteI2C(0x7C,0x02);
       
       
}

void Display_ACCEL_XOUT()
{
       
        AX_H=Single_ReadI2C(ACCEL_XOUT_H); //读取
        AX_L=Single_ReadI2C(ACCEL_XOUT_L); //读取
        AX=(AX_H<<8)+AX_L;
        AX/=32.7;                            //计算出AX
        lcd_printf(dis, AX);                                 //转换数据显示
        UART_Send_Str("X轴加速度:");
        UART_Send_Str(dis);
        OLED_P8x16Str(24, 2,dis);
}


void Display_ACCEL_YOUT()
{
       
        AY_H=Single_ReadI2C(ACCEL_YOUT_H); //读取
        AY_L=Single_ReadI2C(ACCEL_YOUT_L); //读取
        AY=(AY_H<<8)+AY_L;
        AY/=32.7;                            // 计算AY
        lcd_printf(dis, AY);                                 //转换数据显示
        UART_Send_Str("Y轴加速度:");
        UART_Send_Str(dis);
        OLED_P8x16Str(24, 4,dis);
}

void Display_ACCEL_ZOUT()
{
       
//        AZ_H=Single_ReadI2C(ACCEL_ZOUT_H); //读取
//        AZ_L=Single_ReadI2C(ACCEL_ZOUT_L); //读取
//        AZ=(AZ_H<<8)+AZ_L;
//        AZ/=32.7; // 计算AZ
//        lcd_printf(dis, AZ);                        //转换数据显示
//        UART_Send_Str("Z轴加速度:");
//        UART_Send_Str(dis);
//        OLED_P8x16Str(24, 6,dis);
       
        Who=Single_ReadI2C(0x02); //读取芯片
        lcd_printf16(dis,Who);     //转换数据显示
        UART_Send_Str("0X02:");
        UART_Send_Str(dis);
        OLED_P168x16Str(24,6, dis);
       
       
}

void Display_GYRO_XOUT()
{
       
//        GX_H=Single_ReadI2C(GYRO_XOUT_H); //读取
//        GX_L=Single_ReadI2C(GYRO_XOUT_L); //读取
//        GX=(GX_H<<8)+GZ_L;
//        GX/=835.9;
//        lcd_printf(dis, GX);                        //转换数据显示
//        UART_Send_Str("X轴角速度:");
//        UART_Send_Str(dis);
//        OLED_P8x16Str(96, 2,dis);
//        delay(100);
        Who=Single_ReadI2C(0x21); //读取芯片
        lcd_printf16(dis,Who);     //转换数据显示
        UART_Send_Str("0X21:");
        UART_Send_Str(dis);
        OLED_P168x16Str(96,2, dis);
       
}

void Display_GYRO_YOUT()
{
//       
//        GY_H=Single_ReadI2C(GYRO_YOUT_H); //读取
//        GY_L=Single_ReadI2C(GYRO_YOUT_L); //读取
//        GY=(GY_H<<8)+GY_L;
//        GY/=835.9; // 计算出YZ
//        lcd_printf(dis, GY);                        //转换数据显示
//        UART_Send_Str("Y轴角速度:");
//        UART_Send_Str(dis);
//        OLED_P8x16Str(96, 4,dis);
//        delay(100);
       
        Who=Single_ReadI2C(0x43); //读取芯片
        lcd_printf16(dis,Who);     //转换数据显示
        UART_Send_Str("0X43:");
        UART_Send_Str(dis);
        OLED_P168x16Str(96,4, dis);
}

void Display_GYRO_ZOUT()
{
       
//        GZ_H=Single_ReadI2C(GYRO_ZOUT_H); //读取
//        GZ_L=Single_ReadI2C(GYRO_ZOUT_L); //读取
//        GZ=(GZ_H<<8)+GZ_L;
//        GZ/=835.9; // 计算出GZ
//        lcd_printf(dis, GZ);                        //转换数据显示
//        UART_Send_Str("Z轴角速度:");
//        UART_Send_Str(dis);
//        OLED_P8x16Str(96, 6,dis);
       
        delay(100);
        Who=Single_ReadI2C(0x5E); //读取芯片
        lcd_printf16(dis,Who);     //转换数据显示
        UART_Send_Str("0X5E:");
        UART_Send_Str(dis);
        OLED_P168x16Str(96,6, dis);
       
}

void Display_temp()
{
       
        Temp_h=Single_ReadI2C(TEMP_OUT_H); //读取温度
        Temp_l=Single_ReadI2C(TEMP_OUT_L); //读取温度
        Temperature=Temp_h<<8|Temp_l;     //合成温度
    Temper =23+(double)(Temperature)/512; // 计算出温度
        lcd_printf(dis, Temper);                        //转换数据显示
        UART_Send_Str("温度:     ");       
        UART_Send_Str(dis);
        OLED_P8x16Str(96,0,dis);
       
       
       
}

void Display_Add()
{
       
        Who=Single_ReadI2C(CHIP_ID); //读取芯片ID
        lcd_printf16(dis,Who);     //转换数据显示
        UART_Send_Str("CHIP ID:");
        UART_Send_Str(dis);
        OLED_P168x16Str(24,0, dis);
}

//*********************************************************
//主程序
//*********************************************************
void main()
{
       
    //delay(100);
        Single_WriteI2C(0x7E,0xB6);
        //delay(100);
        OLED_Init();    //初始化OLED
        //delay(100);
        //InitBMI270();        //初始化BMI270
        UART_Init();        //UART初始化
        //delay(100);
        while(1)
        {
        InitBMI270();        //初始化BMI270
                UART_Send_Str("\r\n");        //输出光标移到下一行
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_ACCEL_YOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_ACCEL_ZOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_ACCEL_XOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_GYRO_XOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_GYRO_YOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_GYRO_ZOUT();
                UART_Send_Str("\r\n");        //输出光标移到下一行               
                Display_Add();       
                UART_Send_Str("\r\n");        //输出光标移到下一行
                Display_temp();
                UART_Send_Str("\r\n");        //输出光标移到下一行
                }
}
回复

使用道具 举报

ID:660808 发表于 2024-12-8 20:55 | 显示全部楼层
MJG365123 发表于 2024-11-21 22:23
问题就是配置文件写不进去。不知道是哪个地方写错了。附上原程序,

程序已调通,是数据类型定义问题。
回复

使用道具 举报

ID:660808 发表于 2024-12-8 20:59 | 显示全部楼层

//**************************************
//向I2C设备写入一串数据
//**************************************

void Single_WriteI2CS(uchar REG_Address,uchar *dat,uint len)
{
    I2C_Start();                  //起始信号
    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号
    I2C_SendByte(REG_Address);    //内部寄存器地址,
        while(len--)
        {
                I2C_SendByte(*dat++);       //内部寄存器数据   发送需要写入的数据
        }
    I2C_Stop();                   //发送停止信号
}
回复

使用道具 举报

ID:660808 发表于 2024-12-8 21:03 | 显示全部楼层
OLED屏显示测量数据正常,没配置好就没有数据。
IMG_20241208_210143.jpg
回复

使用道具 举报

ID:1141293 发表于 2024-12-25 08:58 | 显示全部楼层
你好, 为什么的BMI270读取ID为0x26代表是假芯片吗?
回复

使用道具 举报

ID:1141293 发表于 2024-12-25 10:38 | 显示全部楼层
bugdisappear 发表于 2024-12-25 08:58
你好, 为什么的BMI270读取ID为0x26代表是假芯片吗?

我去立创商城重新买了一个BMI270, 发现是买了翻新芯片, 应该是其他系列的BMI2xx芯片, BMI2系列只有BMI270的芯片ID是0x24
回复

使用道具 举报

ID:660808 发表于 2025-1-15 23:04 | 显示全部楼层
bugdisappear 发表于 2024-12-25 10:38
我去立创商城重新买了一个BMI270, 发现是买了翻新芯片, 应该是其他系列的BMI2xx芯片, BMI2系列只有BMI ...

是BMI220的芯片
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表