From: ppisa Date: Wed, 15 Jun 2005 12:02:30 +0000 (+0000) Subject: Committed IXXAT iPC-I 165 (PCI) implemented by Radim Kalas from Unicontrols.cz. X-Git-Tag: CLT_COMM_CAN-lincan-0_3_1~5 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/commitdiff_plain/6dbd69eeb947673bbcb552f83f439cf8516b19f6?hp=93ef9c984b4bcee40fbebbb3af94f5a8537141a6 Committed IXXAT iPC-I 165 (PCI) implemented by Radim Kalas from Unicontrols.cz. This is initial unmodified code prepared against 0.3 version of the driver. Small updates to mimic LinCAN core changes are required now. --- diff --git a/lincan/include/ipci165.h b/lincan/include/ipci165.h new file mode 100644 index 0000000..7f50484 --- /dev/null +++ b/lincan/include/ipci165.h @@ -0,0 +1,182 @@ +/* ipci165.h + * Linux CAN-bus device driver for IXXAT iPC-I 165 (PCI) compatible HW. + * Written for new CAN driver version by Radim Kalas + * email:kalas@unicontrols.cz + * This software is released under the GPL-License. + * Version lincan-0.3 17 Jun 2004 + */ + +#include "../include/kthread.h" + +/* PCI device identification */ +#define IPCI165_VENDOR_ID PCI_VENDOR_ID_PLX +#define IPCI165_DEVICE_ID PCI_DEVICE_ID_PLX_9050 + +#define IPCI165_SUBSYSTEM_ID 0x1067 /* subsystem ID for IXXAT iPC-I 165 card */ +#define CP350_SUBSYSTEM_ID 0x1089 /* subsystem ID for PEP/Kontron CP350 card */ + + +/***************************************************************************** + * Control Registers Memory specific defines * + *****************************************************************************/ +#define CRM_SIZE 0x80 /* region size */ + +#define CRM_UCR 0x50 /* user control register */ +#define CRM_ICR 0x4C /* interrupt control register */ + +/***************************************************************************** + * DP-RAM (PCI Memory Window 2) specific defines * + *****************************************************************************/ +#define DPRAM_SIZE 8*1024 /* DP-RAM size - PCI Memory Window 2 */ + +#define OF_CMD_BUFFER 0 /* Offset of Command Buffer \ + (normal mode) */ + +#define OF_CH1_TX_QUEUE 0x50 /* offset to TX queue for channel 1 */ +#define OF_CH2_TX_QUEUE 0x438 /* offset to TX queue for channel 2 */ +#define OF_CH1_RX_QUEUE 0x820 /* offset to RX queue for channel 1 */ +#define OF_CH2_RX_QUEUE 0xc08 /* offset to RX queue for channel 2 */ + +#define OF_STATUS_BUFFER 0xff0 /* offset to status buffer */ + +#define BCI_QUEUE_SIZE 50 /* Size of TX and RX message queues \ + (number of messages) */ +#define BCI_MSG_SIZE 20 /* Size of one message */ + +/***************************************************************************** + * Bootstrap loader specific defines * + *****************************************************************************/ + +/* identification strings offsets & lengths */ +#define BOARD_NAME_OFS 0x00 /* Name (string) */ +#define BOARD_NAME_LEN 7 /* String length */ + +#define HW_VERSION_OFS 0x20 /* Version (string) */ +#define HW_VERSION_LEN 6 /* String length */ + +#define MODE_OFS 0x102 /* Mode (string) */ +#define MODE_LEN 14 /* String length */ + +#define TYPE_LEN 11 /* Type length */ + +/* FW loader command buffer offsets */ +#define OF_LD_SYNC 0x100 /* Synchronization flag */ +#define OF_LD_CMD 0x101 /* Command code */ +#define OF_LD_NUM 0x102 /* Size of FW block */ +#define OF_LD_ADDRESS 0x104 /* Start Address of FW block */ +#define OF_LD_DATA 0x108 /* Data of FW block */ + +/* FW commands */ +#define LD_CMD_DOWNLOAD 1 /* Download FW block */ +#define LD_CMD_START_FW 2 /* Start FW */ + +/***************************************************************************** + * BCI specific defines * + *****************************************************************************/ + +/* BCI command buffer offsets */ +#define OF_BCI_SYNC 0x00 /* Synchronization flag */ +#define OF_BCI_NUM 0x01 /* Command size */ +#define OF_BCI_CMD 0x04 /* Command code */ +#define OF_BCI_DATA 0x05 /* Command data */ +#define BCI_CMD_MAX_LEN 76 /* Max command length */ + +/* BCI commands */ +#define CMD_ID 1 /* Get identification string */ +#define CMD_VERSION 2 /* Get version number string */ +#define CMD_TEST 3 /* Test the command buffer, invert data bytes */ +#define CMD_INIT_CAN 4 /* Initialization of the CAN controller */ +#define CMD_START_CAN 6 /* Start the CAN controller */ +#define CMD_STOP_CAN 7 /* Stop the CAN controller */ +#define CMD_RESET_CAN 8 /* Reset the CAN controller */ +#define CMD_SET_EXT_FILTER_MASK 9 /* Set global filter mask */ +#define CMD_CONFIG_RX_QUEUE 11 /* Config receive queue mode */ +#define CMD_GET_BOARD_INFO 12 /* Get board information */ +#define CMD_START_TIMER 13 /* Start cyclic timer */ +#define CMD_STOP_TIMER 14 /* Stop cyclic timer */ +#define CMD_SET_ACC_MASK 15 /* Set acceptance mask */ + +/* CMD_BOARD_INFO offsets */ +#define BOARD_INFO_SIZE 26 /* Size */ +#define OF_BOARD_INFO_VER 1 /* Version in BCD, UINT16 */ +#define OF_BOARD_INFO_CHIPS 3 /* Num of chips, UINT16 */ +#define OF_BOARD_INFO_CHIP1_TYPE 5 /* Type of first chip, UINT8[10] */ +#define OF_BOARD_INFO_CHIP2_TYPE 15 /* Type of second chip, UINT8[10] */ + +/* baud rates BTR0, BTR1 for SJA1000 */ +#define BCI_10KB 0x67,0x2F +#define BCI_20KB 0x53,0x2F +#define BCI_50KB 0x47,0x2F +#define BCI_100KB 0x43,0x2F +#define BCI_125KB 0x03,0x1C +#define BCI_250KB 0x01,0x1C +#define BCI_500KB 0x00,0x1C +#define BCI_1000KB 0x00,0x14 + +#define CAN_FRAME_MIN_BIT_LEN 47 /* Min no of bits in CAN standard data frame */ +#define CAN_FRAME_MAX_BIT_LEN 111 /* Max no of bits in CAN standard data frame */ + +/* BCI_CONFIG_RX Queue Modes */ +#define BCI_POLL_MODE 0 +#define BCI_LATENCY_MODE 1 +#define BCI_THROUGHPUT_MODE 2 + +/* BCI queue info */ +struct bci_queue_t { + int idx; /* points to the active record in buffer */ + unsigned long addr; /* start address of the message queue */ +}; + +/* ipci165 chip data */ +struct ipci165_chip_t { + struct bci_queue_t rx_queue; /* RX queue info */ + struct bci_queue_t tx_queue; /* TX queue info */ + kthread_t kthread; /* kernel thread info */ + long flags; /* flag for syncing with kernel thread */ +}; + +#define CHIP_FLAG_BUS_OFF 1 /* bus-off signal to kthread */ +#define CHIP_FLAG_RESET 2 /* chip is being reseted */ + + +/* RX & TX Queue message structure */ +#define BCI_MSG_STATUS 0 /* status (U8) */ +#define BCI_MSG_NUM 1 /* size (U8) */ +#define BCI_MSG_TIMESTAMP 2 /* timestamp (U32)*/ +#define BCI_MSG_TYPE 6 /* message type (U8) */ + +/* CAN message */ +#define BCI_MSG_FRAME 7 /* frame info (U8) */ +#define BCI_MSG_ID 8 /* ID 11/29b (U16/U32) */ +#define BCI_MSG_STD_DATA 10 /* message data */ +#define BCI_MSG_EXT_DATA 12 /* message data */ + +/* status message */ +#define BCI_MSG_CAN_STATUS 8 /* status info (U16) */ + +#define BCI_MSG_STATUS_FREE 0 /* message buffer is free */ +#define BCI_MSG_STATUS_FULL 1 /* message buffer is used */ + +#define BCI_MSG_TYPE_CAN 0 /* message containing CAN frame */ +#define BCI_MSG_TYPE_STATUS 1 /* message containing status info */ + +#define BCI_MSG_FRAME_RTR 0x40 /* RTR flag */ +#define BCI_MSG_FRAME_EXT 0x80 /* Extended Frame */ + +#define BCI_TIMESTAMP_RES 125 /* Time stamp resolution in usec */ + +/* status buffer */ +#define OF_CAN1_STATUS (OF_STATUS_BUFFER + 0) +#define OF_CAN1_LOAD (OF_STATUS_BUFFER + 2) +#define OF_CAN2_STATUS (OF_STATUS_BUFFER + 4) +#define OF_CAN2_LOAD (OF_STATUS_BUFFER + 6) +#define OF_CPU_LOAD (OF_STATUS_BUFFER + 8) +#define OF_LIFE_COUNTER (OF_STATUS_BUFFER + 10) + +#define BCI_CAN_STATUS_INIT 0x0001 /* ctrl is in init mode */ +#define BCI_CAN_STATUS_WARNING_LEVEL 0x0002 /* warning level has been reached */ +#define BCI_CAN_STATUS_BUS_OFF 0x0004 /* ctrl disconnected from net */ +#define BCI_CAN_STATUS_DATA_OVERRUN 0x0008 /* overrun of can message happend */ +#define BCI_CAN_STATUS_RX 0x0010 /* ctrl is recieving */ +#define BCI_CAN_STATUS_TX 0x0020 /* ctrl is sending */ +#define BCI_CAN_STATUS_QUEUE_OVERRUN 0x0100 /* queue overrun */ diff --git a/lincan/include/ipci165_fw.h b/lincan/include/ipci165_fw.h new file mode 100644 index 0000000..d0a0da4 --- /dev/null +++ b/lincan/include/ipci165_fw.h @@ -0,0 +1,15 @@ +/* ipci165_fw.h + * Linux CAN-bus device driver firmware for IXXAT iPC-I 165 (PCI) compatible HW. + * + * email:kalas@unicontrols.cz + * This software is released under the GPL-License. + * Version lincan-0.3 17 Jun 2004 + */ + +struct ipci165_fw_t { + unsigned char len; + unsigned long addr; + unsigned char a_data[16]; +}; + +extern struct ipci165_fw_t ipci165_fw[]; diff --git a/lincan/include/kthread.h b/lincan/include/kthread.h new file mode 100644 index 0000000..1450f81 --- /dev/null +++ b/lincan/include/kthread.h @@ -0,0 +1,67 @@ +#ifndef _KTHREAD_H +#define _KTHREAD_H +#include +#include + +#include +#include + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)) + #include + #define tasklet_struct tq_struct +#else + #include +#endif + +#include +#include + +#include +#include + +/* a structure to store all information we need + for our thread */ +typedef struct kthread_struct +{ + /* private data */ + + /* Linux task structure of thread */ + struct task_struct *thread; + /* Task queue/Tasklet need to launch thread */ + struct tasklet_struct tq; + /* function to be started as thread */ + void (*function) (struct kthread_struct *kthread); + /* semaphore needed on start and creation of thread. */ + struct semaphore startstop_sem; + + /* public data */ + + /* queue thread is waiting on. Gets initialized by + init_kthread, can be used by thread itself. + */ + wait_queue_head_t queue; + /* flag to tell thread whether to die or not. + When the thread receives a signal, it must check + the value of terminate and call exit_kthread and terminate + if set. + */ + int terminate; + /* additional data to pass to kernel thread */ + void *arg; +} kthread_t; + +/* prototypes */ + +/* start new kthread (called by creator) */ +void start_kthread(void (*func)(kthread_t *), kthread_t *kthread); + +/* stop a running thread (called by "killer") */ +void stop_kthread(kthread_t *kthread); + +/* setup thread environment (called by new thread) */ +void init_kthread(kthread_t *kthread, char *name); + +/* cleanup thread environment (called by thread upon receiving termination signal) */ +void exit_kthread(kthread_t *kthread); + +#endif diff --git a/lincan/include/main.h b/lincan/include/main.h index f7afa85..99a493d 100644 --- a/lincan/include/main.h +++ b/lincan/include/main.h @@ -80,6 +80,7 @@ struct candevice_t { int nr_all_chips; int nr_82527_chips; int nr_sja1000_chips; + can_spinlock_t device_lock; struct canchip_t *chip[MAX_HW_CHIPS]; struct hwspecops_t *hwspecops; diff --git a/lincan/src/Makefile.omk b/lincan/src/Makefile.omk index 8280b8b..b452ff8 100644 --- a/lincan/src/Makefile.omk +++ b/lincan/src/Makefile.omk @@ -2,7 +2,7 @@ lincan_cards_NAMES = pip pccan smartcan nsi cc_can104 ems_cpcpci \ pc_i03 pcm3680 aim104 m437 pcccan ssv bfadcan pikronisa eb8245 \ kv_pcican msmcan oscar adlink7841 unican virtual template -lincan_morecards_NAMES = hms30c7202_can ns_dev_can +lincan_morecards_NAMES = hms30c7202_can ns_dev_can ipci165 default_CONFIG = CONFIG_OC_LINCAN=y CONFIG_OC_LINCANRTL=n CONFIG_OC_LINCANVME=n default_CONFIG += CONFIG_OC_LINCAN_PORTIO_ONLY=n CONFIG_OC_LINCAN_MEMIO_ONLY=n @@ -28,6 +28,10 @@ ifeq ($(CONFIG_OC_LINCAN_CARD_unican),y) lincan_cards_SOURCES += unican_cl2.c endif +ifeq ($(CONFIG_OC_LINCAN_CARD_ipci165),y) +lincan_cards_SOURCES += ipci165_fw.c kthread.c +endif + ifneq ($(filter hms30c7202_can ns_dev_can,$(lincan_cards_SELECTED)),) $(warning Not finished C_CAN support requested) lincan_cards_SOURCES += c_can.c c_can_irq.c diff --git a/lincan/src/boardlist.c b/lincan/src/boardlist.c index 739f30e..1b0ddeb 100644 --- a/lincan/src/boardlist.c +++ b/lincan/src/boardlist.c @@ -34,6 +34,7 @@ extern int msmcan_register(struct hwspecops_t *hwspecops); extern int unican_register(struct hwspecops_t *hwspecops); extern int unican_pci_register(struct hwspecops_t *hwspecops); extern int unican_vme_register(struct hwspecops_t *hwspecops); +extern int ipci165_register(struct hwspecops_t *hwspecops); extern int pcan_dongle_register(struct hwspecops_t *hwspecops); extern int eb8245_register(struct hwspecops_t *hwspecops); extern int adlink7841_register(struct hwspecops_t *hwspecops); @@ -109,6 +110,9 @@ const struct boardtype_t can_boardtypes[]={ #ifdef CONFIG_OC_LINCAN_CARD_unican {"unican", unican_register, 1}, #endif + #ifdef CONFIG_OC_LINCAN_CARD_ipci165 + {"ipci165", ipci165_register, 0}, + #endif #if defined(CONFIG_OC_LINCAN_CARD_unican)&&defined(CAN_ENABLE_PCI_SUPPORT) {"unican-pci", unican_pci_register, 0}, #endif diff --git a/lincan/src/ipci165.c b/lincan/src/ipci165.c new file mode 100644 index 0000000..3dbbcb3 --- /dev/null +++ b/lincan/src/ipci165.c @@ -0,0 +1,1523 @@ +/* ipci165.c + * Linux CAN-bus device driver for IXXAT iPC-I 165 (PCI) compatible HW. + * Written for new CAN driver version by Radim Kalas + * email:kalas@unicontrols.cz + * This software is released under the GPL-License. + * Version lincan-0.3 17 Jun 2004 + */ + +#include "../include/can.h" +#include "../include/can_sysdep.h" +#include "../include/main.h" +#include "../include/setup.h" +#include "../include/finish.h" +#include "../include/ipci165.h" +#include "../include/ipci165_fw.h" +#include "../include/kthread.h" + +#include + +can_irqreturn_t ipci165_irq_handler(int irq, void *dev_id, struct pt_regs *regs); +int ipci165_baud_rate(struct canchip_t *chip, int rate, int clock, int sjw, + int sampl_pt, int flags); +int ipci165_set_btregs(struct canchip_t *chip, unsigned short btr0, + unsigned short btr1); +int ipci165_start_chip(struct canchip_t *chip); + +#ifdef CAN_DEBUG + void dump_mem(char *ptr, int size); +#else +#define dump_mem(a,b) +#endif + +#define ipci165_load_btr(btr,btr0,btr1) {*btr = btr0; *(btr+1) = btr1;} + +/** + * ipci165_delay - Delay the execution + * @msdelay: milliseconds to wait + * + * Return value: no return value + * File: src/ipci165.c + */ +static void ipci165_delay(long msdelay) +{ +#ifdef CAN_WITH_RTL + if(!rtl_rt_system_is_idle()) + { + rtl_delay(1000000l*msdelay); + } else +#endif /*CAN_WITH_RTL*/ + { + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout((msdelay*HZ)/1000+1); + } +} + +/** + * ipci165_generate_irq - Generate irq for HW + * @candev: Pointer to hardware/board specific functions + * + * Return value: The function returns zero on success or non zero on failure + * File: src/ipci165.c + */ +void ipci165_generate_irq(struct candevice_t *candev) +{ + unsigned long crm_addr = candev->io_addr; + writeb(readb(crm_addr + CRM_UCR) & 0xFB, crm_addr + CRM_UCR); + writeb(readb(crm_addr + CRM_UCR) | 0x04, crm_addr + CRM_UCR); +} + +/** + * bci_command - Send command to controller + * @candev: Pointer to hardware/board specific functions + * @cmd: Command to be performed + * @size: Command data size + * @data: Command data + * + * Return value: The function returns zero on success or non zero on failure + * File: src/ipci165.c + */ +int bci_command(struct candevice_t *candev, char cmd, int size, char *data) +{ + unsigned long dpram_addr = candev->dev_base_addr; + + DEBUGMSG ("ipci165_bci_command\n"); + + if (size > BCI_CMD_MAX_LEN) + { + DEBUGMSG ("ipci165_bci_command: parameter error\n"); + return -EINVAL; + } + + /* grant access to the command buffer */ + can_spin_lock(candev->device_lock); + + // check command buffer status + if (readb(dpram_addr + OF_BCI_SYNC) != 0) + { + /* something went wrong ... */ + can_spin_unlock(candev->device_lock); + DEBUGMSG ("ipci165_bci_command: command buffer is busy\n"); + return (-EBUSY); + } + + // prepare command + writeb(cmd, dpram_addr + OF_BCI_CMD); + writeb(size + 1, dpram_addr + OF_BCI_NUM); + memcpy_toio(dpram_addr + OF_BCI_DATA, data, size); + + // set flag for firmware + writeb(1, dpram_addr + OF_BCI_SYNC); + + // generate interrupt to microcontroller + ipci165_generate_irq (candev); + + return 0; +} + +/** + * bci_response - Get response from controller + * @candev: Pointer to hardware/board specific functions + * @cmd: Command to get response for + * @size: Command data size + * @data: Command data + * + * Return value: The function returns zero on success or non zero on failure + * File: src/ipci165.c + */ +int bci_response(struct candevice_t *candev, char cmd, int *size, char *data) +{ + unsigned long dpram_addr = candev->dev_base_addr; + char tmp; + int delay; + + DEBUGMSG ("ipci165_bci_response\n"); + + delay = 1000; + while (readb(dpram_addr + OF_BCI_SYNC) != 2) + { + /* wait 1 ms */ + /* ipci165_delay(1); */ + udelay(100); + if (--delay == 0) + { + /* timeout occured */ + /* release the lock */ + can_spin_unlock(candev->device_lock); + CANMSG ("BCI timeout!\n"); + return -EBUSY; + } + } + + /* we will not copy the command filed, so decrement the size by 1 */ + tmp = readb(dpram_addr + OF_BCI_NUM) - 1; + if (*size > tmp) *size = tmp; + + if (readb(dpram_addr + OF_BCI_CMD) != cmd) + { + /* release the buffer */ + writeb(0, dpram_addr + OF_BCI_SYNC); + /* unlock the access */ + can_spin_unlock(candev->device_lock); + + DEBUGMSG ("ipci165_bci_command: invalid answer\n"); + return -EIO; + } + memcpy_fromio(data, dpram_addr + OF_BCI_DATA, *size); + + /* release the buffer */ + writeb(0, dpram_addr + OF_BCI_SYNC); + /* unlock the access */ + can_spin_unlock(candev->device_lock); + return 0; +} + +/** + * ipci165_restart_can - Flush queues and sestart can controller + * @candev: Pointer to hardware/board specific functions + * @chip_idx: chip number + * + * Return value: The function returns zero on success or non zero on failure + * File: src/ipci165.c + */ +int ipci165_restart_can(struct canchip_t *chip) +{ + char data[3]; + int size; + int i; + + struct ipci165_chip_t *chip_data; + unsigned long msg_ofs; + + /* reset CAN */ + data[0] = chip->chip_idx; + size = 1; + if (bci_command(chip->hostdevice, CMD_RESET_CAN, 1, data) || + bci_response(chip->hostdevice, CMD_RESET_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("CAN reset failed!\n"); + return -ENODEV; + } + + /* flush TX/RX queues in DP-RAM */ + chip_data = (struct ipci165_chip_t *)chip->chip_data; + msg_ofs = BCI_MSG_STATUS; + + for (i = 0; i< BCI_QUEUE_SIZE; i++) + { + writeb(BCI_MSG_STATUS_FREE, chip_data->rx_queue.addr + msg_ofs); + writeb(BCI_MSG_STATUS_FREE, chip_data->tx_queue.addr + msg_ofs); + msg_ofs += BCI_MSG_SIZE; + } + + /* In- and output buffer re-initialization */ + canqueue_ends_flush_inlist(chip->msgobj[0]->qends); + canqueue_ends_flush_outlist(chip->msgobj[0]->qends); + + /* start CAN */ + data[0] = chip->chip_idx; + size = 1; + if (bci_command(chip->hostdevice, CMD_START_CAN, 1, data) || + bci_response(chip->hostdevice, CMD_START_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("start chip failed!\n"); + return -ENODEV; + } + return 0; +} + +/* this is the thread function that we are executing */ +/** + * ipci165_kthread - Thread restarting can controller after bus-off. + * @kthread: pointer to kernel thread descriptor + * @chip_idx: chip number + * + * Return value: no return value + * File: src/ipci165.c + */ +void ipci165_kthread(kthread_t *kthread) +{ + struct canchip_t *chip = (struct canchip_t *)kthread->arg; + struct ipci165_chip_t *chip_data = (struct ipci165_chip_t *)chip->chip_data; + + /* setup the thread environment */ + init_kthread(kthread, "ipci165"); + + /* this is normal work to do */ + CANMSG ("kernel thread started!\n"); + + /* an endless loop in which we are doing our work */ + for(;;) + { + /* fall asleep */ + wait_event_interruptible(kthread->queue,test_bit(CHIP_FLAG_BUS_OFF,&chip_data->flags)); + + /* We need to do a memory barrier here to be sure that + the flags are visible on all CPUs. */ + mb(); + + /* here we are back from sleep because we caught a signal. */ + if (kthread->terminate) + { + /* we received a request to terminate ourself */ + break; + } + + { + clear_bit(CHIP_FLAG_BUS_OFF,&chip_data->flags); + set_bit(CHIP_FLAG_RESET,&chip_data->flags); + /* this is normal work to do */ + ipci165_restart_can(chip); + + clear_bit(CHIP_FLAG_RESET,&chip_data->flags); + + /* wait at least 100ms for next reset */ + ipci165_delay(100); + } + } + /* here we go only in case of termination of the thread */ + + /* cleanup the thread, leave */ + CANMSG ("kernel thread terminated!\n"); + exit_kthread(kthread); + + /* returning from the thread here calls the exit functions */ +} + +/** + * ipci165_qfull_latency - Compute delay to send out full tx queue + * @candev: Pointer to candevice/board structure + * @obj: pointer to message object state structure + * + * Return Value: The function returns computed delay in jiffies + * File: src/ipci165.c + */ +long ipci165_qfull_latency(struct msgobj_t *obj) +{ + long latency; + latency = obj->hostchip->baudrate; + if(latency){ + latency=(long)HZ*(CAN_FRAME_MIN_BIT_LEN * BCI_QUEUE_SIZE)/latency + 1; + } + + return latency; +} + +/** + * ipci165_connect_irq: Installs interrupt routine and enable irq on HW + * @candev: Pointer to candevice/board structure + * + * Return Value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +int ipci165_connect_irq(struct candevice_t *candev) +{ + unsigned long crm_addr = candev->io_addr; + unsigned char icr; + DEBUGMSG ("ipci165_connect_irq\n"); + + /* install interrupt routine */ + if (request_irq(candev->sysdevptr.pcidev->irq, + ipci165_irq_handler, + SA_SHIRQ, + DEVICE_NAME, + candev)) + return -ENODEV; + + // Enable interrupt to PC + writeb(readb(crm_addr + CRM_ICR) | 0x40, crm_addr + CRM_ICR); + udelay (100); + icr = readb(crm_addr + CRM_ICR); + return 0; +} + +/** + * ipci165_disconnect_irq - Disable irq on HW + * @candev: Pointer to candevice/board structure + * + * Return Value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +void ipci165_disconnect_irq(struct candevice_t *candev) +{ + unsigned long crm_addr = candev->io_addr; + unsigned char icr; + DEBUGMSG ("ipci165_disconnect_irq\n"); + + // Enable interrupt to PC + writeb(readb(crm_addr + CRM_ICR) & ~0x40, crm_addr + CRM_ICR); + udelay (100); + icr = readb(crm_addr + CRM_ICR); + /* deinstall interrupt routine */ + free_irq(candev->sysdevptr.pcidev->irq, candev); +} + +/* * * CAN Functionality * * */ + +/** + * ipci165_chip_config - Can chip configuration + * @chip: pointer to chip state structure + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_chip_config(struct canchip_t *chip) +{ + struct ipci165_chip_t *chip_data = chip->chip_data; + char data[3]; + int ret, size; + + DEBUGMSG ("ipci165_chip_config[%i]\n",chip->chip_idx); + + /* comupte the base address of tx and rx queue for the channel */ + chip_data->tx_queue.addr = chip->chip_base_addr + OF_CH1_TX_QUEUE + + chip->chip_idx * (OF_CH2_TX_QUEUE-OF_CH1_TX_QUEUE); + chip_data->rx_queue.addr = chip->chip_base_addr + OF_CH1_RX_QUEUE + + chip->chip_idx * (OF_CH2_RX_QUEUE-OF_CH1_RX_QUEUE); + + /* reset CAN */ + data[0] = chip->chip_idx; + + size = 1; + if (bci_command(chip->hostdevice, CMD_RESET_CAN, 1, data) || + bci_response(chip->hostdevice, CMD_RESET_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("CAN reset failed!\n"); + return -ENODEV; + } + + /* configure rx queue */ + data[0] = chip->chip_idx; + data[1] = BCI_LATENCY_MODE; + data[2] = 0; /* dummy */ + + size = 1; + if (bci_command(chip->hostdevice, CMD_CONFIG_RX_QUEUE, 3, data) || + bci_response(chip->hostdevice, CMD_CONFIG_RX_QUEUE, &size, data) || + (data[0] == 0)) + { + CANMSG ("config RX queue failed!\n"); + return -ENODEV; + } + /* setup baud rate */ + if (!chip->baudrate) chip->baudrate = 1000000; + if ((ret = ipci165_baud_rate(chip, chip->baudrate, chip->clock, 0, 0, 0))) return ret; + + /* start can communication */ + if ((ret = ipci165_start_chip(chip))) return ret; + + return 0; +} + +/** + * ipci165_baud_rate - Set communication parameters + * @chip: pointer to chip state structure + * @rate: baud rate in Hz + * @clock: not used + * @sjw: not used + * @sampl_pt: not used + * @flags: not used + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_baud_rate(struct canchip_t *chip, int rate, int clock, int sjw, + int sampl_pt, int flags) +{ + DEBUGMSG ("ipci165_baud_rate[%i]\n",chip->chip_idx); + + switch (rate) { + case 10000: return ipci165_set_btregs(chip, BCI_10KB); + case 20000: return ipci165_set_btregs(chip, BCI_20KB); + case 50000: return ipci165_set_btregs(chip, BCI_50KB); + case 100000: return ipci165_set_btregs(chip, BCI_100KB); + case 125000: return ipci165_set_btregs(chip, BCI_125KB); + case 250000: return ipci165_set_btregs(chip, BCI_250KB); + case 500000: return ipci165_set_btregs(chip, BCI_500KB); + case 1000000:return ipci165_set_btregs(chip, BCI_1000KB); + default: return -EINVAL; + } + + return 0; +} + +/** + * ipci165_set_btregs - Configure bitrate registers + * @chip: pointer to chip state structure + * @btr0: bitrate register 0 + * @btr1: bitrate register 1 + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_set_btregs(struct canchip_t *chip, unsigned short btr0, + unsigned short btr1) +{ + unsigned char data[3]; + int size; + + DEBUGMSG ("ipci165_set_btregs[%i]: btr0=%02x, btr1=%02x\n",chip->chip_idx, + (unsigned)btr0,(unsigned)btr1); + + /* configure the chip */ + data[0] = chip->chip_idx; + data[1] = btr0; + data[2] = btr1; + + size = 1; + if (bci_command(chip->hostdevice, CMD_INIT_CAN, 3, data) || + bci_response(chip->hostdevice, CMD_INIT_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("baud rate setup failed!\n"); + return -ENODEV; + } + return 0; +} + +/** + * ipci165_stop_chip - Start chip message processing + * @chip: pointer to chip state structure + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_start_chip(struct canchip_t *chip) +{ + char data[1]; + int size; + + DEBUGMSG ("ipci165_start_chip[%i]\n",chip->chip_idx); + + /* start CAN */ + data[0] = chip->chip_idx; + + size = 1; + if (bci_command(chip->hostdevice, CMD_START_CAN, 1, data) || + bci_response(chip->hostdevice, CMD_START_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("start chip failed!\n"); + return -ENODEV; + } + return 0; +} + +/** + * ipci165_stop_chip - Stop chip message processing + * @chip: pointer to chip state structure + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_stop_chip(struct canchip_t *chip) +{ + char data[1]; + int size; + + DEBUGMSG ("ipci165_stop_chip[%i]\n",chip->chip_idx); + + /* configure the chip */ + data[0] = chip->chip_idx; + + size = 1; + if (bci_command(chip->hostdevice, CMD_STOP_CAN, 1, data) || + bci_response(chip->hostdevice, CMD_STOP_CAN, &size, data) || + (data[0] == 0)) + { + CANMSG ("stop chip failed!\n"); + return -ENODEV; + } + return 0; +} + +/** + * ipci165_pre_read_config - Prepare message object for message reception + * @chip: pointer to chip state structure + * @obj: pointer to message object state structure + * + * Return Value: negative value reports error. + * Positive value indicates immediate reception of message. + * File: src/ipci165.c + */ +int ipci165_pre_read_config(struct canchip_t *chip, struct msgobj_t *obj) +{ + return 0; +} + +/** + * ipci165_pre_write_config - Prepare message object for message transmission + * @chip: pointer to chip state structure + * @obj: pointer to message object state structure + * @msg: pointer to CAN message + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_pre_write_config(struct canchip_t *chip, struct msgobj_t *obj, + struct canmsg_t *msg) +{ + return 0; +} + +/** + * ipci165_send_msg - Initiate message transmission + * @chip: pointer to chip state structure + * @obj: pointer to message object state structure + * @msg: pointer to CAN message + * + * This function is called after ipci165_pre_write_config() function, + * which prepares data in chip buffer. + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_send_msg(struct canchip_t *chip, struct msgobj_t *obj, + struct canmsg_t *msg) +{ + return 0; +} + +/** + * ipci165_check_tx_stat - Checks state of transmission engine + * @chip: pointer to chip state structure + * + * Return Value: negative value reports error. + * Positive return value indicates transmission under way status. + * Zero value indicates finishing of all issued transmission requests. + * File: src/ipci165.c + */ +int ipci165_check_tx_stat(struct canchip_t *chip) +{ + return 0; +} + +/** + * ipci165_irq_read_handler - ISR code responsible for receiving + * @chip: pointer to chip state structure + * @obj: pointer to attached queue description + * + * The main purpose of this function is to read message from CAN controller and + * transfer them to attached queues + * File: src/ipci165.c + */ +void ipci165_irq_read_handler(struct canchip_t *chip, struct msgobj_t *obj) +{ + struct ipci165_chip_t *chip_data = (struct ipci165_chip_t *)chip->chip_data; + struct bci_queue_t *queue = &(chip_data)->rx_queue; + unsigned long queue_addr = queue->addr; + unsigned long msg_addr = queue_addr + queue->idx * BCI_MSG_SIZE; + + int len; + unsigned char frame_info; + unsigned status; + unsigned short tmp16; + unsigned long tmp32; + + DEBUGMSG ("ipci165_irq_read_handler[%i]\n",chip->chip_idx); + + do { + dump_mem(msg_addr, BCI_MSG_SIZE); + if (readb(msg_addr + BCI_MSG_TYPE) == BCI_MSG_TYPE_CAN) + { +#if 0 + printk("ST(0)=%x, ST(1)=%x\n",readw(chip->chip_base_addr+OF_CAN1_STATUS), + readw(chip->chip_base_addr+OF_CAN2_STATUS)); + for (tmp16 = 0 ; tmp16 < BCI_QUEUE_SIZE ; tmp16 ++) + printk ("MSG_ST(%i)=%x\n",tmp16,readb(chip->chip_base_addr + OF_CH2_TX_QUEUE + tmp16*BCI_MSG_SIZE + BCI_MSG_STATUS)); + /* this is a can message */ + DEBUGMSG ("ipci165_irq_read_handler[%i]: message in buffer\n",chip->chip_idx); +#endif + + frame_info = readb(msg_addr + BCI_MSG_FRAME); + len = frame_info & 0x0f; + if(len > CAN_MSG_LENGTH) len = CAN_MSG_LENGTH; + obj->rx_msg.length = len; + obj->rx_msg.flags = (frame_info & BCI_MSG_FRAME_RTR ? MSG_RTR : 0); + obj->rx_msg.cob = 0; + obj->rx_msg.timestamp.tv_sec = 0; + obj->rx_msg.timestamp.tv_usec = + BCI_TIMESTAMP_RES * readl(msg_addr + BCI_MSG_TIMESTAMP); + /* BCI_TIMESTAMP_RES * le32_to_cpu(readl(msg_addr + BCI_MSG_TIMESTAMP)); */ + + /* fill CAN message timestamp */ + /* can_filltimestamp(&obj->rx_msg.timestamp); */ + + if (frame_info & BCI_MSG_FRAME_EXT) + { + /* extended frame - 29 bit identifier */ + obj->rx_msg.flags |= MSG_EXT; + /* the ID is stored in motorola format (big endian), left justified */ + /* obj->rx_msg.id = be32_to_cpu(readl(msg_addr + BCI_MSG_ID) >> 3); */ + memcpy_fromio(&tmp32, msg_addr + BCI_MSG_ID, 4); + obj->rx_msg.id = be32_to_cpu(tmp32 >> 3); + if (len > 0) + memcpy_fromio(obj->rx_msg.data, msg_addr + BCI_MSG_EXT_DATA, len); + } else + { + /* standard frame - 11 bit identifier */ + /* the ID is stored in motorola format (big endian), left justified */ + /* obj->rx_msg.id = be16_to_cpu(readw(msg_addr + BCI_MSG_ID) >> 5); */ + memcpy_fromio(&tmp16, msg_addr + BCI_MSG_ID, 2); + obj->rx_msg.id = be16_to_cpu(tmp16 >> 5); + if (len > 0) + memcpy_fromio(obj->rx_msg.data, msg_addr + BCI_MSG_STD_DATA, len); + } + canque_filter_msg2edges(obj->qends, &obj->rx_msg); + } + else + { + /* this is a status message */ + status = readw(msg_addr + BCI_MSG_CAN_STATUS); + DEBUGMSG ("ipci165_irq_read_handler[%i]: CAN status=%04x\n",chip->chip_idx, status); + + /* wake up the reset thread if the CAN is in bus off */ + if (status & BCI_CAN_STATUS_BUS_OFF) + { + CANMSG ("BUS-OFF detected! Restarting\n"); + set_bit(CHIP_FLAG_BUS_OFF,&chip_data->flags); + wake_up(&chip_data->kthread.queue); + } + + if(obj->tx_slot) + { + canque_notify_inends(obj->tx_qedge, CANQUEUE_NOTIFY_ERRTX_BUS); + } + + } + DEBUGMSG ("ipci165_irq_read_handler[%i]: device status\n", chip->chip_idx); + dump_mem(chip->chip_base_addr + OF_STATUS_BUFFER, 12); + + /* update pointer */ + queue->idx = (queue->idx + 1) % BCI_QUEUE_SIZE; + /* release the buffer */ + writeb(BCI_MSG_STATUS_FREE, msg_addr + BCI_MSG_STATUS); + msg_addr = queue_addr + queue->idx * BCI_MSG_SIZE; + + } while (readb(msg_addr + BCI_MSG_STATUS) == BCI_MSG_STATUS_FULL); + +} + +/** + * ipci165_irq_write_handler - ISR code responsible for transmitting + * @chip: pointer to chip state structure + * @obj: pointer to attached queue description + * + * The main purpose of this function is to read message from attached queues + * and transfer message contents into CAN controller chip. + * File: src/ipci165.c + */ +void ipci165_irq_write_handler(struct canchip_t *chip, struct msgobj_t *obj) +{ + struct ipci165_chip_t *chip_data = ((struct ipci165_chip_t *)chip->chip_data); + struct bci_queue_t *queue = &chip_data->tx_queue; + unsigned long queue_addr = queue->addr; + unsigned long msg_addr = queue_addr + queue->idx * BCI_MSG_SIZE; + struct canque_slot_t *tx_slot; + + int len; + unsigned char frame_info, ext; + unsigned short tmp16; + unsigned long tmp32; + + DEBUGMSG ("ipci165_irq_write_handler[%i]\n",chip->chip_idx); + + while ((canque_test_outslot(obj->qends, &obj->tx_qedge, &obj->tx_slot) >=0)) + { + if (test_bit(CHIP_FLAG_RESET,&chip_data->flags) || + (readb(msg_addr + BCI_MSG_STATUS) == BCI_MSG_STATUS_FULL)) + { + canque_again_outslot(obj->qends, obj->tx_qedge, obj->tx_slot); + + /* lost interrupt work around */ + ipci165_generate_irq(obj->hostchip->hostdevice); + + mod_timer(&obj->tx_timeout, jiffies + ipci165_qfull_latency(obj)); + DEBUGMSG("ipci165_irq_write_handler[%i]: scheduled retry\n", chip->chip_idx); + + return; + } + + tx_slot = obj->tx_slot; + DEBUGMSG ("msg[%i] : id=%lx dlc=%x flg=%02x\n", + chip->chip_idx, + (unsigned long)tx_slot->msg.id, + (unsigned int)tx_slot->msg.length, + (unsigned int)tx_slot->msg.flags); + dump_mem(tx_slot->msg.data, tx_slot->msg.length); + + len = tx_slot->msg.length; + if(len > CAN_MSG_LENGTH) len = CAN_MSG_LENGTH; + + ext = tx_slot->msg.flags; + frame_info = + len | + ((tx_slot->msg.flags & MSG_RTR) ? BCI_MSG_FRAME_RTR : 0) | + ((tx_slot->msg.flags & MSG_EXT) ? BCI_MSG_FRAME_EXT : 0); + + writeb(BCI_MSG_SIZE - 2, msg_addr + BCI_MSG_NUM); + writeb(BCI_MSG_TYPE_CAN, msg_addr + BCI_MSG_TYPE); + writeb(frame_info, msg_addr + BCI_MSG_FRAME); + if (frame_info & BCI_MSG_FRAME_EXT) + { + /* extended frame - 29 bit identifier */ + /* the ID is stored in motorola format (big endian), left justified */ + tmp32 = be32_to_cpu(tx_slot->msg.id) << 3; + memcpy_toio(msg_addr + BCI_MSG_ID, &tmp32, 4); + if (len > 0) + memcpy_toio(msg_addr + BCI_MSG_EXT_DATA, tx_slot->msg.data, len); + } else + { + /* standard frame - 11 bit identifier */ + /* the ID is stored in motorola format (big endian), left justified */ + tmp16 = be16_to_cpu(tx_slot->msg.id) << 5; + memcpy_toio(msg_addr + BCI_MSG_ID, &tmp16, 2); + if (len > 0) + memcpy_toio(msg_addr + BCI_MSG_STD_DATA, tx_slot->msg.data, len); + } + + dump_mem(msg_addr, BCI_MSG_SIZE); + + /* update pointer */ + queue->idx = (queue->idx + 1) % BCI_QUEUE_SIZE; + /* mark the buffer as full */ + writeb(BCI_MSG_STATUS_FULL, msg_addr + BCI_MSG_STATUS); + /* wake up the controller */ + ipci165_generate_irq(chip->hostdevice); + + /* next message address */ + msg_addr = queue_addr + queue->idx * BCI_MSG_SIZE; + + /* Do local transmitted message distribution if enabled. */ + /* This code should not be called directly there, because it breaks strict + behavior of queues if O_SYNC is set. */ + if (processlocal){ + obj->tx_slot->msg.flags |= MSG_LOCAL; + canque_filter_msg2edges(obj->qends, &obj->tx_slot->msg); + } + /* Free transmitted slot */ + canque_free_outslot(obj->qends, obj->tx_qedge, obj->tx_slot); + obj->tx_slot = NULL; + } + return; +} + +/** + * ipci165_irq_sync_activities - Synchronized access to write handler + * @chip: pointer to chip state structure + * @obj: pointer to attached queue description + * + * Return Value: The function always returns zero + * File: src/ipci165.c + */ +void ipci165_irq_sync_activities(struct canchip_t *chip, struct msgobj_t *obj) +{ + while(!can_msgobj_test_and_set_fl(obj,TX_LOCK)) + { + if(can_msgobj_test_and_clear_fl(obj,TX_REQUEST)) + { + ipci165_irq_write_handler(chip, obj); + } + + can_msgobj_clear_fl(obj,TX_LOCK); + if(can_msgobj_test_fl(obj,TX_REQUEST)) + continue; +/* if(can_msgobj_test_fl(obj,FILTCH_REQUEST) && !obj->tx_slot) + continue; */ + break; + } +} + +/** + * ipci165_irq_chip_handler - ISR for dedicated chip + * @chip: pointer to chip state structure + * + * The main purpose of this function is to perform all necessary channel + * operations as a reaction on signalled interrupt. + * File: src/ipci165.c + */ +void ipci165_irq_chip_handler(struct canchip_t *chip) +{ + struct msgobj_t *obj = chip->msgobj[0]; + struct ipci165_chip_t *chip_data = chip->chip_data; + struct bci_queue_t *queue; + + DEBUGMSG ("ipci165_irq_chip_handler[%i]\n",chip->chip_idx); + + /* check receive queue for messages */ + queue = &chip_data->rx_queue; + if (readb(queue->addr + queue->idx * BCI_MSG_SIZE + BCI_MSG_STATUS) + == BCI_MSG_STATUS_FULL) + ipci165_irq_read_handler(chip, obj); + + queue = &chip_data->tx_queue; +/* if (readb(queue->addr + queue->idx * BCI_MSG_SIZE + BCI_MSG_STATUS) + == BCI_MSG_STATUS_FREE) */ + { + can_msgobj_set_fl(obj,TX_REQUEST); + + /* calls unican_irq_write_handler synchronized with other invocations */ + ipci165_irq_sync_activities(chip, obj); + } + +} + +#define MAX_RETR 10 + +/** + * ipci165_irq_handler - Interrupt service routine + * @irq: interrupt vector number, this value is system specific + * @dev_id: driver private pointer registered at time of request_irq() call. + * The CAN driver uses this pointer to store relationship of interrupt + * to chip state structure - @struct canchip_t + * @regs: system dependent value pointing to registers stored in exception frame + * + * The interrupt handler is activated when the ipci165 controller generates + * an interrupt as a reaction an internal state change. The interrupt is + * acknowledged and ipci165_irq_chip_handler is called for every channel. + * File: src/ipci165.c + */ +can_irqreturn_t ipci165_irq_handler(int irq, void *dev_id, struct pt_regs *regs) +{ + int retval; + struct candevice_t *candev = (struct candevice_t *)dev_id; + + unsigned long crm_addr = candev->io_addr; + unsigned long ucr1_addr = crm_addr + CRM_UCR + 1; + struct canchip_t *chip; + unsigned char icr; + int i; + + /* DEBUGMSG ("ipci165_irq_handler\n"); */ + + /* read interrupt control register (byte 0) */ + icr = readb(crm_addr + CRM_ICR); + + if ((icr & 0x44) == 0x44) + { + DEBUGMSG ("ipci165_irq_handler: pending interrupt\n"); + + /* confirm pending interrupt */ + writeb(readb(ucr1_addr) | 0x01, ucr1_addr); + writeb(readb(ucr1_addr) & ~0x01, ucr1_addr); + + /* call interrupt handler for every channel */ + for (i=0 ; i < candev->nr_all_chips ; i++) + { + chip = candev->chip[i]; + if (chip->flags & CHIP_CONFIGURED) + ipci165_irq_chip_handler(candev->chip[i]); + } + DEBUGMSG ("ipci165_irq_handler: interrupt handled\n"); + + retval = CANCHIP_IRQ_HANDLED; + } else { + DEBUGMSG ("ipci165_irq_handler: not our interrupt\n"); + retval = CANCHIP_IRQ_NONE; + } + + return CAN_IRQ_RETVAL(retval); +} + +/** + * ipci165_wakeup_tx - Wakeup TX processing + * @chip: pointer to chip state structure + * @obj: pointer to message object structure + * + * Function is responsible for initiating message transmition. + * It is responsible for clearing of object TX_REQUEST flag + * + * Return Value: negative value reports error. + * File: src/ipci165.c + */ +int ipci165_wakeup_tx(struct canchip_t *chip, struct msgobj_t *obj) +{ + DEBUGMSG ("ipci165_wakeup_tx\n"); + can_preempt_disable(); + + can_msgobj_set_fl(obj,TX_REQUEST); + + /* calls ipci165_irq_write_handler synchronized with other invocations + from kernel and IRQ context */ + ipci165_irq_sync_activities(chip, obj); + + can_preempt_enable(); + DEBUGMSG ("ipci165_wakeup_tx: finished\n"); + + return 0; +} + +void ipci165_do_tx_timeout(unsigned long data) +{ + struct msgobj_t *obj=(struct msgobj_t *)data; + + DEBUGMSG ("ipci165_do_tx_timeout\n"); + + can_preempt_disable(); + + can_msgobj_set_fl(obj,TX_REQUEST); + + /* calls ipci165_irq_write_handler synchronized with other invocations + from kernel and IRQ context */ + ipci165_irq_sync_activities(obj->hostchip, obj); + + can_preempt_enable(); + DEBUGMSG ("ipci165_do_tx_timeout: finished\n"); +} + +/* * * iPC-I 165/PCI Board Functionality * * */ + +/** + * ipci165_request_io - Reserve io or memory range for can board + * @candev: pointer to candevice/board which asks for io. Field @io_addr + * of @candev is used in most cases to define start of the range + * + * Return Value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +int ipci165_request_io(struct candevice_t *candev) +{ + unsigned long dpram_addr; + unsigned long crm_addr; + unsigned long fix_addr; + int i,j; + + DEBUGMSG ("ipci165_request_io\n"); + + crm_addr = pci_resource_start(candev->sysdevptr.pcidev,0); + dpram_addr = pci_resource_start(candev->sysdevptr.pcidev,2); + + DEBUGMSG ("ipci165_request_io: crm = 0x%lx, dpram = 0x%lx\n",crm_addr, dpram_addr); + + /* verify, if our HW is buggy, and try to fix it */ +#if 0 + if (test_bit (7, &crm_addr)) + { + CANMSG ("Wrong PCI base address [0x%lx](PLX PCI9050 bug)!\n", dpram_addr); + + fix_addr = pci_resource_start(candev->sysdevptr.pcidev,3); + + if (fix_addr == 0) + { + CANMSG ("This card was not fixed!\n"); + + if (candev->io_addr == 0) + { + CANMSG ("You have to specify IO address parameter!\n"); + return -EINVAL; + } + CANMSG ("Using specified IO address value for the memory [0x%lx]\n", + candev->io_addr); + } + else + { + CANMSG ("Fixed card. Using of 3 region [0x%lx]\n", fix_addr); + candev->io_addr = fix_addr; + } + + pci_write_config_dword (candev->sysdevptr.pcidev, + PCI_BASE_ADDRESS_0, fix_addr); + } +#endif + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21)) + if(pci_request_region(candev->sysdevptr.pcidev, 2, "kv_ipci165_dpram") == 0) + { + if(pci_request_region(candev->sysdevptr.pcidev, 0, "kv_ipci165_reg") == 0) + { +#else /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + if(pci_request_regions(candev->sysdevptr.pcidev, "kv_ipci165") == 0) + { +#endif /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + + if ((candev->dev_base_addr = (long) ioremap(dpram_addr, + pci_resource_len(candev->sysdevptr.pcidev,2)))) + { + DEBUGMSG ("ipci165_request_io: dpram remapped to 0x%lx\n", candev->dev_base_addr); + + if ((candev->io_addr = (long) ioremap(crm_addr, + pci_resource_len(candev->sysdevptr.pcidev,0)))) + { + DEBUGMSG ("ipci165_request_io: crm remapped to 0x%lx\n", candev->io_addr); + /* all resources has been allocated */ + candev->res_addr=candev->io_addr; + + /* Because of my mapping, I cannot use the + can_base_addr_fixup(candev, remap_addr) to remap the addresses */ + for(i=0;inr_all_chips;i++) + { + candev->chip[i]->chip_base_addr = candev->dev_base_addr; + for(j=0;jchip[i]->max_objects;j++) + candev->chip[i]->msgobj[j]->obj_base_addr = candev->dev_base_addr; + } + + return 0; + + } else CANMSG("Unable to remap memory at: 0x%lx\n", crm_addr); + iounmap((void*)candev->io_addr); + + } else CANMSG("Unable to remap memory at: 0x%lx\n", dpram_addr); + iounmap((void*)candev->dev_base_addr); + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21)) + pci_release_region(candev->sysdevptr.pcidev, 0); + } else CANMSG("Request of kv_ipci165_reg range failed\n"); + + pci_release_region(candev->sysdevptr.pcidev, 2); + } else CANMSG("Request of kv_ipci165_dpram range failed\n"); + +#else /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + pci_release_regions(candev->sysdevptr.pcidev); + } else CANMSG("Request of kv_ipci165 regions failed\n"); +#endif /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + + return -ENODEV; +} + +/** + * ipci165_release_io - Free reserved io memory range + * @candev: pointer to candevice/board which releases io + * + * Return Value: The function always returns zero + * File: src/ipci165.c + */ +int ipci165_release_io(struct candevice_t *candev) +{ + struct ipci165_chip_t *chip_data; + int i; + + /* disable irq on HW */ + ipci165_disconnect_irq(candev); + +#if 0 + /* terminate the kernel threads */ + for (i = 0 ; i < candev->nr_all_chips ; i++) + { + chip_data = (struct ipci165_chip_t *)candev->chip[i]->chip_data; + stop_kthread(&chip_data->restart_thread); + } +#endif + + iounmap((void*)candev->io_addr); + iounmap((void*)candev->dev_base_addr); + +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21)) + pci_release_region(candev->sysdevptr.pcidev, 2); + pci_release_region(candev->sysdevptr.pcidev, 0); +#else /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + pci_release_regions(candev->sysdevptr.pcidev); +#endif /*(LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21))*/ + + return 0; +} + +/** + * ipci165_download_fw - Download FW into CAN hardware + * @candev: Pointer to candevice/board structure + * + * Return Value: returns zero on success + * File: src/ipci165.c + */ +int ipci165_download_fw(struct candevice_t *candev) +{ + unsigned long dpram_addr = candev->dev_base_addr; + char board_name[BOARD_NAME_LEN+1]; + char hw_version[HW_VERSION_LEN+1]; + char mode[MODE_LEN+1]; + + struct ipci165_fw_t *fwArray = ipci165_fw; + int attempt; + + DEBUGMSG ("ipci165_download_fw\n"); + + /* read name and version */ + memcpy_fromio (board_name, dpram_addr + BOARD_NAME_OFS, BOARD_NAME_LEN); + board_name[BOARD_NAME_LEN] = 0; + + memcpy_fromio (hw_version, dpram_addr + HW_VERSION_OFS, HW_VERSION_LEN); + hw_version[HW_VERSION_LEN] = 0; + + CANMSG ("Board Name: %s\n", board_name); + CANMSG ("HW Version: %s\n", hw_version); + +/* + if ((hw_version[0] != 'V') && (hw_version[0] != 'v')) +{ + CANMSG ("This board is too old and not supported by the BCI !\n"); + return -ENODEV; +} +*/ + + /* detect & test mode */ + memcpy_fromio (mode, dpram_addr + MODE_OFS, MODE_LEN); + mode[MODE_LEN] = 0; + + if (strncmp (mode, "PC-Loader V", 11)) + { + CANMSG ("Unknown mode [%s], can't download firmware!\n",mode); + return -ENODEV; + } + + while (fwArray->len) + { + /* fill buffer */ + writeb(LD_CMD_DOWNLOAD, dpram_addr + OF_LD_CMD); + writeb(fwArray->len, dpram_addr + OF_LD_NUM); + writeb(0, dpram_addr + OF_LD_NUM + 1); + + writel(fwArray->addr, dpram_addr + OF_LD_ADDRESS); + /* writel already performes the cpu_to_le32 conversion by itself */ + /* writel(cpu_to_le32(fwArray->addr), dpram_addr + OF_LD_ADDRESS); */ + + memcpy_toio(dpram_addr + OF_LD_DATA, fwArray->a_data, fwArray->len); + +#if 0 + dump_mem((void *)(dpram_addr + OF_LD_SYNC), fwArray->len + 8); +#endif + /* buffer is prepared, set flag for loader */ + writeb(1, dpram_addr + OF_LD_SYNC); + + /* update pointer */ + fwArray++; + + /* wait for the loader */ + attempt = 1000; + while (readb(dpram_addr + OF_LD_SYNC) != 0) + { + udelay(100); + if (--attempt == 0) + { + /* timeout occured */ + CANMSG ("Firmware download failed!\n"); + return -ENODEV; + } + } + } + CANMSG ("Firmware downladed successfully\n"); + + /* start the FW */ + writeb(LD_CMD_START_FW, dpram_addr + OF_LD_CMD); + writeb(1, dpram_addr + OF_LD_SYNC); + ipci165_delay (500); + + return 0; +} + +/** + * ipci165_reset - Hardware reset routine + * @candev: Pointer to candevice/board structure + * + * Return Value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +int ipci165_reset(struct candevice_t *candev) +{ + unsigned long crm_addr = candev->io_addr; + unsigned long test_data; + char buffer[BCI_CMD_MAX_LEN]; + int i, size, chips; + unsigned char ucr; + struct canchip_t *chip; + struct ipci165_chip_t *chip_data; + + DEBUGMSG ("ipci165_reset: hardware reset\n"); + + /* reset the HW */ + ucr = readb(crm_addr + CRM_UCR + 3); + writeb(ucr | 0x40, crm_addr + CRM_UCR + 3); + udelay(100); + writeb(ucr & ~0x40, crm_addr + CRM_UCR + 3); + + /* wait a little bit */ + ipci165_delay(200); + + /* download FW */ + if (ipci165_download_fw(candev)) return -ENODEV; + + /* enable irq on HW */ + if (ipci165_connect_irq(candev)) + { + CANMSG ("Interrupt routine installation for IRQ %i failed!\n", + candev->sysdevptr.pcidev->irq); + return -ENODEV; + } + + /* test BCI interface */ + test_data = 0x12345678; + size = sizeof(test_data); + if (bci_command(candev, CMD_TEST, size, (char *)&test_data) || + bci_response(candev, CMD_TEST, &size, (char *)&test_data) || + (test_data != ~0x12345678)) + { + CANMSG ("BCI test failed! Test pattern is %lx\n", test_data); + return -ENODEV; + } + + /* get Firmware identification */ + /* send command, fw requests 1 dummy byte */ + size = BCI_CMD_MAX_LEN; + if (bci_command(candev, CMD_ID, 1, (char *)&test_data) || + bci_response(candev, CMD_ID, &size, buffer)) + { + CANMSG ("Firmware Identification reading failed!\n"); + return -ENODEV; + } + CANMSG ("Firmware: %s\n",buffer); + + /* get Firmware version */ + /* send command, fw requests 1 dummy byte */ + size = BCI_CMD_MAX_LEN; + if (bci_command(candev, CMD_VERSION, 1, (char *)&test_data) || + bci_response(candev, CMD_VERSION, &size, buffer)) + { + CANMSG ("Firmware Version reading failed!\n"); + return -ENODEV; + } + CANMSG ("Version: %s\n",buffer); + + /* get Board Info */ + /* send command, fw requests 1 dummy byte */ + size = BOARD_INFO_SIZE; + if (bci_command(candev, CMD_GET_BOARD_INFO, 1, (char *)&test_data) || + bci_response(candev, CMD_GET_BOARD_INFO, &size, (char *) buffer)) + { + CANMSG ("Get Board Info failed!\n"); + return -ENODEV; + } + + chips = le16_to_cpu(*(unsigned short*)(buffer+OF_BOARD_INFO_CHIPS)); + /* shouldn't be, but who knows ... */ + if (chips > 2) chips = 2; + + CANMSG ("Chips: %i\n",chips); + CANMSG ("Chip 1 Type: %s\n",buffer+OF_BOARD_INFO_CHIP1_TYPE); + + /* update board info */ + if (chips == 1) + { + /* we have to correct the number in candev and release allocated + structures */ + candev->nr_all_chips = chips; + canchip_done(candev->chip[1]); + + } else CANMSG ("Chip 2 Type: %s\n",buffer+OF_BOARD_INFO_CHIP2_TYPE); + + /* start kernel threads */ + for (i = 0 ; i < chips ; i++) + { + chip = candev->chip[i]; + chip_data = (struct ipci165_chip_t *)chip->chip_data; + chip_data->kthread.arg = chip; + start_kthread(ipci165_kthread, &chip_data->kthread); + } + + CANMSG ("HW is up and working.\n"); + return 0; +} + +/** + * ipci165_init_hw_data - Initialize hardware cards + * @candev: Pointer to candevice/board structure + * + * Return Value: The function always returns zero + * File: src/ipci165.c + */ +int ipci165_init_hw_data(struct candevice_t *candev) +{ + struct pci_dev *pcidev = NULL; + unsigned short SubsystemID; + + DEBUGMSG ("ipci165_init_hw_data\n"); + + /* find iPC-I 165 on PCI bus */ + do + { + pcidev = pci_find_device(IPCI165_VENDOR_ID, IPCI165_DEVICE_ID, pcidev); + if(pcidev == NULL) return -ENODEV; + + /* check subvendor ID */ + pci_read_config_word (pcidev, PCI_SUBSYSTEM_ID, &SubsystemID); + if ((SubsystemID != IPCI165_SUBSYSTEM_ID) && + (SubsystemID != CP350_SUBSYSTEM_ID)) + break; + } + while(can_check_dev_taken(pcidev)); + + /* enable it */ + if (pci_enable_device (pcidev)) + { + CANMSG ("Cannot enable PCI device\n"); + return -EIO; + } + + candev->sysdevptr.pcidev = pcidev; + candev->res_addr=0; + candev->nr_82527_chips=0; + candev->nr_sja1000_chips=0; + /* we do not know yet, whether our HW has one or two chan chips. Let's + prepare configuration for maximal configuration = 2. This will be + corrected later on */ + candev->nr_all_chips=2; + candev->flags |= CANDEV_PROGRAMMABLE_IRQ*0; + /* initialize device spinlock */ + can_spin_lock_init(candev->device_lock); + + return 0; +} + +#define CHIP_TYPE "ipci165" + +/** + * ipci165_init_chip_data - Initialize chips + * @candev: Pointer to candevice/board structure) + * @chipnr: Number of the CAN chip on the hardware card + * + * Return Value: The function always returns zero + * File: src/ipci165.c + */ +int ipci165_init_chip_data(struct candevice_t *candev, int chipnr) +{ + struct canchip_t *chip = candev->chip[chipnr]; + struct ipci165_chip_t *chip_data; + + DEBUGMSG ("ipci165_init_chip_data\n"); + + chip->chip_type = CHIP_TYPE; + chip->chip_base_addr = 0; /* mapping not known yet */ + chip->clock = 10000000; + chip->int_clk_reg = 0x0; + chip->int_bus_reg = 0x0; + chip->max_objects = 1; + +#if 0 + /* initialize interrupt handling only for channel 0. The interrupt + is shared between the channels so we have to work it out in one + interrupt routine. */ + if (chipnr == 0) + { + chip->chipspecops->irq_handler=ipci165_irq_handler; + chip->chip_irq=candev->sysdevptr.pcidev->irq; + chip->flags |= CHIP_IRQ_PCI; + } else + { + chip->chipspecops->irq_handler=NULL; + } +#else + chip->chipspecops->irq_handler = NULL; + chip->chip_irq = 0; + chip->flags |= CHIP_IRQ_CUSTOM; +#endif + + chip_data = can_checked_malloc(sizeof(struct ipci165_chip_t)); + if(!chip_data) return -ENOMEM; + chip_data->rx_queue.idx = 0; + chip_data->rx_queue.addr = 0; + chip_data->tx_queue.idx = 0; + chip_data->tx_queue.addr = 0; + chip->chip_data = chip_data; + + CANMSG("initializing ipci165 chip operations\n"); + chip->chipspecops->chip_config=ipci165_chip_config; + chip->chipspecops->baud_rate=ipci165_baud_rate; + chip->chipspecops->set_btregs=ipci165_set_btregs; + chip->chipspecops->start_chip=ipci165_start_chip; + chip->chipspecops->stop_chip=ipci165_stop_chip; + chip->chipspecops->pre_read_config=ipci165_pre_read_config; + chip->chipspecops->wakeup_tx=ipci165_wakeup_tx; + chip->chipspecops->filtch_rq=NULL; + chip->chipspecops->irq_accept=NULL; + + chip->chipspecops->standard_mask=NULL; + chip->chipspecops->extended_mask=NULL; + chip->chipspecops->message15_mask=NULL; + chip->chipspecops->clear_objects=NULL; + chip->chipspecops->config_irqs=NULL; + chip->chipspecops->pre_write_config=NULL; + chip->chipspecops->send_msg=NULL; + chip->chipspecops->check_tx_stat=NULL; + chip->chipspecops->remote_request=NULL; + chip->chipspecops->enable_configuration=NULL; + chip->chipspecops->disable_configuration=NULL; + + return 0; +} + +/** + * ipci165_init_obj_data - Initialize message buffers + * @chip: Pointer to chip specific structure + * @objnr: Number of the message buffer + * + * Return Value: The function always returns zero + * File: src/ipci165.c + */ +int ipci165_init_obj_data(struct canchip_t *chip, int objnr) +{ + struct msgobj_t *obj=chip->msgobj[objnr]; + + DEBUGMSG ("ipci165_init_obj_data\n"); + + obj->obj_base_addr = 0; /* not known yet */ + obj->tx_timeout.function = ipci165_do_tx_timeout; + obj->tx_timeout.data = (unsigned long)obj; + return 0; +} + +/** + * ipci165_program_irq - Program interrupts + * @candev: Pointer to candevice/board structure + * + * Return value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +int ipci165_program_irq(struct candevice_t *candev) +{ + return 0; +} + +/** + * ipci165_register - Register Board Support Functions + * @candev: Pointer to hardware/board specific functions + * + * Return value: The function returns zero on success or %-ENODEV on failure + * File: src/ipci165.c + */ +int ipci165_register(struct hwspecops_t *hwspecops) +{ + hwspecops->request_io = ipci165_request_io; + hwspecops->release_io = ipci165_release_io; + hwspecops->reset = ipci165_reset; + hwspecops->init_hw_data = ipci165_init_hw_data; + hwspecops->init_chip_data = ipci165_init_chip_data; + hwspecops->init_obj_data = ipci165_init_obj_data; + hwspecops->write_register = NULL; + hwspecops->read_register = NULL; + hwspecops->program_irq = ipci165_program_irq; + return 0; +} + +#ifdef CAN_DEBUG +void dump_mem(char *ptr, int size) +{ + int to, j; + unsigned char str[80], buf[16]; + char *strp; + + for (; size > 0; size -= 16) + { + to = size > 16 ? 16 : size; + memcpy (buf,ptr, to); + strp = str; + for (j = 0; j < to ; j++) + strp += sprintf(strp, "%02x ",buf[j]); + for (; j < 16 ; j++) + strp += sprintf(strp, " "); + for (j = 0; j < to ; j++) + *strp++= isprint(buf[j]) ? buf[j] : '.'; + + DEBUGMSG ("[%lx] %s\n", (long unsigned)ptr, str); + ptr += to; + } +} +#endif diff --git a/lincan/src/ipci165_fw.c b/lincan/src/ipci165_fw.c new file mode 100644 index 0000000..33377c2 --- /dev/null +++ b/lincan/src/ipci165_fw.c @@ -0,0 +1,5611 @@ + +/************************************************************************ +** BCI Firmware for IPCI165 ISA and PCI generated from the Intel HEX file +************************************************************************/ + + +#include "../include/ipci165_fw.h" + +struct ipci165_fw_t ipci165_fw[] = +{ + { + 0x10, 0x0000C02AUL, + { + 0x55, 0x4E, 0x4B, 0x4E, 0x4F, 0x57, 0x4E, 0x00, 0x53, 0x4A, 0x41, 0x31, + 0x30, 0x30, 0x30, 0x00} + } + , + { + 0x08, 0x000000AEUL, + { + 0x03, 0x04, 0x56, 0x34, 0x2E, 0x30, 0x33, 0x00} + } + , + { + 0x10, 0x00002B00UL, + { + 0x2A, 0x40, 0x00, 0x10, 0x42, 0x61, 0x73, 0x69, 0x63, 0x20, 0x43, 0x41, + 0x4E, 0x20, 0x69, 0x6E} + } + , + { + 0x10, 0x00002B10UL, + { + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x66, 0x69, 0x72, 0x6D, + 0x77, 0x61, 0x72, 0x65} + } + , + { + 0x0E, 0x00002B20UL, + { + 0x20, 0x66, 0x6F, 0x72, 0x20, 0x69, 0x50, 0x43, 0x2D, 0x49, 0x31, 0x36, + 0x35, 0x00} + } + , + { + 0x06, 0x00002B2EUL, + { + 0x02, 0x40, 0x2A, 0x10, 0x00, 0x00} + } + , + { + 0x10, 0x000016D4UL, + { + 0xF0, 0x48, 0x07, 0xF8, 0xF8, 0x00, 0x2D, 0x06, 0x09, 0x82, 0x3D, 0x07, + 0xE0, 0x08, 0xCA, 0x00} + } + , + { + 0x10, 0x000016E4UL, + { + 0x38, 0x23, 0x0D, 0x03, 0xE0, 0x78, 0xCA, 0x00, 0x38, 0x23, 0x9A, 0x04, + 0x0B, 0x00, 0x04, 0x8F} + } + , + { + 0x10, 0x000016F4UL, + { + 0x12, 0xFD, 0xF2, 0xF4, 0x12, 0xFD, 0x3D, 0x06, 0xCA, 0x00, 0xDC, 0x21, + 0xF2, 0xF4, 0x14, 0xFD} + } + , + { + 0x06, 0x00001704UL, + { + 0xF6, 0xF4, 0x12, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x0000170AUL, + { + 0xEC, 0xFE, 0xEC, 0xFF, 0xE6, 0xF8, 0x82, 0x10, 0xCA, 0x00, 0xAC, 0x1E, + 0xF0, 0x64, 0xF0, 0x75} + } + , + { + 0x10, 0x0000171AUL, + { + 0xF6, 0xF4, 0x7C, 0x10, 0xF6, 0xF5, 0x7E, 0x10, 0x70, 0x65, 0xEA, 0x20, + 0xFA, 0x1B, 0xF2, 0xFF} + } + , + { + 0x10, 0x0000172AUL, + { + 0x7E, 0x10, 0xF2, 0xFE, 0x7C, 0x10, 0xDC, 0x0F, 0xA9, 0x8E, 0x29, 0x82, + 0x2D, 0x35, 0x29, 0x82} + } + , + { + 0x10, 0x0000173AUL, + { + 0x8D, 0x4B, 0x2D, 0x70, 0x29, 0x82, 0xEA, 0x20, 0x8A, 0x18, 0x29, 0x82, + 0xEA, 0x80, 0xF6, 0x18} + } + , + { + 0x10, 0x0000174AUL, + { + 0xEA, 0x20, 0x60, 0x19, 0x29, 0x83, 0xEA, 0x20, 0xCA, 0x19, 0x29, 0x82, + 0xEA, 0x80, 0x28, 0x1A} + } + , + { + 0x10, 0x0000175AUL, + { + 0xEA, 0x20, 0xCE, 0x1A, 0x29, 0x82, 0xEA, 0x80, 0x1E, 0x1B, 0xEA, 0x20, + 0x4C, 0x1B, 0x07, 0xF8} + } + , + { + 0x10, 0x0000176AUL, + { + 0x0E, 0x00, 0xEA, 0x30, 0xD6, 0x1B, 0xE1, 0x18, 0xF7, 0xF8, 0x2C, 0x10, + 0xE6, 0xFC, 0x2A, 0x00} + } + , + { + 0x10, 0x0000177AUL, + { + 0xE6, 0xFA, 0x00, 0x10, 0xE6, 0xFB, 0x01, 0x00, 0xE6, 0xF8, 0x2D, 0x10, + 0xE6, 0xF9, 0x01, 0x00} + } + , + { + 0x10, 0x0000178AUL, + { + 0xCA, 0x00, 0x1A, 0x29, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, + 0xE6, 0xF8, 0x4C, 0x00} + } + , + { + 0x10, 0x0000179AUL, + { + 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, 0xE1, 0x28, 0xF7, 0xF8, + 0x2C, 0x10, 0xE0, 0x6C} + } + , + { + 0x10, 0x000017AAUL, + { + 0xE6, 0xFA, 0xB0, 0x00, 0xE6, 0xFB, 0x00, 0x00, 0xE6, 0xF8, 0x2D, 0x10, + 0xE6, 0xF9, 0x01, 0x00} + } + , + { + 0x10, 0x000017BAUL, + { + 0xCA, 0x00, 0x1A, 0x29, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, + 0xE6, 0xF8, 0x4C, 0x00} + } + , + { + 0x10, 0x000017CAUL, + { + 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, 0xDC, 0x0F, 0xA9, 0x8E, + 0xF7, 0xF8, 0x2C, 0x10} + } + , + { + 0x10, 0x000017DAUL, + { + 0xE1, 0x18, 0xF7, 0xF8, 0x81, 0x10, 0x0D, 0x0F, 0xC2, 0xF7, 0x81, 0x10, + 0xF2, 0xF5, 0x7E, 0x10} + } + , + { + 0x10, 0x000017EAUL, + { + 0xF2, 0xF4, 0x7C, 0x10, 0x00, 0x47, 0xDC, 0x05, 0xA9, 0xA4, 0x57, 0xFA, + 0xFF, 0x00, 0xE4, 0xA7} + } + , + { + 0x10, 0x000017FAUL, + { + 0x2C, 0x10, 0x25, 0x8F, 0x81, 0x10, 0xF3, 0xF8, 0x82, 0x10, 0x43, 0xF8, + 0x81, 0x10, 0xED, 0xEC} + } + , + { + 0x10, 0x0000180AUL, + { + 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, 0xC2, 0xF8, 0x82, 0x10, + 0xCA, 0x00, 0xD8, 0x1E} + } + , + { + 0x10, 0x0000181AUL, + { + 0xEA, 0x00, 0xFA, 0x1B, 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, + 0xDC, 0x05, 0xF4, 0x84} + } + , + { + 0x10, 0x0000182AUL, + { + 0x03, 0x00, 0xC0, 0x8B, 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, + 0x02, 0x00, 0xC0, 0x8A} + } + , + { + 0x10, 0x0000183AUL, + { + 0xE0, 0x19, 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, 0x01, 0x00, + 0xC0, 0x88, 0xCA, 0x00} + } + , + { + 0x10, 0x0000184AUL, + { + 0x18, 0x02, 0x49, 0x81, 0x3D, 0x0F, 0xE1, 0x48, 0xF7, 0xF8, 0x2C, 0x10, + 0xE1, 0x18, 0xF7, 0xF8} + } + , + { + 0x10, 0x0000185AUL, + { + 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, + 0xCA, 0x00, 0xD8, 0x1E} + } + , + { + 0x10, 0x0000186AUL, + { + 0xEA, 0x00, 0xFA, 0x1B, 0xE1, 0x48, 0xF7, 0xF8, 0x2C, 0x10, 0xF7, 0x8E, + 0x2D, 0x10, 0xE6, 0xF9} + } + , + { + 0x10, 0x0000187AUL, + { + 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, + 0xEA, 0x00, 0xFA, 0x1B} + } + , + { + 0x10, 0x0000188AUL, + { + 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, + 0x01, 0x00, 0xF7, 0xF8} + } + , + { + 0x10, 0x0000189AUL, + { + 0x80, 0x10, 0xC2, 0xF8, 0x80, 0x10, 0xCA, 0x00, 0x64, 0x04, 0x49, 0x81, + 0x3D, 0x0E, 0xE1, 0x68} + } + , + { + 0x10, 0x000018AAUL, + { + 0xF7, 0xF8, 0x2C, 0x10, 0xE1, 0x18, 0xF7, 0xF8, 0x2D, 0x10, 0xE6, 0xF9, + 0x2C, 0x10, 0xE6, 0xFA} + } + , + { + 0x10, 0x000018BAUL, + { + 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0x0D, 0x0C, 0xE1, 0x68, + 0xF7, 0xF8, 0x2C, 0x10} + } + , + { + 0x10, 0x000018CAUL, + { + 0xF7, 0x8E, 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, + 0xE0, 0x28, 0xCA, 0x00} + } + , + { + 0x10, 0x000018DAUL, + { + 0xD8, 0x1E, 0xF3, 0xF8, 0x80, 0x10, 0x3D, 0x05, 0xE0, 0x28, 0xCA, 0x00, + 0x28, 0x24, 0xEA, 0x00} + } + , + { + 0x0C, 0x000018EAUL, + { + 0xFA, 0x1B, 0xE0, 0x38, 0xCA, 0x00, 0x28, 0x24, 0xEA, 0x00, 0xFA, 0x1B} + } + , + { + 0x10, 0x000018F6UL, + { + 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, + 0x01, 0x00, 0xF7, 0xF8} + } + , + { + 0x10, 0x00001906UL, + { + 0x80, 0x10, 0x49, 0x80, 0x3D, 0x04, 0xE0, 0x28, 0xCA, 0x00, 0x6A, 0x24, + 0x0D, 0x03, 0xE0, 0x38} + } + , + { + 0x10, 0x00001916UL, + { + 0xCA, 0x00, 0x6A, 0x24, 0xC2, 0xF8, 0x80, 0x10, 0xCA, 0x00, 0xA0, 0x05, + 0x49, 0x81, 0x3D, 0x0F} + } + , + { + 0x10, 0x00001926UL, + { + 0xE1, 0x78, 0xF7, 0xF8, 0x2C, 0x10, 0xE1, 0x18, 0xF7, 0xF8, 0x2D, 0x10, + 0xE6, 0xF9, 0x2C, 0x10} + } + , + { + 0x10, 0x00001936UL, + { + 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, + 0xFA, 0x1B, 0xE1, 0x78} + } + , + { + 0x10, 0x00001946UL, + { + 0xF7, 0xF8, 0x2C, 0x10, 0xF7, 0x8E, 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, + 0xE6, 0xFA, 0x01, 0x00} + } + , + { + 0x10, 0x00001956UL, + { + 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, 0xF2, 0xF5, + 0x7E, 0x10, 0xF2, 0xF4} + } + , + { + 0x10, 0x00001966UL, + { + 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, 0x01, 0x00, 0xF7, 0xF8, 0x80, 0x10, + 0x49, 0x80, 0x3D, 0x04} + } + , + { + 0x10, 0x00001976UL, + { + 0xE0, 0x28, 0xCA, 0x00, 0x6A, 0x24, 0x0D, 0x03, 0xE0, 0x38, 0xCA, 0x00, + 0x6A, 0x24, 0xC2, 0xF8} + } + , + { + 0x10, 0x00001986UL, + { + 0x80, 0x10, 0xCA, 0x00, 0x44, 0x06, 0x49, 0x81, 0x3D, 0x0F, 0xE1, 0x88, + 0xF7, 0xF8, 0x2C, 0x10} + } + , + { + 0x10, 0x00001996UL, + { + 0xE1, 0x18, 0xF7, 0xF8, 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, + 0x01, 0x00, 0xE0, 0x28} + } + , + { + 0x10, 0x000019A6UL, + { + 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, 0xE1, 0x88, 0xF7, 0xF8, + 0x2C, 0x10, 0xF7, 0x8E} + } + , + { + 0x10, 0x000019B6UL, + { + 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, + 0xCA, 0x00, 0xD8, 0x1E} + } + , + { + 0x10, 0x000019C6UL, + { + 0xEA, 0x00, 0xFA, 0x1B, 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, + 0xDC, 0x05, 0xF4, 0x84} + } + , + { + 0x10, 0x000019D6UL, + { + 0x02, 0x00, 0xC0, 0x89, 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, + 0x01, 0x00, 0xC0, 0x88} + } + , + { + 0x10, 0x000019E6UL, + { + 0xCA, 0x00, 0x76, 0x1E, 0x49, 0x81, 0x3D, 0x0F, 0xE1, 0xB8, 0xF7, 0xF8, + 0x2C, 0x10, 0xE1, 0x18} + } + , + { + 0x10, 0x000019F6UL, + { + 0xF7, 0xF8, 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, + 0xE0, 0x28, 0xCA, 0x00} + } + , + { + 0x10, 0x00001A06UL, + { + 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, 0xE1, 0xB8, 0xF7, 0xF8, 0x2C, 0x10, + 0xF7, 0x8E, 0x2D, 0x10} + } + , + { + 0x10, 0x00001A16UL, + { + 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, + 0xD8, 0x1E, 0xEA, 0x00} + } + , + { + 0x10, 0x00001A26UL, + { + 0xFA, 0x1B, 0xE1, 0xC8, 0xF7, 0xF8, 0x2C, 0x10, 0xD7, 0x00, 0x00, 0x00, + 0xF2, 0xF4, 0xAE, 0x00} + } + , + { + 0x10, 0x00001A36UL, + { + 0xF6, 0xF4, 0x2E, 0x10, 0xF6, 0x8E, 0x30, 0x10, 0xF3, 0xF8, 0x2D, 0x11, + 0x49, 0x81, 0x3D, 0x0F} + } + , + { + 0x10, 0x00001A46UL, + { + 0xE0, 0x14, 0xF6, 0xF4, 0x30, 0x10, 0xE0, 0x8C, 0xE6, 0xFA, 0x32, 0xC0, + 0xE6, 0xFB, 0x00, 0x00} + } + , + { + 0x10, 0x00001A56UL, + { + 0xE6, 0xF8, 0x32, 0x10, 0xE6, 0xF9, 0x01, 0x00, 0xCA, 0x00, 0x1A, 0x29, + 0x0D, 0x0B, 0xE0, 0x8C} + } + , + { + 0x10, 0x00001A66UL, + { + 0xE6, 0xFA, 0x2A, 0xC0, 0xE6, 0xFB, 0x00, 0x00, 0xE6, 0xF8, 0x32, 0x10, + 0xE6, 0xF9, 0x01, 0x00} + } + , + { + 0x10, 0x00001A76UL, + { + 0xCA, 0x00, 0x1A, 0x29, 0xF3, 0xF8, 0x2C, 0x11, 0x49, 0x81, 0x3D, 0x11, + 0xF2, 0xF4, 0x30, 0x10} + } + , + { + 0x10, 0x00001A86UL, + { + 0x08, 0x41, 0xF6, 0xF4, 0x30, 0x10, 0xE0, 0x8C, 0xE6, 0xFA, 0x32, 0xC0, + 0xE6, 0xFB, 0x00, 0x00} + } + , + { + 0x10, 0x00001A96UL, + { + 0xE6, 0xF8, 0x3C, 0x10, 0xE6, 0xF9, 0x01, 0x00, 0xCA, 0x00, 0x1A, 0x29, + 0x0D, 0x0B, 0xE0, 0x8C} + } + , + { + 0x10, 0x00001AA6UL, + { + 0xE6, 0xFA, 0x2A, 0xC0, 0xE6, 0xFB, 0x00, 0x00, 0xE6, 0xF8, 0x3C, 0x10, + 0xE6, 0xF9, 0x01, 0x00} + } + , + { + 0x0C, 0x00001AB6UL, + { + 0xCA, 0x00, 0x1A, 0x29, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00} + } + , + { + 0x10, 0x00001AC2UL, + { + 0xE6, 0xF8, 0x1A, 0x00, 0xCA, 0x00, 0xD8, 0x1E, 0xEA, 0x00, 0xFA, 0x1B, + 0x8A, 0x04, 0x19, 0x00} + } + , + { + 0x10, 0x00001AD2UL, + { + 0xBE, 0x88, 0xCC, 0x00, 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, + 0xDC, 0x05, 0xD4, 0x44} + } + , + { + 0x10, 0x00001AE2UL, + { + 0x02, 0x00, 0xF6, 0xF4, 0x14, 0xFD, 0x7C, 0x14, 0xF6, 0xF4, 0x14, 0xFD, + 0xF6, 0xF4, 0x12, 0xFD} + } + , + { + 0x10, 0x00001AF2UL, + { + 0x0F, 0x04, 0xBF, 0x88, 0xE1, 0xD8, 0xF7, 0xF8, 0x2C, 0x10, 0xE1, 0x18, + 0xF7, 0xF8, 0x2D, 0x10} + } + , + { + 0x10, 0x00001B02UL, + { + 0x0D, 0x05, 0xE1, 0xD8, 0xF7, 0xF8, 0x2C, 0x10, 0xF7, 0x8E, 0x2D, 0x10, + 0xE6, 0xF9, 0x2C, 0x10} + } + , + { + 0x10, 0x00001B12UL, + { + 0xE6, 0xFA, 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0x0D, 0x6E, + 0x9A, 0x04, 0x08, 0x00} + } + , + { + 0x10, 0x00001B22UL, + { + 0x0E, 0x04, 0xE1, 0xE8, 0xF7, 0xF8, 0x2C, 0x10, 0xE1, 0x18, 0xF7, 0xF8, + 0x2D, 0x10, 0x0D, 0x05} + } + , + { + 0x10, 0x00001B32UL, + { + 0xE1, 0xE8, 0xF7, 0xF8, 0x2C, 0x10, 0xF7, 0x8E, 0x2D, 0x10, 0xE6, 0xF9, + 0x2C, 0x10, 0xE6, 0xFA} + } + , + { + 0x10, 0x00001B42UL, + { + 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0x0D, 0x57, 0xF2, 0xF7, + 0x7E, 0x10, 0xF2, 0xF6} + } + , + { + 0x10, 0x00001B52UL, + { + 0x7C, 0x10, 0x06, 0xF6, 0x08, 0x00, 0xDC, 0x17, 0x98, 0x46, 0xA8, 0x56, + 0x88, 0x50, 0x88, 0x40} + } + , + { + 0x10, 0x00001B62UL, + { + 0xF2, 0xF5, 0x7E, 0x10, 0xF2, 0xF4, 0x7C, 0x10, 0x08, 0x44, 0xDC, 0x15, + 0x98, 0xB4, 0xA8, 0xC4} + } + , + { + 0x10, 0x00001B72UL, + { + 0xF2, 0xF4, 0x7C, 0x10, 0xDC, 0x05, 0xF4, 0x84, 0x03, 0x00, 0xC0, 0x8A, + 0xF2, 0xF4, 0x7C, 0x10} + } + , + { + 0x10, 0x00001B82UL, + { + 0xDC, 0x05, 0xF4, 0x84, 0x02, 0x00, 0xC0, 0x89, 0xF2, 0xF4, 0x7C, 0x10, + 0xDC, 0x05, 0xF4, 0x84} + } + , + { + 0x10, 0x00001B92UL, + { + 0x01, 0x00, 0xC0, 0x88, 0xCA, 0x00, 0x1A, 0x03, 0x08, 0x04, 0x49, 0x81, + 0x3D, 0x0E, 0xE1, 0xF8} + } + , + { + 0x10, 0x00001BA2UL, + { + 0xF7, 0xF8, 0x2C, 0x10, 0xE1, 0x18, 0xF7, 0xF8, 0x2D, 0x10, 0xE6, 0xF9, + 0x2C, 0x10, 0xE6, 0xFA} + } + , + { + 0x10, 0x00001BB2UL, + { + 0x01, 0x00, 0xE0, 0x28, 0xCA, 0x00, 0xD8, 0x1E, 0x0D, 0x1F, 0xE1, 0xF8, + 0xF7, 0xF8, 0x2C, 0x10} + } + , + { + 0x10, 0x00001BC2UL, + { + 0xF7, 0x8E, 0x2D, 0x10, 0xE6, 0xF9, 0x2C, 0x10, 0xE6, 0xFA, 0x01, 0x00, + 0xE0, 0x28, 0xCA, 0x00} + } + , + { + 0x10, 0x00001BD2UL, + { + 0xD8, 0x1E, 0x0D, 0x12, 0xF2, 0xF7, 0x7E, 0x10, 0xF2, 0xF6, 0x7C, 0x10, + 0xDC, 0x07, 0xA9, 0x86} + } + , + { + 0x10, 0x00001BE2UL, + { + 0x57, 0xF8, 0xFF, 0x00, 0xDC, 0x07, 0xB9, 0x86, 0xF2, 0xFA, 0x7E, 0x10, + 0xF2, 0xF9, 0x7C, 0x10} + } + , + { + 0x0E, 0x00001BF2UL, + { + 0xC2, 0xF8, 0x82, 0x10, 0xCA, 0x00, 0xD8, 0x1E, 0xFC, 0xFF, 0xFC, 0xFE, + 0xCB, 0x00} + } + , + { + 0x10, 0x00001C00UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xD8, 0x28, 0x02, 0x0D, 0x0F, + 0xE0, 0x09, 0xF0, 0x4D} + } + , + { + 0x10, 0x00001C10UL, + { + 0xC0, 0x88, 0xCA, 0x00, 0x70, 0x2A, 0x49, 0x80, 0x2D, 0x10, 0xF0, 0xAF, + 0xF0, 0x9E, 0xE0, 0x08} + } + , + { + 0x10, 0x00001C20UL, + { + 0xCA, 0x00, 0x8A, 0x08, 0xE0, 0x08, 0xCA, 0x00, 0xFA, 0x20, 0xF0, 0x90, + 0xE0, 0x08, 0xCA, 0x00} + } + , + { + 0x10, 0x00001C30UL, + { + 0xA2, 0x20, 0xF0, 0xE4, 0xF0, 0xF5, 0x70, 0x45, 0x3D, 0xE9, 0x08, 0x02, + 0xFC, 0xFF, 0xFC, 0xFE} + } + , + { + 0x04, 0x00001C40UL, + { + 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00001C44UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xD8, 0x28, 0x02, 0x0D, 0x0F, + 0xE0, 0x19, 0xF0, 0x4D} + } + , + { + 0x10, 0x00001C54UL, + { + 0xC0, 0x88, 0xCA, 0x00, 0x70, 0x2A, 0x49, 0x80, 0x2D, 0x10, 0xF0, 0xAF, + 0xF0, 0x9E, 0xE0, 0x18} + } + , + { + 0x10, 0x00001C64UL, + { + 0xCA, 0x00, 0x8A, 0x08, 0xE0, 0x18, 0xCA, 0x00, 0xFA, 0x20, 0xF0, 0x90, + 0xE0, 0x18, 0xCA, 0x00} + } + , + { + 0x10, 0x00001C74UL, + { + 0xA2, 0x20, 0xF0, 0xE4, 0xF0, 0xF5, 0x70, 0x45, 0x3D, 0xE9, 0x08, 0x02, + 0xFC, 0xFF, 0xFC, 0xFE} + } + , + { + 0x04, 0x00001C84UL, + { + 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00001C88UL, + { + 0xEC, 0xFE, 0xEC, 0xFF, 0x0D, 0x0E, 0xE0, 0x08, 0xCA, 0x00, 0x18, 0x1F, + 0x49, 0x80, 0x2D, 0x0F} + } + , + { + 0x10, 0x00001C98UL, + { + 0xF0, 0xBF, 0xF0, 0xAE, 0xE6, 0xF9, 0x12, 0x00, 0xE0, 0x08, 0xCA, 0x00, + 0x56, 0x1F, 0xCA, 0x00} + } + , + { + 0x10, 0x00001CA8UL, + { + 0x18, 0x0C, 0xCA, 0x00, 0xB8, 0x0B, 0xF0, 0xE4, 0xF0, 0xF5, 0x70, 0x45, + 0x3D, 0xEC, 0xFC, 0xFF} + } + , + { + 0x04, 0x00001CB8UL, + { + 0xFC, 0xFE, 0xCB, 0x00} + } + , + { + 0x10, 0x00001CBCUL, + { + 0xEC, 0xFE, 0xEC, 0xFF, 0x0D, 0x0E, 0xE0, 0x18, 0xCA, 0x00, 0x18, 0x1F, + 0x49, 0x80, 0x2D, 0x0F} + } + , + { + 0x10, 0x00001CCCUL, + { + 0xF0, 0xBF, 0xF0, 0xAE, 0xE6, 0xF9, 0x12, 0x00, 0xE0, 0x18, 0xCA, 0x00, + 0x56, 0x1F, 0xCA, 0x00} + } + , + { + 0x10, 0x00001CDCUL, + { + 0x34, 0x0C, 0xCA, 0x00, 0xE8, 0x0B, 0xF0, 0xE4, 0xF0, 0xF5, 0x70, 0x45, + 0x3D, 0xEC, 0xFC, 0xFF} + } + , + { + 0x04, 0x00001CECUL, + { + 0xFC, 0xFE, 0xCB, 0x00} + } + , + { + 0x10, 0x00001CF0UL, + { + 0x06, 0xF0, 0xF4, 0xFF, 0xE0, 0x08, 0xCA, 0x00, 0xA0, 0x0A, 0xB8, 0x40, + 0xC2, 0xF4, 0xF4, 0xFC} + } + , + { + 0x10, 0x00001D00UL, + { + 0xC4, 0x40, 0x02, 0x00, 0xE0, 0x18, 0xCA, 0x00, 0xA0, 0x0A, 0xC4, 0x40, + 0x04, 0x00, 0xC2, 0xF4} + } + , + { + 0x10, 0x00001D10UL, + { + 0xF3, 0xFC, 0xC4, 0x40, 0x06, 0x00, 0xC2, 0xF4, 0xF0, 0x10, 0xC4, 0x40, + 0x08, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x00001D20UL, + { + 0x2A, 0x10, 0x24, 0x8F, 0x2A, 0x10, 0xC4, 0x50, 0x0A, 0x00, 0xF0, 0xA0, + 0xE0, 0x0B, 0x06, 0xFA} + } + , + { + 0x10, 0x00001D30UL, + { + 0x00, 0x00, 0x16, 0xFB, 0x01, 0x00, 0xE0, 0xC9, 0xE0, 0x08, 0xCA, 0x00, + 0x80, 0x21, 0x06, 0xF0} + } + , + { + 0x04, 0x00001D40UL, + { + 0x0C, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x00001D44UL, + { + 0xE6, 0x8A, 0xAF, 0x04, 0xE6, 0x0D, 0x02, 0x20, 0xE6, 0x8B, 0xAF, 0x04, + 0xE6, 0x0E, 0x40, 0x20} + } + , + { + 0x10, 0x00001D54UL, + { + 0xE6, 0x8C, 0x5F, 0x04, 0xE6, 0x0F, 0x08, 0x10, 0xE6, 0x8D, 0xAF, 0x04, + 0x0E, 0x04, 0xE0, 0x28} + } + , + { + 0x10, 0x00001D64UL, + { + 0xCA, 0x00, 0x18, 0x26, 0xE0, 0x88, 0xCA, 0x00, 0xFA, 0x27, 0xE0, 0x49, + 0xE0, 0x08, 0xCA, 0x00} + } + , + { + 0x10, 0x00001D74UL, + { + 0xFE, 0x01, 0xE0, 0x59, 0xE0, 0x18, 0xCA, 0x00, 0xFE, 0x01, 0xE0, 0x68, + 0xCA, 0x00, 0x1C, 0x01} + } + , + { + 0x10, 0x00001D84UL, + { + 0xE0, 0x18, 0xCA, 0x00, 0xE0, 0x1D, 0xE0, 0x29, 0xE0, 0x08, 0xCA, 0x00, + 0xEE, 0x1D, 0xE0, 0x39} + } + , + { + 0x10, 0x00001D94UL, + { + 0xE0, 0x18, 0xCA, 0x00, 0xEE, 0x1D, 0xE0, 0x49, 0xE0, 0x08, 0xCA, 0x00, + 0x0E, 0x1E, 0xE0, 0x59} + } + , + { + 0x10, 0x00001DA4UL, + { + 0xE0, 0x18, 0xCA, 0x00, 0x0E, 0x1E, 0xCA, 0x00, 0x2E, 0x1E, 0xE6, 0xFC, + 0x2A, 0x00, 0xE6, 0xFA} + } + , + { + 0x10, 0x00001DB4UL, + { + 0x00, 0x10, 0xE6, 0xFB, 0x01, 0x00, 0xE0, 0x48, 0xE6, 0xF9, 0x20, 0x00, + 0xCA, 0x00, 0x1A, 0x29} + } + , + { + 0x10, 0x00001DC4UL, + { + 0xE0, 0x6C, 0xE6, 0xFA, 0xB0, 0x00, 0xE6, 0xFB, 0x00, 0x00, 0xE6, 0xF8, + 0x2E, 0x00, 0xE6, 0xF9} + } + , + { + 0x0C, 0x00001DD4UL, + { + 0x20, 0x00, 0xCA, 0x00, 0x1A, 0x29, 0xCA, 0x00, 0xAC, 0x24, 0x0D, 0xFD} + } + , + { + 0x10, 0x00002A70UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xF0, 0xD9, 0xF0, 0xE8, 0xF0, 0x49, 0x49, 0x80, + 0x3D, 0x06, 0xF0, 0x4E} + } + , + { + 0x10, 0x00002A80UL, + { + 0xC0, 0x89, 0xE0, 0x08, 0xCA, 0x00, 0x48, 0x25, 0x0D, 0x0A, 0xF0, 0x4D, + 0x49, 0x81, 0x3D, 0x06} + } + , + { + 0x10, 0x00002A90UL, + { + 0xF0, 0x4E, 0xC0, 0x89, 0xE0, 0x18, 0xCA, 0x00, 0x48, 0x25, 0x0D, 0x01, + 0xE1, 0x08, 0xFC, 0xFE} + } + , + { + 0x04, 0x00002AA0UL, + { + 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00002AA4UL, + { + 0xEC, 0xFD, 0xF0, 0xD8, 0xF0, 0x48, 0x49, 0x80, 0x3D, 0x04, 0xE0, 0x08, + 0xCA, 0x00, 0xA4, 0x25} + } + , + { + 0x10, 0x00002AB4UL, + { + 0x0D, 0x06, 0xF0, 0x4D, 0x49, 0x81, 0x3D, 0x03, 0xE0, 0x18, 0xCA, 0x00, + 0xA4, 0x25, 0xFC, 0xFD} + } + , + { + 0x02, 0x00002AC4UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x00002AC6UL, + { + 0xEC, 0xFD, 0xF0, 0xD8, 0xF0, 0x48, 0x49, 0x80, 0x3D, 0x09, 0xE0, 0x08, + 0xCA, 0x00, 0xFE, 0x25} + } + , + { + 0x10, 0x00002AD6UL, + { + 0x48, 0x40, 0x3D, 0x02, 0xE1, 0x08, 0x0D, 0x0F, 0xE1, 0x18, 0x0D, 0x0D, + 0xF0, 0x4D, 0x49, 0x81} + } + , + { + 0x10, 0x00002AE6UL, + { + 0x3D, 0x09, 0xE0, 0x18, 0xCA, 0x00, 0xFE, 0x25, 0x48, 0x40, 0x3D, 0x02, + 0xE1, 0x08, 0x0D, 0x03} + } + , + { + 0x0A, 0x00002AF6UL, + { + 0xE1, 0x18, 0x0D, 0x01, 0xE1, 0x08, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x06, 0x00002B34UL, + { + 0x02, 0x40, 0x5A, 0x11, 0x01, 0x00} + } + , + { + 0x06, 0x00002B3AUL, + { + 0x02, 0x40, 0x5C, 0x11, 0x01, 0x00} + } + , + { + 0x06, 0x00002B40UL, + { + 0x01, 0x40, 0x5E, 0x11, 0x08, 0x00} + } + , + { + 0x06, 0x00002B46UL, + { + 0x02, 0x40, 0x00, 0xFD, 0x00, 0x00} + } + , + { + 0x06, 0x00002B4CUL, + { + 0x02, 0x40, 0x02, 0xFD, 0x00, 0x00} + } + , + { + 0x06, 0x00002B52UL, + { + 0x02, 0x40, 0x04, 0xFD, 0x00, 0x00} + } + , + { + 0x06, 0x00002B58UL, + { + 0x02, 0x40, 0x06, 0xFD, 0x00, 0x00} + } + , + { + 0x02, 0x00002B5EUL, + { + 0x04, 0x81} + } + , + { + 0x02, 0x00002B60UL, + { + 0x84, 0x82} + } + , + { + 0x02, 0x00002B62UL, + { + 0x04, 0x83} + } + , + { + 0x02, 0x00002B64UL, + { + 0x84, 0x84} + } + , + { + 0x02, 0x00002B66UL, + { + 0x84, 0x85} + } + , + { + 0x02, 0x00002B68UL, + { + 0x84, 0x86} + } + , + { + 0x02, 0x00002B6AUL, + { + 0x04, 0x87} + } + , + { + 0x02, 0x00002B6CUL, + { + 0x04, 0x88} + } + , + { + 0x02, 0x00002B6EUL, + { + 0x84, 0x89} + } + , + { + 0x02, 0x00002B70UL, + { + 0x84, 0x8A} + } + , + { + 0x10, 0x000022E6UL, + { + 0xF0, 0x48, 0x07, 0xF8, 0xF0, 0x00, 0x2D, 0x14, 0x07, 0xF8, 0xF0, 0x00, + 0x2D, 0x13, 0x29, 0x81} + } + , + { + 0x10, 0x000022F6UL, + { + 0x2D, 0x13, 0x07, 0xF8, 0xF1, 0x00, 0x2D, 0x12, 0x29, 0x81, 0x2D, 0x12, + 0x07, 0xF8, 0xF3, 0x00} + } + , + { + 0x10, 0x00002306UL, + { + 0x2D, 0x11, 0x29, 0x81, 0x2D, 0x11, 0x07, 0xF8, 0x3A, 0x00, 0x3D, 0x10, + 0xE1, 0x08, 0xCB, 0x00} + } + , + { + 0x10, 0x00002316UL, + { + 0xE1, 0x18, 0xCB, 0x00, 0xE1, 0x28, 0xCB, 0x00, 0xE1, 0x38, 0xCB, 0x00, + 0xE1, 0x48, 0xCB, 0x00} + } + , + { + 0x10, 0x00002326UL, + { + 0xE1, 0x58, 0xCB, 0x00, 0xE1, 0x68, 0xCB, 0x00, 0xE1, 0x78, 0xCB, 0x00, + 0xE7, 0xF8, 0xFF, 0x00} + } + , + { + 0x02, 0x00002336UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x00002338UL, + { + 0xF0, 0x48, 0x47, 0xF8, 0x08, 0x00, 0x9D, 0x42, 0xC0, 0x84, 0x5C, 0x24, + 0x06, 0xF4, 0x4A, 0x23} + } + , + { + 0x10, 0x00002348UL, + { + 0x9C, 0x04, 0xEA, 0x00, 0x6A, 0x23, 0xEA, 0x00, 0x70, 0x23, 0xEA, 0x00, + 0x7C, 0x23, 0xEA, 0x00} + } + , + { + 0x10, 0x00002358UL, + { + 0x88, 0x23, 0xEA, 0x00, 0x94, 0x23, 0xEA, 0x00, 0xA0, 0x23, 0xEA, 0x00, + 0xAC, 0x23, 0xEA, 0x00} + } + , + { + 0x10, 0x00002368UL, + { + 0xB8, 0x23, 0x4A, 0x04, 0x03, 0xA5, 0xCB, 0x00, 0x9A, 0x04, 0x2D, 0x90, + 0x0F, 0x02, 0xD1, 0x80} + } + , + { + 0x10, 0x00002378UL, + { + 0x7F, 0xCA, 0xCB, 0x00, 0x9A, 0x04, 0x27, 0x80, 0x0F, 0x01, 0xD1, 0x80, + 0x7F, 0xC6, 0xCB, 0x00} + } + , + { + 0x10, 0x00002388UL, + { + 0x9A, 0x04, 0x21, 0x70, 0x1F, 0x01, 0xD1, 0x80, 0x7F, 0xC6, 0xCB, 0x00, + 0x9A, 0x04, 0x1B, 0x60} + } + , + { + 0x10, 0x00002398UL, + { + 0x0F, 0x00, 0xD1, 0x80, 0x7F, 0xC2, 0xCB, 0x00, 0x9A, 0x04, 0x15, 0x50, + 0x1F, 0x00, 0xD1, 0x80} + } + , + { + 0x10, 0x000023A8UL, + { + 0x7F, 0xC2, 0xCB, 0x00, 0x9A, 0x04, 0x0F, 0x40, 0xEF, 0x00, 0xD1, 0x80, + 0x7F, 0xC2, 0xCB, 0x00} + } + , + { + 0x10, 0x000023B8UL, + { + 0x9A, 0x04, 0x09, 0x20, 0xFF, 0x00, 0xD1, 0x80, 0x7F, 0xC2, 0xCB, 0x00, + 0xF0, 0x48, 0xC0, 0x89} + } + , + { + 0x08, 0x000023C8UL, + { + 0xE0, 0x38, 0xCA, 0x00, 0x84, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x000023D0UL, + { + 0xE1, 0x0A, 0xF0, 0x48, 0xC0, 0x84, 0xE4, 0xA4, 0xCF, 0x10, 0xF0, 0x48, + 0x47, 0xF8, 0x08, 0x00} + } + , + { + 0x10, 0x000023E0UL, + { + 0x9D, 0x1D, 0xC0, 0x84, 0x5C, 0x14, 0x06, 0xF4, 0xEC, 0x23, 0x9C, 0x04, + 0x0D, 0x07, 0x0D, 0x08} + } + , + { + 0x10, 0x000023F0UL, + { + 0x0D, 0x09, 0x0D, 0x0A, 0x0D, 0x0B, 0x0D, 0x0C, 0x0D, 0x0D, 0x0D, 0x0E, + 0x5E, 0x03, 0xCB, 0x00} + } + , + { + 0x10, 0x00002400UL, + { + 0x0E, 0x02, 0xCB, 0x00, 0x0E, 0x01, 0xCB, 0x00, 0x1E, 0x01, 0xCB, 0x00, + 0x0E, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x00002410UL, + { + 0x1E, 0x00, 0xCB, 0x00, 0xEE, 0x00, 0xCB, 0x00, 0xFE, 0x00, 0xCB, 0x00, + 0xF0, 0x48, 0xC0, 0x89} + } + , + { + 0x08, 0x00002420UL, + { + 0xE0, 0x58, 0xCA, 0x00, 0x84, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x00002428UL, + { + 0xF0, 0x48, 0x47, 0xF8, 0x08, 0x00, 0x9D, 0x1C, 0xC0, 0x84, 0x5C, 0x14, + 0x06, 0xF4, 0x3A, 0x24} + } + , + { + 0x10, 0x00002438UL, + { + 0x9C, 0x04, 0x0D, 0x07, 0x0D, 0x08, 0x0D, 0x09, 0x0D, 0x0A, 0x0D, 0x0B, + 0x0D, 0x0C, 0x0D, 0x0D} + } + , + { + 0x10, 0x00002448UL, + { + 0x0D, 0x0E, 0xAF, 0x04, 0xCB, 0x00, 0x9F, 0x04, 0xCB, 0x00, 0x8F, 0x04, + 0xCB, 0x00, 0x7F, 0x04} + } + , + { + 0x10, 0x00002458UL, + { + 0xCB, 0x00, 0x6F, 0x04, 0xCB, 0x00, 0x5F, 0x04, 0xCB, 0x00, 0x4F, 0x04, + 0xCB, 0x00, 0x2F, 0x04} + } + , + { + 0x02, 0x00002468UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x0000246AUL, + { + 0xF0, 0x48, 0x47, 0xF8, 0x08, 0x00, 0x9D, 0x1C, 0xC0, 0x84, 0x5C, 0x14, + 0x06, 0xF4, 0x7C, 0x24} + } + , + { + 0x10, 0x0000247AUL, + { + 0x9C, 0x04, 0x0D, 0x07, 0x0D, 0x08, 0x0D, 0x09, 0x0D, 0x0A, 0x0D, 0x0B, + 0x0D, 0x0C, 0x0D, 0x0D} + } + , + { + 0x10, 0x0000248AUL, + { + 0x0D, 0x0E, 0xAE, 0x04, 0xCB, 0x00, 0x9E, 0x04, 0xCB, 0x00, 0x8E, 0x04, + 0xCB, 0x00, 0x7E, 0x04} + } + , + { + 0x10, 0x0000249AUL, + { + 0xCB, 0x00, 0x6E, 0x04, 0xCB, 0x00, 0x5E, 0x04, 0xCB, 0x00, 0x4E, 0x04, + 0xCB, 0x00, 0x2E, 0x04} + } + , + { + 0x02, 0x000024AAUL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x000024ACUL, + { + 0xF2, 0xF4, 0x06, 0xFD, 0x3D, 0x0A, 0xCA, 0x00, 0xA4, 0x26, 0x0D, 0xFA, + 0x0D, 0x06, 0xAA, 0x03} + } + , + { + 0x10, 0x000024BCUL, + { + 0x01, 0x50, 0x0D, 0x03, 0xE0, 0x08, 0xCA, 0x00, 0xF0, 0x1C, 0xF2, 0xF4, + 0x06, 0xFD, 0x3D, 0xF7} + } + , + { + 0x02, 0x000024CCUL, + { + 0x0D, 0xEF} + } + , + { + 0x10, 0x000024CEUL, + { + 0x0D, 0x06, 0xAA, 0x02, 0x01, 0x00, 0x0D, 0x03, 0xE0, 0x18, 0xCA, 0x00, + 0x0A, 0x17, 0xF2, 0xF4} + } + , + { + 0x06, 0x000024DEUL, + { + 0x04, 0xFD, 0x3D, 0xF7, 0xCB, 0x00} + } + , + { + 0x10, 0x000024E4UL, + { + 0x0D, 0x0D, 0xAA, 0x01, 0x01, 0x10, 0x0D, 0x04, 0xE0, 0x38, 0xCA, 0x00, + 0x44, 0x1C, 0x0D, 0x06} + } + , + { + 0x10, 0x000024F4UL, + { + 0xAA, 0x01, 0x01, 0x00, 0x0D, 0x03, 0xE0, 0x28, 0xCA, 0x00, 0x00, 0x1C, + 0xF2, 0xF4, 0x02, 0xFD} + } + , + { + 0x04, 0x00002504UL, + { + 0x3D, 0xF0, 0xCB, 0x00} + } + , + { + 0x10, 0x00002508UL, + { + 0x0D, 0x1B, 0xAA, 0x00, 0x01, 0xF0, 0x0D, 0x04, 0xE0, 0x78, 0xCA, 0x00, + 0xB2, 0x26, 0x0D, 0x14} + } + , + { + 0x10, 0x00002518UL, + { + 0xAA, 0x00, 0x01, 0xE0, 0x0D, 0x04, 0xE0, 0x68, 0xCA, 0x00, 0x50, 0x0C, + 0x0D, 0x0D, 0xAA, 0x00} + } + , + { + 0x10, 0x00002528UL, + { + 0x01, 0x10, 0x0D, 0x04, 0xE0, 0x58, 0xCA, 0x00, 0xBC, 0x1C, 0x0D, 0x06, + 0xAA, 0x00, 0x01, 0x00} + } + , + { + 0x10, 0x00002538UL, + { + 0x0D, 0x03, 0xE0, 0x48, 0xCA, 0x00, 0x88, 0x1C, 0xF2, 0xF4, 0x00, 0xFD, + 0x3D, 0xE2, 0xCB, 0x00} + } + , + { + 0x10, 0x00002548UL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x13, 0x09, 0x81, 0x3D, 0x22, 0xBE, 0x88, + 0xCC, 0x00, 0xF2, 0xF4} + } + , + { + 0x10, 0x00002558UL, + { + 0x5C, 0x11, 0x3D, 0x07, 0xF0, 0x49, 0x29, 0x82, 0x3D, 0x01, 0x3F, 0x04, + 0xBF, 0x88, 0xE1, 0x08} + } + , + { + 0x10, 0x00002568UL, + { + 0xCB, 0x00, 0x04, 0x8F, 0x5C, 0x11, 0xBF, 0x88, 0xE1, 0x18, 0xCB, 0x00, + 0xBE, 0x88, 0xCC, 0x00} + } + , + { + 0x10, 0x00002578UL, + { + 0xF2, 0xF4, 0x5A, 0x11, 0x3D, 0x07, 0xF0, 0x49, 0x29, 0x83, 0x3D, 0x01, + 0x1F, 0x04, 0xBF, 0x88} + } + , + { + 0x10, 0x00002588UL, + { + 0xE1, 0x08, 0xCB, 0x00, 0x04, 0x8F, 0x5A, 0x11, 0xBF, 0x88, 0xE1, 0x18, + 0xCB, 0x00, 0xF0, 0x48} + } + , + { + 0x0C, 0x00002598UL, + { + 0xC0, 0x89, 0xE0, 0x48, 0xCA, 0x00, 0x84, 0x00, 0xE1, 0x08, 0xCB, 0x00} + } + , + { + 0x10, 0x000025A4UL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x13, 0x09, 0x81, 0x3D, 0x22, 0xBE, 0x88, + 0xCC, 0x00, 0x24, 0x8F} + } + , + { + 0x10, 0x000025B4UL, + { + 0x5C, 0x11, 0xBF, 0x88, 0xAA, 0x04, 0x01, 0x30, 0x0D, 0x07, 0xBE, 0x88, + 0xCC, 0x00, 0x9A, 0x04} + } + , + { + 0x10, 0x000025C4UL, + { + 0x03, 0x80, 0x0F, 0x01, 0xD1, 0x80, 0x7F, 0xC6, 0xBF, 0x88, 0xCB, 0x00, + 0xBE, 0x88, 0xCC, 0x00} + } + , + { + 0x10, 0x000025D4UL, + { + 0x24, 0x8F, 0x5A, 0x11, 0xBF, 0x88, 0xAA, 0x04, 0x01, 0x10, 0x0D, 0x07, + 0xBE, 0x88, 0xCC, 0x00} + } + , + { + 0x10, 0x000025E4UL, + { + 0x9A, 0x04, 0x03, 0x70, 0x1F, 0x01, 0xD1, 0x80, 0x7F, 0xC6, 0xBF, 0x88, + 0xCB, 0x00, 0xF0, 0x48} + } + , + { + 0x0A, 0x000025F4UL, + { + 0xC0, 0x89, 0xE0, 0x48, 0xCA, 0x00, 0x84, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x000025FEUL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x05, 0x09, 0x81, 0x3D, 0x06, 0xF2, 0xF4, + 0x5C, 0x11, 0xCB, 0x00} + } + , + { + 0x0A, 0x0000260EUL, + { + 0xF2, 0xF4, 0x5A, 0x11, 0xCB, 0x00, 0xE0, 0x04, 0xCB, 0x00} + } + , + { + 0x10, 0x0000291AUL, + { + 0x48, 0xC0, 0x2D, 0x08, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0x08, 0x81, 0x28, 0xC1} + } + , + { + 0x06, 0x0000292AUL, + { + 0x48, 0xC0, 0x3D, 0xF8, 0xCB, 0x00} + } + , + { + 0x10, 0x00002930UL, + { + 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, + 0x99, 0x8A, 0xDC, 0x09} + } + , + { + 0x10, 0x00002940UL, + { + 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0x08, 0x81, 0xDC, 0x0B} + } + , + { + 0x10, 0x00002950UL, + { + 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, + 0xDC, 0x09, 0xB9, 0x88} + } + , + { + 0x10, 0x00002960UL, + { + 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, + 0xDC, 0x0B, 0x99, 0x8A} + } + , + { + 0x10, 0x00002970UL, + { + 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0xA9, 0x8A, 0xDC, 0x09, + 0xB9, 0x88, 0xCB, 0x00} + } + , + { + 0x10, 0x00002980UL, + { + 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, + 0x99, 0x8A, 0xDC, 0x09} + } + , + { + 0x10, 0x00002990UL, + { + 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0x08, 0x81, 0xDC, 0x0B} + } + , + { + 0x10, 0x000029A0UL, + { + 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, + 0xDC, 0x09, 0xB9, 0x88} + } + , + { + 0x10, 0x000029B0UL, + { + 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, + 0xDC, 0x0B, 0x99, 0x8A} + } + , + { + 0x10, 0x000029C0UL, + { + 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, + 0xB9, 0x88, 0x08, 0x81} + } + , + { + 0x10, 0x000029D0UL, + { + 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, + 0x99, 0x8A, 0xDC, 0x09} + } + , + { + 0x10, 0x000029E0UL, + { + 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0x08, 0x81, 0xDC, 0x0B} + } + , + { + 0x10, 0x000029F0UL, + { + 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0xA9, 0x8A, + 0xDC, 0x09, 0xB9, 0x88} + } + , + { + 0x02, 0x00002A00UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x00002A02UL, + { + 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, + 0x99, 0x8A, 0xDC, 0x09} + } + , + { + 0x10, 0x00002A12UL, + { + 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0x08, 0x81, 0xDC, 0x0B} + } + , + { + 0x10, 0x00002A22UL, + { + 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, + 0xDC, 0x09, 0xB9, 0x88} + } + , + { + 0x10, 0x00002A32UL, + { + 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, + 0xDC, 0x0B, 0x99, 0x8A} + } + , + { + 0x10, 0x00002A42UL, + { + 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, + 0xB9, 0x88, 0x08, 0x81} + } + , + { + 0x10, 0x00002A52UL, + { + 0xDC, 0x0B, 0x99, 0x8A, 0xDC, 0x09, 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, + 0x99, 0x8A, 0xDC, 0x09} + } + , + { + 0x0E, 0x00002A62UL, + { + 0xB9, 0x88, 0x08, 0x81, 0xDC, 0x0B, 0xA9, 0x8A, 0xDC, 0x09, 0xB9, 0x88, + 0xCB, 0x00} + } + , + { + 0x10, 0x0000C000UL, + { + 0x0A, 0x20, 0x43, 0x43, 0x49, 0x5F, 0x49, 0x6E, 0x73, 0x74, 0x61, 0x6C, + 0x6C, 0x3A, 0x20, 0x5A} + } + , + { + 0x10, 0x0000C010UL, + { + 0x75, 0x65, 0x72, 0x73, 0x74, 0x20, 0x54, 0x61, 0x73, 0x6B, 0x73, 0x20, + 0x72, 0x65, 0x67, 0x69} + } + , + { + 0x0A, 0x0000C020UL, + { + 0x73, 0x74, 0x69, 0x65, 0x72, 0x65, 0x6E, 0x20, 0x21, 0x00} + } + , + { + 0x06, 0x00002B72UL, + { + 0x01, 0x40, 0x4A, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B78UL, + { + 0x01, 0x40, 0x4B, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B7EUL, + { + 0x01, 0x40, 0x4C, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B84UL, + { + 0x01, 0x40, 0x4D, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B8AUL, + { + 0x01, 0x40, 0x4E, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B90UL, + { + 0x01, 0x40, 0x4F, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B96UL, + { + 0x01, 0x40, 0x50, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002B9CUL, + { + 0x01, 0x40, 0x51, 0x11, 0x00, 0x00} + } + , + { + 0x0E, 0x00001DE0UL, + { + 0xF0, 0x48, 0xF7, 0xF8, 0x4C, 0x11, 0xE1, 0x18, 0x75, 0xF8, 0x4D, 0x11, + 0xCB, 0x00} + } + , + { + 0x10, 0x00001DEEUL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x06, 0x09, 0x81, 0x3D, 0x07, 0xF0, 0x49, + 0xF7, 0xF8, 0x51, 0x11} + } + , + { + 0x10, 0x00001DFEUL, + { + 0x0D, 0x03, 0xF0, 0x49, 0xF7, 0xF8, 0x50, 0x11, 0xE1, 0x28, 0x75, 0xF8, + 0x4D, 0x11, 0xCB, 0x00} + } + , + { + 0x10, 0x00001E0EUL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x06, 0x09, 0x81, 0x3D, 0x07, 0xF0, 0x49, + 0xF7, 0xF8, 0x4F, 0x11} + } + , + { + 0x10, 0x00001E1EUL, + { + 0x0D, 0x03, 0xF0, 0x49, 0xF7, 0xF8, 0x4E, 0x11, 0xE1, 0x48, 0x75, 0xF8, + 0x4D, 0x11, 0xCB, 0x00} + } + , + { + 0x10, 0x00001E2EUL, + { + 0xF3, 0xF8, 0x4D, 0x11, 0x49, 0x87, 0x2D, 0x06, 0xE6, 0xF8, 0x00, 0xC0, + 0xCA, 0x00, 0x36, 0x00} + } + , + { + 0x10, 0x00001E3EUL, + { + 0xE1, 0x08, 0xCB, 0x00, 0xE0, 0x04, 0xE6, 0xF5, 0x20, 0x00, 0xF6, 0xF4, + 0x46, 0x11, 0xF6, 0xF5} + } + , + { + 0x10, 0x00001E4EUL, + { + 0x48, 0x11, 0xE6, 0xF4, 0x00, 0x20, 0xF6, 0xF4, 0x42, 0x11, 0xF6, 0xF5, + 0x44, 0x11, 0xCA, 0x00} + } + , + { + 0x10, 0x00001E5EUL, + { + 0x80, 0x22, 0x7E, 0xE6, 0x7F, 0xE7, 0xE6, 0xCA, 0x59, 0x00, 0xD1, 0x90, + 0x66, 0xE0, 0xFF, 0xCF} + } + , + { + 0x08, 0x00001E6EUL, + { + 0x76, 0xE0, 0x00, 0x20, 0xE1, 0x18, 0xCB, 0x00} + } + , + { + 0x10, 0x00001E76UL, + { + 0xF0, 0x49, 0x49, 0x80, 0x2D, 0x06, 0x49, 0x81, 0x2D, 0x04, 0x49, 0x82, + 0x2D, 0x02, 0xE1, 0x08} + } + , + { + 0x10, 0x00001E86UL, + { + 0xCB, 0x00, 0xF0, 0x48, 0x49, 0x80, 0x3D, 0x04, 0xF0, 0x49, 0xF7, 0xF8, + 0x4B, 0x11, 0x0D, 0x09} + } + , + { + 0x10, 0x00001E96UL, + { + 0xF0, 0x48, 0x49, 0x81, 0x3D, 0x04, 0xF0, 0x49, 0xF7, 0xF8, 0x4A, 0x11, + 0x0D, 0x02, 0xE1, 0x08} + } + , + { + 0x06, 0x00001EA6UL, + { + 0xCB, 0x00, 0xE1, 0x18, 0xCB, 0x00} + } + , + { + 0x10, 0x00001EACUL, + { + 0xF2, 0xF7, 0x48, 0x11, 0xF2, 0xF6, 0x46, 0x11, 0xDC, 0x07, 0xA9, 0x86, + 0x49, 0x81, 0x3D, 0x0B} + } + , + { + 0x10, 0x00001EBCUL, + { + 0xDC, 0x17, 0xF4, 0x86, 0x01, 0x00, 0xCC, 0x00, 0xB9, 0x88, 0xF2, 0xF5, + 0x48, 0x11, 0xF2, 0xF4} + } + , + { + 0x0C, 0x00001ECCUL, + { + 0x46, 0x11, 0x08, 0x44, 0xCB, 0x00, 0xE0, 0x04, 0xE0, 0x05, 0xCB, 0x00} + } + , + { + 0x10, 0x00001ED8UL, + { + 0xEC, 0xFD, 0xF0, 0x69, 0xF0, 0x7A, 0xF0, 0xD8, 0xF0, 0x48, 0xC0, 0x8C, + 0xF0, 0xBA, 0xF0, 0xA9} + } + , + { + 0x10, 0x00001EE8UL, + { + 0xF2, 0xF9, 0x48, 0x11, 0xF2, 0xF8, 0x46, 0x11, 0x08, 0x84, 0xCA, 0x00, + 0x1A, 0x29, 0xF0, 0x6D} + } + , + { + 0x10, 0x00001EF8UL, + { + 0xF2, 0xF5, 0x48, 0x11, 0xF2, 0xF4, 0x46, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x01, 0x00, 0xE1, 0x2C} + } + , + { + 0x10, 0x00001F08UL, + { + 0xF2, 0xF5, 0x48, 0x11, 0xF2, 0xF4, 0x46, 0x11, 0xDC, 0x05, 0xB9, 0xC4, + 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00001F18UL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x0E, 0x09, 0x81, 0x3D, 0x18, 0xF2, 0xF5, + 0x40, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x00001F28UL, + { + 0x3E, 0x11, 0xDC, 0x05, 0xA9, 0x84, 0x3D, 0x02, 0x0F, 0xF4, 0x0D, 0x01, + 0x0E, 0xF4, 0x69, 0x81} + } + , + { + 0x10, 0x00001F38UL, + { + 0xCB, 0x00, 0xF2, 0xF5, 0x38, 0x11, 0xF2, 0xF4, 0x36, 0x11, 0xDC, 0x05, + 0xA9, 0x84, 0x3D, 0x02} + } + , + { + 0x0E, 0x00001F48UL, + { + 0x0F, 0xF4, 0x0D, 0x01, 0x0E, 0xF4, 0x69, 0x81, 0xCB, 0x00, 0xE1, 0x08, + 0xCB, 0x00} + } + , + { + 0x10, 0x00001F56UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xEA, 0xF0, 0xFB, 0xF0, 0xD9, + 0xF0, 0x48, 0x29, 0x81} + } + , + { + 0x10, 0x00001F66UL, + { + 0x2D, 0x4E, 0x09, 0x81, 0xEA, 0x30, 0x98, 0x20, 0xF2, 0xF9, 0x40, 0x11, + 0xF2, 0xF8, 0x3E, 0x11} + } + , + { + 0x10, 0x00001F76UL, + { + 0xDC, 0x09, 0xA9, 0x88, 0xEA, 0x30, 0x98, 0x20, 0xF0, 0x6D, 0xDC, 0x09, + 0xE4, 0xC8, 0x01, 0x00} + } + , + { + 0x10, 0x00001F86UL, + { + 0xF0, 0x4D, 0xC0, 0x8C, 0xF0, 0xBF, 0xF0, 0xAE, 0xF2, 0xF9, 0x40, 0x11, + 0xF2, 0xF8, 0x3E, 0x11} + } + , + { + 0x10, 0x00001F96UL, + { + 0x08, 0x82, 0xCA, 0x00, 0x1A, 0x29, 0xE1, 0x1C, 0xF2, 0xF5, 0x40, 0x11, + 0xF2, 0xF4, 0x3E, 0x11} + } + , + { + 0x10, 0x00001FA6UL, + { + 0xDC, 0x05, 0xB9, 0xC4, 0xE6, 0xF4, 0x14, 0x00, 0x04, 0xF4, 0x3E, 0x11, + 0xF2, 0xF9, 0x48, 0x11} + } + , + { + 0x10, 0x00001FB6UL, + { + 0xF2, 0xF8, 0x46, 0x11, 0xF0, 0x68, 0x06, 0xF6, 0x08, 0x0C, 0xF0, 0x79, + 0x22, 0xF6, 0x3E, 0x11} + } + , + { + 0x10, 0x00001FC6UL, + { + 0x32, 0xF7, 0x40, 0x11, 0xED, 0x06, 0x06, 0xF8, 0x20, 0x08, 0xF6, 0xF8, + 0x3E, 0x11, 0xF6, 0xF9} + } + , + { + 0x10, 0x00001FD6UL, + { + 0x40, 0x11, 0xF3, 0xF8, 0x4B, 0x11, 0x49, 0x81, 0x3D, 0x03, 0xCA, 0x00, + 0xDC, 0x21, 0x0D, 0x0D} + } + , + { + 0x10, 0x00001FE6UL, + { + 0xF3, 0xF8, 0x4B, 0x11, 0x49, 0x82, 0x3D, 0x09, 0xF2, 0xF5, 0x40, 0x11, + 0xF2, 0xF4, 0x3E, 0x11} + } + , + { + 0x10, 0x00001FF6UL, + { + 0xDC, 0x05, 0xA9, 0x84, 0x2D, 0x02, 0xCA, 0x00, 0xDC, 0x21, 0xE1, 0x18, + 0x0D, 0x4B, 0xF2, 0xF9} + } + , + { + 0x10, 0x00002006UL, + { + 0x38, 0x11, 0xF2, 0xF8, 0x36, 0x11, 0xDC, 0x09, 0xA9, 0x88, 0x3D, 0x43, + 0xF0, 0x6D, 0xDC, 0x09} + } + , + { + 0x10, 0x00002016UL, + { + 0xE4, 0xC8, 0x01, 0x00, 0xF0, 0x4D, 0xC0, 0x8C, 0xF0, 0xBF, 0xF0, 0xAE, + 0xF2, 0xF9, 0x38, 0x11} + } + , + { + 0x10, 0x00002026UL, + { + 0xF2, 0xF8, 0x36, 0x11, 0x08, 0x82, 0xCA, 0x00, 0x1A, 0x29, 0xE1, 0x1C, + 0xF2, 0xF5, 0x38, 0x11} + } + , + { + 0x10, 0x00002036UL, + { + 0xF2, 0xF4, 0x36, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xE6, 0xF4, 0x14, 0x00, + 0x04, 0xF4, 0x36, 0x11} + } + , + { + 0x10, 0x00002046UL, + { + 0xF2, 0xF9, 0x48, 0x11, 0xF2, 0xF8, 0x46, 0x11, 0xF0, 0x68, 0x06, 0xF6, + 0xF0, 0x0F, 0xF0, 0x79} + } + , + { + 0x10, 0x00002056UL, + { + 0x22, 0xF6, 0x36, 0x11, 0x32, 0xF7, 0x38, 0x11, 0xED, 0x06, 0x06, 0xF8, + 0x08, 0x0C, 0xF6, 0xF8} + } + , + { + 0x10, 0x00002066UL, + { + 0x36, 0x11, 0xF6, 0xF9, 0x38, 0x11, 0xF3, 0xF8, 0x4A, 0x11, 0x49, 0x81, + 0x3D, 0x03, 0xCA, 0x00} + } + , + { + 0x10, 0x00002076UL, + { + 0xDC, 0x21, 0x0D, 0x0D, 0xF3, 0xF8, 0x4A, 0x11, 0x49, 0x82, 0x3D, 0x09, + 0xF2, 0xF5, 0x38, 0x11} + } + , + { + 0x10, 0x00002086UL, + { + 0xF2, 0xF4, 0x36, 0x11, 0xDC, 0x05, 0xA9, 0x84, 0x2D, 0x02, 0xCA, 0x00, + 0xDC, 0x21, 0xE1, 0x18} + } + , + { + 0x0C, 0x00002096UL, + { + 0x0D, 0x01, 0xE1, 0x08, 0xFC, 0xFF, 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x000020A2UL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x14, 0x09, 0x81, 0x3D, 0x24, 0xF2, 0xF7, + 0x3C, 0x11, 0xF2, 0xF6} + } + , + { + 0x10, 0x000020B2UL, + { + 0x3A, 0x11, 0xDC, 0x07, 0xA9, 0x86, 0x2D, 0x1D, 0xDC, 0x17, 0xF4, 0x86, + 0x01, 0x00, 0xCC, 0x00} + } + , + { + 0x10, 0x000020C2UL, + { + 0xB9, 0x89, 0xF2, 0xF5, 0x3C, 0x11, 0xF2, 0xF4, 0x3A, 0x11, 0x08, 0x42, + 0xCB, 0x00, 0xF2, 0xF7} + } + , + { + 0x10, 0x000020D2UL, + { + 0x34, 0x11, 0xF2, 0xF6, 0x32, 0x11, 0xDC, 0x07, 0xA9, 0x86, 0x2D, 0x0B, + 0xDC, 0x17, 0xF4, 0x86} + } + , + { + 0x10, 0x000020E2UL, + { + 0x01, 0x00, 0xCC, 0x00, 0xB9, 0x89, 0xF2, 0xF5, 0x34, 0x11, 0xF2, 0xF4, + 0x32, 0x11, 0x08, 0x42} + } + , + { + 0x08, 0x000020F2UL, + { + 0xCB, 0x00, 0xE0, 0x04, 0xE0, 0x05, 0xCB, 0x00} + } + , + { + 0x10, 0x000020FAUL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x21, 0x09, 0x81, 0x3D, 0x3D, 0xE1, 0x0C, + 0xF2, 0xF5, 0x3C, 0x11} + } + , + { + 0x10, 0x0000210AUL, + { + 0xF2, 0xF4, 0x3A, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xE6, 0xF4, 0x14, 0x00, + 0x04, 0xF4, 0x3A, 0x11} + } + , + { + 0x10, 0x0000211AUL, + { + 0xF2, 0xF9, 0x48, 0x11, 0xF2, 0xF8, 0x46, 0x11, 0xF0, 0x68, 0x06, 0xF6, + 0x38, 0x04, 0xF0, 0x79} + } + , + { + 0x10, 0x0000212AUL, + { + 0x22, 0xF6, 0x3A, 0x11, 0x32, 0xF7, 0x3C, 0x11, 0xED, 0x25, 0x06, 0xF8, + 0x50, 0x00, 0xF6, 0xF8} + } + , + { + 0x10, 0x0000213AUL, + { + 0x3A, 0x11, 0xF6, 0xF9, 0x3C, 0x11, 0xCB, 0x00, 0xE1, 0x0C, 0xF2, 0xF5, + 0x34, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x0000214AUL, + { + 0x32, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xE6, 0xF4, 0x14, 0x00, 0x04, 0xF4, + 0x32, 0x11, 0xF2, 0xF9} + } + , + { + 0x10, 0x0000215AUL, + { + 0x48, 0x11, 0xF2, 0xF8, 0x46, 0x11, 0xF0, 0x68, 0x06, 0xF6, 0x20, 0x08, + 0xF0, 0x79, 0x22, 0xF6} + } + , + { + 0x10, 0x0000216AUL, + { + 0x32, 0x11, 0x32, 0xF7, 0x34, 0x11, 0xED, 0x06, 0x06, 0xF8, 0x38, 0x04, + 0xF6, 0xF8, 0x32, 0x11} + } + , + { + 0x06, 0x0000217AUL, + { + 0xF6, 0xF9, 0x34, 0x11, 0xCB, 0x00} + } + , + { + 0x10, 0x00002180UL, + { + 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0x2A, 0xF0, 0x3B, 0xF0, 0x78, 0xE1, 0x0C, + 0xF2, 0xF5, 0x44, 0x11} + } + , + { + 0x10, 0x00002190UL, + { + 0xF2, 0xF4, 0x42, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xF2, 0xFF, 0x44, 0x11, + 0xF2, 0xFE, 0x42, 0x11} + } + , + { + 0x10, 0x000021A0UL, + { + 0xDC, 0x0F, 0xA9, 0x8E, 0x3D, 0x14, 0xF0, 0x49, 0xC0, 0x8C, 0xF2, 0xF9, + 0x48, 0x11, 0xF2, 0xF8} + } + , + { + 0x10, 0x000021B0UL, + { + 0x46, 0x11, 0x00, 0x87, 0x06, 0xF8, 0xF0, 0x0F, 0xCA, 0x00, 0x1A, 0x29, + 0xE1, 0x1C, 0xF2, 0xF5} + } + , + { + 0x10, 0x000021C0UL, + { + 0x44, 0x11, 0xF2, 0xF4, 0x42, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xE1, 0x18, + 0x0D, 0x04, 0xE1, 0x1C} + } + , + { + 0x0C, 0x000021D0UL, + { + 0xDC, 0x0F, 0xB9, 0xCE, 0xE1, 0x08, 0xFC, 0xFF, 0xFC, 0xFE, 0xCB, 0x00} + } + , + { + 0x0C, 0x000021DCUL, + { + 0xBE, 0x88, 0xCC, 0x00, 0x7F, 0xE6, 0x7E, 0xE6, 0xBF, 0x88, 0xCB, 0x00} + } + , + { + 0x10, 0x000021E8UL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x00, 0xFC, 0xC6, 0x08, + 0x00, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x000021F8UL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xF2, 0xF5, + 0x40, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x00002208UL, + { + 0x3E, 0x11, 0xDC, 0x05, 0xA9, 0x84, 0x3D, 0x04, 0xC2, 0xF8, 0x4F, 0x11, + 0xCA, 0x00, 0x38, 0x23} + } + , + { + 0x10, 0x00002218UL, + { + 0xF2, 0xF5, 0x38, 0x11, 0xF2, 0xF4, 0x36, 0x11, 0xDC, 0x05, 0xA9, 0x84, + 0x3D, 0x04, 0xC2, 0xF8} + } + , + { + 0x10, 0x00002228UL, + { + 0x4E, 0x11, 0xCA, 0x00, 0x38, 0x23, 0xF2, 0xF5, 0x3C, 0x11, 0xF2, 0xF4, + 0x3A, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x00002238UL, + { + 0xA9, 0x84, 0x2D, 0x04, 0xC2, 0xF8, 0x51, 0x11, 0xCA, 0x00, 0x38, 0x23, + 0xF2, 0xF5, 0x34, 0x11} + } + , + { + 0x10, 0x00002248UL, + { + 0xF2, 0xF4, 0x32, 0x11, 0xDC, 0x05, 0xA9, 0x84, 0x2D, 0x04, 0xC2, 0xF8, + 0x50, 0x11, 0xCA, 0x00} + } + , + { + 0x10, 0x00002258UL, + { + 0x38, 0x23, 0xF2, 0xF5, 0x48, 0x11, 0xF2, 0xF4, 0x46, 0x11, 0xDC, 0x05, + 0xA9, 0x84, 0x49, 0x81} + } + , + { + 0x10, 0x00002268UL, + { + 0x3D, 0x04, 0xC2, 0xF8, 0x4C, 0x11, 0xCA, 0x00, 0x38, 0x23, 0xFC, 0x07, + 0xFC, 0x06, 0xFC, 0x87} + } + , + { + 0x08, 0x00002278UL, + { + 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x00002280UL, + { + 0xE6, 0xFB, 0x00, 0x20, 0xE0, 0x0A, 0xE0, 0x08, 0xE6, 0xF9, 0x80, 0x00, + 0xCA, 0x00, 0x94, 0x00} + } + , + { + 0x10, 0x00002290UL, + { + 0xF2, 0xFB, 0x48, 0x11, 0xF2, 0xFA, 0x46, 0x11, 0xF0, 0x4A, 0x06, 0xF4, + 0x50, 0x00, 0xF6, 0xF4} + } + , + { + 0x10, 0x000022A0UL, + { + 0x3A, 0x11, 0xF6, 0xFB, 0x3C, 0x11, 0xF0, 0x6A, 0x06, 0xF6, 0x38, 0x04, + 0xF6, 0xF6, 0x32, 0x11} + } + , + { + 0x10, 0x000022B0UL, + { + 0xF6, 0xFB, 0x34, 0x11, 0xF0, 0x8A, 0x06, 0xF8, 0x20, 0x08, 0xF6, 0xF8, + 0x3E, 0x11, 0xF6, 0xFB} + } + , + { + 0x10, 0x000022C0UL, + { + 0x40, 0x11, 0x06, 0xFA, 0x08, 0x0C, 0xF6, 0xFA, 0x36, 0x11, 0xF6, 0xFB, + 0x38, 0x11, 0xE0, 0x08} + } + , + { + 0x10, 0x000022D0UL, + { + 0xE1, 0x1E, 0xF2, 0xF5, 0x44, 0x11, 0xF2, 0xF4, 0x42, 0x11, 0x00, 0x48, + 0xDC, 0x05, 0xB9, 0xE4} + } + , + { + 0x06, 0x000022E0UL, + { + 0x80, 0xF8, 0x8D, 0xF7, 0xCB, 0x00} + } + , + { + 0x06, 0x00002BA2UL, + { + 0x01, 0x40, 0x2C, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002BA8UL, + { + 0x01, 0x40, 0x2D, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002BAEUL, + { + 0x01, 0x40, 0x30, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002BB4UL, + { + 0x01, 0x40, 0x31, 0x11, 0x00, 0x00} + } + , + { + 0x06, 0x00002BBAUL, + { + 0x01, 0x40, 0xF0, 0xFC, 0x02, 0x00} + } + , + { + 0x06, 0x00002BC0UL, + { + 0x01, 0x40, 0xF1, 0xFC, 0x02, 0x00} + } + , + { + 0x10, 0x0000011CUL, + { + 0xEC, 0xFD, 0xF0, 0xD8, 0xFE, 0x04, 0xEE, 0x04, 0x1E, 0x05, 0x0E, 0x05, + 0xF6, 0x8E, 0x10, 0x11} + } + , + { + 0x10, 0x0000012CUL, + { + 0xF6, 0x8E, 0x18, 0x11, 0xF6, 0x8E, 0x0C, 0x11, 0xF6, 0x8E, 0x14, 0x11, + 0xF6, 0x8E, 0x26, 0x11} + } + , + { + 0x10, 0x0000013CUL, + { + 0xF6, 0x8E, 0x28, 0x11, 0xF6, 0x8E, 0xFE, 0x10, 0xF6, 0x8E, 0x00, 0x11, + 0xF6, 0x8E, 0x1E, 0x11} + } + , + { + 0x10, 0x0000014CUL, + { + 0xF6, 0x8E, 0x20, 0x11, 0xF6, 0x8E, 0xF6, 0x10, 0xF6, 0x8E, 0xF8, 0x10, + 0xF6, 0x8E, 0x0E, 0x11} + } + , + { + 0x10, 0x0000015CUL, + { + 0xF6, 0x8E, 0x16, 0x11, 0xF6, 0x8E, 0x0A, 0x11, 0xF6, 0x8E, 0x12, 0x11, + 0xF6, 0x8E, 0x22, 0x11} + } + , + { + 0x10, 0x0000016CUL, + { + 0xF6, 0x8E, 0x24, 0x11, 0xF6, 0x8E, 0xFA, 0x10, 0xF6, 0x8E, 0xFC, 0x10, + 0xF6, 0x8E, 0x1A, 0x11} + } + , + { + 0x10, 0x0000017CUL, + { + 0xF6, 0x8E, 0x1C, 0x11, 0xF6, 0x8E, 0xF2, 0x10, 0xF6, 0x8E, 0xF4, 0x10, + 0xE6, 0xF4, 0x00, 0x40} + } + , + { + 0x10, 0x0000018CUL, + { + 0xE6, 0xF5, 0x20, 0x00, 0xF6, 0xF4, 0x06, 0x11, 0xF6, 0xF5, 0x08, 0x11, + 0xE6, 0xF4, 0x00, 0x48} + } + , + { + 0x10, 0x0000019CUL, + { + 0xF6, 0xF4, 0x02, 0x11, 0xF6, 0xF5, 0x04, 0x11, 0x5F, 0xE7, 0x6F, 0xE7, + 0x5F, 0xE6, 0x6F, 0xE6} + } + , + { + 0x10, 0x000001ACUL, + { + 0x5E, 0xE6, 0xCA, 0x00, 0x8A, 0x0D, 0x5F, 0xE6, 0xCA, 0x00, 0x8A, 0x0D, + 0x6E, 0xE6, 0xCA, 0x00} + } + , + { + 0x10, 0x000001BCUL, + { + 0x8A, 0x0D, 0x6F, 0xE6, 0xCA, 0x00, 0x8A, 0x0D, 0xD1, 0x90, 0x66, 0xE0, + 0xFF, 0xF0, 0x76, 0xE0} + } + , + { + 0x10, 0x000001CCUL, + { + 0x00, 0x0A, 0xE6, 0xC8, 0x68, 0x00, 0xE6, 0xC9, 0x69, 0x00, 0xE0, 0x08, + 0xCA, 0x00, 0x3C, 0x0D} + } + , + { + 0x10, 0x000001DCUL, + { + 0xF7, 0xF8, 0x2D, 0x11, 0xE0, 0x18, 0xCA, 0x00, 0x3C, 0x0D, 0xF7, 0xF8, + 0x2C, 0x11, 0xF0, 0x4D} + } + , + { + 0x10, 0x000001ECUL, + { + 0xF7, 0xF8, 0xF2, 0xFC, 0xE0, 0x89, 0xC2, 0xF8, 0xF2, 0xFC, 0xCA, 0x00, + 0x00, 0x27, 0xFC, 0xFD} + } + , + { + 0x02, 0x000001FCUL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x000001FEUL, + { + 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x06, 0x09, 0x81, 0x3D, 0x07, 0xF0, 0x49, + 0xF7, 0xF8, 0x31, 0x11} + } + , + { + 0x0A, 0x0000020EUL, + { + 0xCB, 0x00, 0xF0, 0x49, 0xF7, 0xF8, 0x30, 0x11, 0xCB, 0x00} + } + , + { + 0x10, 0x00000218UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xDB, 0xF0, 0xEA, 0xF0, 0xF9, + 0x88, 0x80, 0xA9, 0x80} + } + , + { + 0x10, 0x00000228UL, + { + 0xC0, 0x88, 0xCA, 0x00, 0x44, 0x06, 0x47, 0xF8, 0xFF, 0x00, 0x3D, 0x03, + 0xE7, 0xF8, 0xFF, 0x00} + } + , + { + 0x10, 0x00000238UL, + { + 0x0D, 0x6B, 0xF6, 0x8C, 0x2A, 0x11, 0xA9, 0x80, 0x29, 0x81, 0x2D, 0x31, + 0x09, 0x81, 0x3D, 0x5E} + } + , + { + 0x10, 0x00000248UL, + { + 0xF0, 0x4F, 0xF7, 0xF8, 0x2F, 0x11, 0xE6, 0x8C, 0x6E, 0x04, 0xF0, 0x6E, + 0xF2, 0xF5, 0x08, 0x11} + } + , + { + 0x10, 0x00000258UL, + { + 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x06, 0x00, 0xF0, 0x6D, + 0xF2, 0xF5, 0x08, 0x11} + } + , + { + 0x10, 0x00000268UL, + { + 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x07, 0x00, 0xE7, 0xFC, + 0x5E, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x00000278UL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x08, 0x00, + 0xE7, 0xFC, 0x2F, 0x00} + } + , + { + 0x10, 0x00000288UL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x04, 0x00, 0xE1, 0x9C} + } + , + { + 0x10, 0x00000298UL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xB9, 0xC4, + 0x0D, 0x32, 0xF0, 0x4F} + } + , + { + 0x10, 0x000002A8UL, + { + 0xF7, 0xF8, 0x2E, 0x11, 0xE6, 0x8C, 0x6E, 0x04, 0xF0, 0x6E, 0xF2, 0xF5, + 0x04, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x000002B8UL, + { + 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x06, 0x00, 0xF0, 0x6D, 0xF2, 0xF5, + 0x04, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x000002C8UL, + { + 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x07, 0x00, 0xE7, 0xFC, 0x5E, 0x00, + 0xF2, 0xF5, 0x04, 0x11} + } + , + { + 0x10, 0x000002D8UL, + { + 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x08, 0x00, 0xE7, 0xFC, + 0x2F, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x000002E8UL, + { + 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x04, 0x00, + 0xE1, 0x9C, 0xF2, 0xF5} + } + , + { + 0x10, 0x000002F8UL, + { + 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0x0D, 0x03, + 0xE7, 0xF8, 0xFF, 0x00} + } + , + { + 0x10, 0x00000308UL, + { + 0x0D, 0x03, 0xF2, 0x8C, 0x2A, 0x11, 0xE1, 0x18, 0x08, 0x02, 0xFC, 0xFF, + 0xFC, 0xFE, 0xFC, 0xFD} + } + , + { + 0x02, 0x00000318UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x0000031AUL, + { + 0x88, 0xC0, 0x88, 0xB0, 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x4F, 0x09, 0x81, + 0xEA, 0x30, 0x58, 0x04} + } + , + { + 0x10, 0x0000032AUL, + { + 0xF0, 0x49, 0x49, 0x80, 0x3D, 0x22, 0xF0, 0x4A, 0x49, 0x80, 0x3D, 0x09, + 0xA8, 0x40, 0xF6, 0xF4} + } + , + { + 0x10, 0x0000033AUL, + { + 0x10, 0x11, 0xD4, 0x40, 0x04, 0x00, 0xF6, 0xF4, 0x18, 0x11, 0xEA, 0x00, + 0x5E, 0x04, 0xF0, 0x4A} + } + , + { + 0x10, 0x0000034AUL, + { + 0x49, 0x81, 0x3D, 0x10, 0xA8, 0x40, 0xD4, 0x50, 0x02, 0x00, 0xF6, 0xF4, + 0x26, 0x11, 0xF6, 0xF5} + } + , + { + 0x10, 0x0000035AUL, + { + 0x28, 0x11, 0xD4, 0x40, 0x04, 0x00, 0xD4, 0x50, 0x06, 0x00, 0xF6, 0xF4, + 0xFE, 0x10, 0xF6, 0xF5} + } + , + { + 0x10, 0x0000036AUL, + { + 0x00, 0x11, 0x0D, 0x78, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x76, 0xF0, 0x49, + 0x49, 0x81, 0x3D, 0x21} + } + , + { + 0x10, 0x0000037AUL, + { + 0xF0, 0x4A, 0x49, 0x80, 0x3D, 0x08, 0xA8, 0x40, 0xF6, 0xF4, 0x0C, 0x11, + 0xD4, 0x40, 0x04, 0x00} + } + , + { + 0x10, 0x0000038AUL, + { + 0xF6, 0xF4, 0x14, 0x11, 0x0D, 0x67, 0xF0, 0x4A, 0x49, 0x81, 0x3D, 0x10, + 0xA8, 0x40, 0xD4, 0x50} + } + , + { + 0x10, 0x0000039AUL, + { + 0x02, 0x00, 0xF6, 0xF4, 0x1E, 0x11, 0xF6, 0xF5, 0x20, 0x11, 0xD4, 0x40, + 0x04, 0x00, 0xD4, 0x50} + } + , + { + 0x10, 0x000003AAUL, + { + 0x06, 0x00, 0xF6, 0xF4, 0xF6, 0x10, 0xF6, 0xF5, 0xF8, 0x10, 0x0D, 0x54, + 0xE7, 0xF8, 0xFF, 0x00} + } + , + { + 0x10, 0x000003BAUL, + { + 0x0D, 0x52, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x4F, 0xF0, 0x49, 0x49, 0x80, + 0x3D, 0x21, 0xF0, 0x4A} + } + , + { + 0x10, 0x000003CAUL, + { + 0x49, 0x80, 0x3D, 0x08, 0xA8, 0x40, 0xF6, 0xF4, 0x0E, 0x11, 0xD4, 0x40, + 0x04, 0x00, 0xF6, 0xF4} + } + , + { + 0x10, 0x000003DAUL, + { + 0x16, 0x11, 0x0D, 0x40, 0xF0, 0x4A, 0x49, 0x81, 0x3D, 0x10, 0xA8, 0x40, + 0xD4, 0x50, 0x02, 0x00} + } + , + { + 0x10, 0x000003EAUL, + { + 0xF6, 0xF4, 0x22, 0x11, 0xF6, 0xF5, 0x24, 0x11, 0xD4, 0x40, 0x04, 0x00, + 0xD4, 0x50, 0x06, 0x00} + } + , + { + 0x10, 0x000003FAUL, + { + 0xF6, 0xF4, 0xFA, 0x10, 0xF6, 0xF5, 0xFC, 0x10, 0x0D, 0x2D, 0xE7, 0xF8, + 0xFF, 0x00, 0x0D, 0x2B} + } + , + { + 0x10, 0x0000040AUL, + { + 0xF0, 0x49, 0x49, 0x81, 0x3D, 0x21, 0xF0, 0x4A, 0x49, 0x80, 0x3D, 0x08, + 0xA8, 0x40, 0xF6, 0xF4} + } + , + { + 0x10, 0x0000041AUL, + { + 0x0A, 0x11, 0xD4, 0x40, 0x04, 0x00, 0xF6, 0xF4, 0x12, 0x11, 0x0D, 0x1C, + 0xF0, 0x4A, 0x49, 0x81} + } + , + { + 0x10, 0x0000042AUL, + { + 0x3D, 0x10, 0xA8, 0x40, 0xD4, 0x50, 0x02, 0x00, 0xF6, 0xF4, 0x1A, 0x11, + 0xF6, 0xF5, 0x1C, 0x11} + } + , + { + 0x10, 0x0000043AUL, + { + 0xD4, 0x40, 0x04, 0x00, 0xD4, 0x50, 0x06, 0x00, 0xF6, 0xF4, 0xF2, 0x10, + 0xF6, 0xF5, 0xF4, 0x10} + } + , + { + 0x10, 0x0000044AUL, + { + 0x0D, 0x09, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x07, 0xE7, 0xF8, 0xFF, 0x00, + 0x0D, 0x04, 0xE7, 0xF8} + } + , + { + 0x0A, 0x0000045AUL, + { + 0xFF, 0x00, 0x0D, 0x01, 0xE1, 0x18, 0x08, 0x04, 0xCB, 0x00} + } + , + { + 0x10, 0x00000464UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0x28, 0x02, 0xF6, 0x8C, 0x2A, 0x11, + 0xF0, 0x48, 0x29, 0x81} + } + , + { + 0x10, 0x00000474UL, + { + 0x2D, 0x47, 0x09, 0x81, 0xEA, 0x30, 0x8A, 0x05, 0xF3, 0xF8, 0x2D, 0x11, + 0x49, 0x81, 0x2D, 0x04} + } + , + { + 0x10, 0x00000484UL, + { + 0xE7, 0xF8, 0xFF, 0x00, 0xEA, 0x00, 0x96, 0x05, 0xFE, 0x04, 0x1E, 0x05, + 0xF6, 0x8E, 0xEE, 0xFC} + } + , + { + 0x10, 0x00000494UL, + { + 0xF6, 0x8E, 0xEA, 0xFC, 0xF6, 0x8E, 0xE6, 0xFC, 0xCE, 0x04, 0x0D, 0x03, + 0xE0, 0x08, 0xCA, 0x00} + } + , + { + 0x10, 0x000004A4UL, + { + 0xFA, 0x20, 0xF0, 0x90, 0xE0, 0x08, 0xCA, 0x00, 0xA2, 0x20, 0xF0, 0xE4, + 0xF0, 0xF5, 0x70, 0x45} + } + , + { + 0x10, 0x000004B4UL, + { + 0x3D, 0xF5, 0xCA, 0x00, 0x90, 0x26, 0xE0, 0x08, 0xCA, 0x00, 0xC6, 0x2A, + 0x49, 0x80, 0x3D, 0x03} + } + , + { + 0x10, 0x000004C4UL, + { + 0xE0, 0x08, 0xCA, 0x00, 0xA4, 0x2A, 0xE6, 0x8C, 0x6E, 0x04, 0xE1, 0x9C, + 0xF2, 0xF5, 0x08, 0x11} + } + , + { + 0x10, 0x000004D4UL, + { + 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xE0, 0x8D, 0x0D, 0x07, + 0xF0, 0x6D, 0xF2, 0xF5} + } + , + { + 0x10, 0x000004E4UL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xB9, 0xC4, 0xF2, 0xF5, + 0x08, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x000004F4UL, + { + 0x06, 0x11, 0xDC, 0x05, 0xA9, 0x84, 0x8A, 0xF4, 0xF1, 0x00, 0xCA, 0x00, + 0x9A, 0x26, 0x0D, 0x46} + } + , + { + 0x10, 0x00000504UL, + { + 0xF3, 0xF8, 0x2C, 0x11, 0x49, 0x81, 0x2D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, + 0x0D, 0x42, 0xEE, 0x04} + } + , + { + 0x10, 0x00000514UL, + { + 0x0E, 0x05, 0xF6, 0x8E, 0xEC, 0xFC, 0xF6, 0x8E, 0xE8, 0xFC, 0xF6, 0x8E, + 0xE4, 0xFC, 0xBE, 0x04} + } + , + { + 0x10, 0x00000524UL, + { + 0x0D, 0x03, 0xE0, 0x18, 0xCA, 0x00, 0xFA, 0x20, 0xF0, 0x90, 0xE0, 0x18, + 0xCA, 0x00, 0xA2, 0x20} + } + , + { + 0x10, 0x00000534UL, + { + 0xF0, 0xE4, 0xF0, 0xF5, 0x70, 0x45, 0x3D, 0xF5, 0xCA, 0x00, 0x90, 0x26, + 0xE0, 0x18, 0xCA, 0x00} + } + , + { + 0x10, 0x00000544UL, + { + 0xC6, 0x2A, 0x49, 0x80, 0x3D, 0x03, 0xE0, 0x18, 0xCA, 0x00, 0xA4, 0x2A, + 0xE6, 0x8C, 0x6E, 0x04} + } + , + { + 0x10, 0x00000554UL, + { + 0xE1, 0x9C, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, + 0xB9, 0xC4, 0xE0, 0x8D} + } + , + { + 0x10, 0x00000564UL, + { + 0x0D, 0x07, 0xF0, 0x6D, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, + 0xDC, 0x05, 0xB9, 0xC4} + } + , + { + 0x10, 0x00000574UL, + { + 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xA9, 0x84, + 0x8A, 0xF4, 0xF1, 0x00} + } + , + { + 0x10, 0x00000584UL, + { + 0xCA, 0x00, 0x9A, 0x26, 0x0D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x03, + 0xF2, 0x8C, 0x2A, 0x11} + } + , + { + 0x0C, 0x00000594UL, + { + 0xE1, 0x18, 0x08, 0x02, 0xFC, 0xFF, 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x000005A0UL, + { + 0xF6, 0x8C, 0x2A, 0x11, 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x24, 0x09, 0x81, + 0x3D, 0x44, 0xF3, 0xF8} + } + , + { + 0x10, 0x000005B0UL, + { + 0x2D, 0x11, 0x49, 0x81, 0x2D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, 0xCB, 0x00, + 0xE6, 0x8C, 0x6E, 0x04} + } + , + { + 0x10, 0x000005C0UL, + { + 0xCA, 0x00, 0x90, 0x26, 0xE1, 0x2C, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, + 0x06, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x000005D0UL, + { + 0xE4, 0xC4, 0x01, 0x00, 0xF2, 0xF9, 0x08, 0x11, 0xF2, 0xF8, 0x06, 0x11, + 0xDC, 0x09, 0xF4, 0x88} + } + , + { + 0x10, 0x000005E0UL, + { + 0x02, 0x00, 0x9A, 0xF4, 0xF7, 0x20, 0xE1, 0x1C, 0xDC, 0x09, 0xB9, 0xC8, + 0xCA, 0x00, 0x9A, 0x26} + } + , + { + 0x10, 0x000005F0UL, + { + 0x0D, 0x25, 0xF3, 0xF8, 0x2C, 0x11, 0x49, 0x81, 0x2D, 0x03, 0xE7, 0xF8, + 0xFF, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x00000600UL, + { + 0xE6, 0x8C, 0x6E, 0x04, 0xCA, 0x00, 0x90, 0x26, 0xE1, 0x2C, 0xF2, 0xF5, + 0x04, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x00000610UL, + { + 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, 0xF2, 0xF9, 0x04, 0x11, + 0xF2, 0xF8, 0x02, 0x11} + } + , + { + 0x10, 0x00000620UL, + { + 0xDC, 0x09, 0xF4, 0x88, 0x02, 0x00, 0x9A, 0xF4, 0xF7, 0x20, 0xE1, 0x1C, + 0xDC, 0x09, 0xB9, 0xC8} + } + , + { + 0x10, 0x00000630UL, + { + 0xCA, 0x00, 0x9A, 0x26, 0x0D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, 0xCB, 0x00, + 0xF2, 0x8C, 0x2A, 0x11} + } + , + { + 0x04, 0x00000640UL, + { + 0xE1, 0x18, 0xCB, 0x00} + } + , + { + 0x10, 0x00000644UL, + { + 0xEC, 0xFE, 0xEC, 0xFF, 0x28, 0x02, 0xF6, 0x8C, 0x2A, 0x11, 0xF0, 0x48, + 0x29, 0x81, 0xEA, 0x20} + } + , + { + 0x10, 0x00000654UL, + { + 0x6C, 0x07, 0x09, 0x81, 0xEA, 0x30, 0x76, 0x08, 0xF3, 0xF8, 0x2D, 0x11, + 0x49, 0x81, 0x2D, 0x04} + } + , + { + 0x10, 0x00000664UL, + { + 0xE7, 0xF8, 0xFF, 0x00, 0xEA, 0x00, 0x82, 0x08, 0xCA, 0x00, 0x90, 0x26, + 0x5E, 0xE6, 0xCA, 0x00} + } + , + { + 0x10, 0x00000674UL, + { + 0x8A, 0x0D, 0x5F, 0xE6, 0xCA, 0x00, 0x8A, 0x0D, 0xE6, 0x8C, 0x6E, 0x04, + 0xE7, 0xFC, 0x80, 0x00} + } + , + { + 0x10, 0x00000684UL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x1F, 0x00, 0xE7, 0xFC} + } + , + { + 0x10, 0x00000694UL, + { + 0xFF, 0x00, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, + 0xE4, 0xC4, 0x10, 0x00} + } + , + { + 0x10, 0x000006A4UL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x11, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x000006B4UL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x12, 0x00, + 0xF2, 0xF5, 0x08, 0x11} + } + , + { + 0x10, 0x000006C4UL, + { + 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x13, 0x00, 0xF2, 0xF5, + 0x08, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x000006D4UL, + { + 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x14, 0x00, 0xF2, 0xF5, 0x08, 0x11, + 0xF2, 0xF4, 0x06, 0x11} + } + , + { + 0x10, 0x000006E4UL, + { + 0xDC, 0x05, 0xE4, 0xC4, 0x15, 0x00, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, + 0x06, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x000006F4UL, + { + 0xE4, 0xC4, 0x16, 0x00, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, + 0xDC, 0x05, 0xE4, 0xC4} + } + , + { + 0x10, 0x00000704UL, + { + 0x17, 0x00, 0xCA, 0x00, 0x9A, 0x26, 0xFE, 0x04, 0x1E, 0x05, 0xF6, 0x8E, + 0xEE, 0xFC, 0xF6, 0x8E} + } + , + { + 0x10, 0x00000714UL, + { + 0xEA, 0xFC, 0xF6, 0x8E, 0xE6, 0xFC, 0xCE, 0x04, 0xF6, 0x8E, 0x10, 0x11, + 0xF6, 0x8E, 0x18, 0x11} + } + , + { + 0x10, 0x00000724UL, + { + 0xF6, 0x8E, 0x0C, 0x11, 0xF6, 0x8E, 0x14, 0x11, 0xF6, 0x8E, 0x26, 0x11, + 0xF6, 0x8E, 0x28, 0x11} + } + , + { + 0x10, 0x00000734UL, + { + 0xF6, 0x8E, 0xFE, 0x10, 0xF6, 0x8E, 0x00, 0x11, 0xF6, 0x8E, 0x1E, 0x11, + 0xF6, 0x8E, 0x20, 0x11} + } + , + { + 0x10, 0x00000744UL, + { + 0xF6, 0x8E, 0xF6, 0x10, 0xF6, 0x8E, 0xF8, 0x10, 0x0D, 0x03, 0xE0, 0x08, + 0xCA, 0x00, 0xFA, 0x20} + } + , + { + 0x10, 0x00000754UL, + { + 0xF0, 0x90, 0xE0, 0x08, 0xCA, 0x00, 0xA2, 0x20, 0xF0, 0x64, 0xF0, 0x75, + 0xF0, 0xE4, 0xF0, 0xF5} + } + , + { + 0x10, 0x00000764UL, + { + 0x70, 0x65, 0x3D, 0xF3, 0xEA, 0x00, 0x7C, 0x08, 0xF3, 0xF8, 0x2C, 0x11, + 0x49, 0x81, 0x2D, 0x04} + } + , + { + 0x10, 0x00000774UL, + { + 0xE7, 0xF8, 0xFF, 0x00, 0xEA, 0x00, 0x82, 0x08, 0x6E, 0xE6, 0xCA, 0x00, + 0x8A, 0x0D, 0x6F, 0xE6} + } + , + { + 0x10, 0x00000784UL, + { + 0xCA, 0x00, 0x8A, 0x0D, 0xE6, 0x8C, 0x6E, 0x04, 0xCA, 0x00, 0x90, 0x26, + 0xE7, 0xFC, 0x80, 0x00} + } + , + { + 0x10, 0x00000794UL, + { + 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x1F, 0x00, 0xE7, 0xFC} + } + , + { + 0x10, 0x000007A4UL, + { + 0xFF, 0x00, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, + 0xE4, 0xC4, 0x10, 0x00} + } + , + { + 0x10, 0x000007B4UL, + { + 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x11, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x000007C4UL, + { + 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x12, 0x00, + 0xF2, 0xF5, 0x04, 0x11} + } + , + { + 0x10, 0x000007D4UL, + { + 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x13, 0x00, 0xF2, 0xF5, + 0x04, 0x11, 0xF2, 0xF4} + } + , + { + 0x10, 0x000007E4UL, + { + 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x14, 0x00, 0xF2, 0xF5, 0x04, 0x11, + 0xF2, 0xF4, 0x02, 0x11} + } + , + { + 0x10, 0x000007F4UL, + { + 0xDC, 0x05, 0xE4, 0xC4, 0x15, 0x00, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, + 0x02, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x00000804UL, + { + 0xE4, 0xC4, 0x16, 0x00, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, + 0xDC, 0x05, 0xE4, 0xC4} + } + , + { + 0x10, 0x00000814UL, + { + 0x17, 0x00, 0xCA, 0x00, 0x9A, 0x26, 0xEE, 0x04, 0x0E, 0x05, 0xF6, 0x8E, + 0xEC, 0xFC, 0xF6, 0x8E} + } + , + { + 0x10, 0x00000824UL, + { + 0xE8, 0xFC, 0xF6, 0x8E, 0xE4, 0xFC, 0xBE, 0x04, 0xF6, 0x8E, 0x0E, 0x11, + 0xF6, 0x8E, 0x16, 0x11} + } + , + { + 0x10, 0x00000834UL, + { + 0xF6, 0x8E, 0x0A, 0x11, 0xF6, 0x8E, 0x12, 0x11, 0xF6, 0x8E, 0x22, 0x11, + 0xF6, 0x8E, 0x24, 0x11} + } + , + { + 0x0C, 0x00000844UL, + { + 0xF6, 0x8E, 0xFA, 0x10, 0xF6, 0x8E, 0xFC, 0x10, 0xF6, 0x8E, 0x1A, 0x11} + } + , + { + 0x10, 0x00000850UL, + { + 0xF6, 0x8E, 0x1C, 0x11, 0xF6, 0x8E, 0xF2, 0x10, 0xF6, 0x8E, 0xF4, 0x10, + 0x0D, 0x03, 0xE0, 0x18} + } + , + { + 0x10, 0x00000860UL, + { + 0xCA, 0x00, 0xFA, 0x20, 0xF0, 0x90, 0xE0, 0x18, 0xCA, 0x00, 0xA2, 0x20, + 0xF0, 0x64, 0xF0, 0x75} + } + , + { + 0x10, 0x00000870UL, + { + 0x70, 0x65, 0x3D, 0xF5, 0x0D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x03, + 0xF2, 0x8C, 0x2A, 0x11} + } + , + { + 0x0A, 0x00000880UL, + { + 0xE1, 0x18, 0x08, 0x02, 0xFC, 0xFF, 0xFC, 0xFE, 0xCB, 0x00} + } + , + { + 0x10, 0x0000088AUL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xE9, 0xF0, 0xFA, 0xF6, 0x8C, + 0x2A, 0x11, 0xF0, 0x48} + } + , + { + 0x10, 0x0000089AUL, + { + 0x29, 0x81, 0x2D, 0x7D, 0x09, 0x81, 0xEA, 0x30, 0x8C, 0x0A, 0xE6, 0x8C, + 0x6E, 0x04, 0xDC, 0x0F} + } + , + { + 0x10, 0x000008AAUL, + { + 0xF4, 0xAE, 0x05, 0x00, 0xF0, 0xD5, 0xC0, 0xA5, 0x7C, 0x75, 0x9A, 0xF5, + 0x3D, 0x00, 0xF0, 0x6D} + } + , + { + 0x10, 0x000008BAUL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, + 0x10, 0x00, 0xDC, 0x0F} + } + , + { + 0x10, 0x000008CAUL, + { + 0xF4, 0x8E, 0x06, 0x00, 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, 0x06, 0x11, + 0xDC, 0x07, 0xE4, 0x86} + } + , + { + 0x10, 0x000008DAUL, + { + 0x11, 0x00, 0xDC, 0x0F, 0xF4, 0x8E, 0x07, 0x00, 0xF2, 0xF7, 0x08, 0x11, + 0xF2, 0xF6, 0x06, 0x11} + } + , + { + 0x10, 0x000008EAUL, + { + 0xDC, 0x07, 0xE4, 0x86, 0x12, 0x00, 0xDC, 0x0F, 0xF4, 0x8E, 0x08, 0x00, + 0xF2, 0xF7, 0x08, 0x11} + } + , + { + 0x10, 0x000008FAUL, + { + 0xF2, 0xF6, 0x06, 0x11, 0xDC, 0x07, 0xE4, 0x86, 0x13, 0x00, 0xDC, 0x0F, + 0xF4, 0x8E, 0x09, 0x00} + } + , + { + 0x10, 0x0000090AUL, + { + 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, 0x06, 0x11, 0xDC, 0x07, 0xE4, 0x86, + 0x14, 0x00, 0xF0, 0xAE} + } + , + { + 0x10, 0x0000091AUL, + { + 0x06, 0xFA, 0x0A, 0x00, 0xF0, 0xBF, 0xF2, 0xF9, 0x08, 0x11, 0xF2, 0xF8, + 0x06, 0x11, 0x06, 0xF8} + } + , + { + 0x10, 0x0000092AUL, + { + 0x15, 0x00, 0xCA, 0x00, 0x30, 0x29, 0x0D, 0x2A, 0xF0, 0x6D, 0x67, 0xFC, + 0x7F, 0x00, 0xF2, 0xF5} + } + , + { + 0x10, 0x0000093AUL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x10, 0x00, + 0xDC, 0x0F, 0xF4, 0x8E} + } + , + { + 0x10, 0x0000094AUL, + { + 0x06, 0x00, 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, 0x06, 0x11, 0xDC, 0x07, + 0xE4, 0x86, 0x11, 0x00} + } + , + { + 0x10, 0x0000095AUL, + { + 0xDC, 0x0F, 0xF4, 0x8E, 0x07, 0x00, 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, + 0x06, 0x11, 0xDC, 0x07} + } + , + { + 0x10, 0x0000096AUL, + { + 0xE4, 0x86, 0x12, 0x00, 0xF0, 0xAE, 0x06, 0xFA, 0x08, 0x00, 0xF0, 0xBF, + 0xF2, 0xF9, 0x08, 0x11} + } + , + { + 0x10, 0x0000097AUL, + { + 0xF2, 0xF8, 0x06, 0x11, 0x06, 0xF8, 0x13, 0x00, 0xCA, 0x00, 0x30, 0x29, + 0xE1, 0x1C, 0xF2, 0xF5} + } + , + { + 0x10, 0x0000098AUL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, + 0x0D, 0x7D, 0xE6, 0x8C} + } + , + { + 0x10, 0x0000099AUL, + { + 0x6E, 0x04, 0xDC, 0x0F, 0xF4, 0xAE, 0x05, 0x00, 0xF0, 0xD5, 0xC0, 0xA5, + 0x7C, 0x75, 0x9A, 0xF5} + } + , + { + 0x10, 0x000009AAUL, + { + 0x3D, 0x00, 0xF0, 0x6D, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, + 0xDC, 0x05, 0xE4, 0xC4} + } + , + { + 0x10, 0x000009BAUL, + { + 0x10, 0x00, 0xDC, 0x0F, 0xF4, 0x8E, 0x06, 0x00, 0xF2, 0xF7, 0x04, 0x11, + 0xF2, 0xF6, 0x02, 0x11} + } + , + { + 0x10, 0x000009CAUL, + { + 0xDC, 0x07, 0xE4, 0x86, 0x11, 0x00, 0xDC, 0x0F, 0xF4, 0x8E, 0x07, 0x00, + 0xF2, 0xF7, 0x04, 0x11} + } + , + { + 0x10, 0x000009DAUL, + { + 0xF2, 0xF6, 0x02, 0x11, 0xDC, 0x07, 0xE4, 0x86, 0x12, 0x00, 0xDC, 0x0F, + 0xF4, 0x8E, 0x08, 0x00} + } + , + { + 0x10, 0x000009EAUL, + { + 0xF2, 0xF7, 0x04, 0x11, 0xF2, 0xF6, 0x02, 0x11, 0xDC, 0x07, 0xE4, 0x86, + 0x13, 0x00, 0xDC, 0x0F} + } + , + { + 0x10, 0x000009FAUL, + { + 0xF4, 0x8E, 0x09, 0x00, 0xF2, 0xF7, 0x04, 0x11, 0xF2, 0xF6, 0x02, 0x11, + 0xDC, 0x07, 0xE4, 0x86} + } + , + { + 0x10, 0x00000A0AUL, + { + 0x14, 0x00, 0xF0, 0xAE, 0x06, 0xFA, 0x0A, 0x00, 0xF0, 0xBF, 0xF2, 0xF9, + 0x04, 0x11, 0xF2, 0xF8} + } + , + { + 0x10, 0x00000A1AUL, + { + 0x02, 0x11, 0x06, 0xF8, 0x15, 0x00, 0xCA, 0x00, 0x30, 0x29, 0x0D, 0x2A, + 0xF0, 0x6D, 0x67, 0xFC} + } + , + { + 0x10, 0x00000A2AUL, + { + 0x7F, 0x00, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, + 0xE4, 0xC4, 0x10, 0x00} + } + , + { + 0x10, 0x00000A3AUL, + { + 0xDC, 0x0F, 0xF4, 0x8E, 0x06, 0x00, 0xF2, 0xF7, 0x04, 0x11, 0xF2, 0xF6, + 0x02, 0x11, 0xDC, 0x07} + } + , + { + 0x10, 0x00000A4AUL, + { + 0xE4, 0x86, 0x11, 0x00, 0xDC, 0x0F, 0xF4, 0x8E, 0x07, 0x00, 0xF2, 0xF7, + 0x04, 0x11, 0xF2, 0xF6} + } + , + { + 0x10, 0x00000A5AUL, + { + 0x02, 0x11, 0xDC, 0x07, 0xE4, 0x86, 0x12, 0x00, 0xF0, 0xAE, 0x06, 0xFA, + 0x08, 0x00, 0xF0, 0xBF} + } + , + { + 0x10, 0x00000A6AUL, + { + 0xF2, 0xF9, 0x04, 0x11, 0xF2, 0xF8, 0x02, 0x11, 0x06, 0xF8, 0x13, 0x00, + 0xCA, 0x00, 0x30, 0x29} + } + , + { + 0x10, 0x00000A7AUL, + { + 0xE1, 0x1C, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, + 0xE4, 0xC4, 0x01, 0x00} + } + , + { + 0x10, 0x00000A8AUL, + { + 0x0D, 0x03, 0xE7, 0xF8, 0xFF, 0x00, 0x0D, 0x03, 0xF2, 0x8C, 0x2A, 0x11, + 0xE1, 0x18, 0xFC, 0xFF} + } + , + { + 0x06, 0x00000A9AUL, + { + 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00000AA0UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xE0, 0x0D, 0xF6, 0x8C, 0x2A, 0x11, + 0xF0, 0x48, 0x29, 0x81} + } + , + { + 0x10, 0x00000AB0UL, + { + 0x2D, 0x3E, 0x09, 0x81, 0x3D, 0x78, 0xF3, 0xF8, 0x2D, 0x11, 0x49, 0x81, + 0x3D, 0x35, 0xE6, 0x8C} + } + , + { + 0x10, 0x00000AC0UL, + { + 0x6E, 0x04, 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, 0x06, 0x11, 0xDC, 0x07, + 0xF4, 0x86, 0x02, 0x00} + } + , + { + 0x10, 0x00000AD0UL, + { + 0xF0, 0xE4, 0x66, 0xFE, 0xD6, 0x00, 0xDC, 0x07, 0xA9, 0x86, 0xF0, 0xF4, + 0x68, 0xF1, 0xF0, 0x4F} + } + , + { + 0x10, 0x00000AE0UL, + { + 0x49, 0x80, 0x2D, 0x01, 0xE0, 0x1D, 0x9A, 0xFE, 0x01, 0x60, 0x78, 0xD2, + 0x9A, 0xFE, 0x01, 0x70} + } + , + { + 0x10, 0x00000AF0UL, + { + 0x78, 0xD4, 0x9A, 0xFE, 0x01, 0x10, 0x3F, 0xFD, 0x9A, 0xFE, 0x04, 0x40, + 0xF0, 0x4F, 0x49, 0x80} + } + , + { + 0x10, 0x00000B00UL, + { + 0x3D, 0x01, 0x4F, 0xFD, 0xF0, 0x4E, 0x69, 0x84, 0xC0, 0x84, 0x3D, 0x04, + 0xF0, 0x4F, 0x49, 0x80} + } + , + { + 0x10, 0x00000B10UL, + { + 0x3D, 0x01, 0x5F, 0xFD, 0x9A, 0x04, 0x01, 0xC0, 0x8F, 0xFD, 0xBB, 0x4E, + 0xF0, 0x64, 0xF0, 0x75} + } + , + { + 0x10, 0x00000B20UL, + { + 0x70, 0x65, 0x3D, 0x43, 0x9F, 0xFD, 0x0D, 0x41, 0xE6, 0xFD, 0xFF, 0xFF, + 0x0D, 0x3E, 0xF3, 0xF8} + } + , + { + 0x10, 0x00000B30UL, + { + 0x2C, 0x11, 0x49, 0x81, 0x3D, 0x35, 0xE6, 0x8C, 0x6E, 0x04, 0xF2, 0xF7, + 0x04, 0x11, 0xF2, 0xF6} + } + , + { + 0x10, 0x00000B40UL, + { + 0x02, 0x11, 0xDC, 0x07, 0xF4, 0x86, 0x02, 0x00, 0xF0, 0xE4, 0x66, 0xFE, + 0xD6, 0x00, 0xDC, 0x07} + } + , + { + 0x10, 0x00000B50UL, + { + 0xA9, 0x86, 0xF0, 0xF4, 0x68, 0xF1, 0xF0, 0x4F, 0x49, 0x80, 0x2D, 0x01, + 0xE0, 0x1D, 0x9A, 0xFE} + } + , + { + 0x10, 0x00000B60UL, + { + 0x01, 0x60, 0x78, 0xD2, 0x9A, 0xFE, 0x01, 0x70, 0x78, 0xD4, 0x9A, 0xFE, + 0x01, 0x10, 0x3F, 0xFD} + } + , + { + 0x10, 0x00000B70UL, + { + 0x9A, 0xFE, 0x04, 0x40, 0xF0, 0x4F, 0x49, 0x80, 0x3D, 0x01, 0x4F, 0xFD, + 0xF0, 0x4E, 0x69, 0x84} + } + , + { + 0x10, 0x00000B80UL, + { + 0xC0, 0x84, 0x3D, 0x04, 0xF0, 0x4F, 0x49, 0x80, 0x3D, 0x01, 0x5F, 0xFD, + 0x9A, 0x04, 0x01, 0xB0} + } + , + { + 0x10, 0x00000B90UL, + { + 0x8F, 0xFD, 0xBB, 0x2A, 0xF0, 0x64, 0xF0, 0x75, 0x70, 0x65, 0x3D, 0x07, + 0x9F, 0xFD, 0x0D, 0x05} + } + , + { + 0x10, 0x00000BA0UL, + { + 0xE6, 0xFD, 0xFF, 0xFF, 0x0D, 0x02, 0xE6, 0xFD, 0xFF, 0xFF, 0xF2, 0x8C, + 0x2A, 0x11, 0xF0, 0x4D} + } + , + { + 0x08, 0x00000BB0UL, + { + 0xFC, 0xFF, 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00000BB8UL, + { + 0xF2, 0xF4, 0xE6, 0xFC, 0x3D, 0x03, 0xE0, 0x04, 0xE0, 0x05, 0xCB, 0x00, + 0xF2, 0xF5, 0xEE, 0xFC} + } + , + { + 0x10, 0x00000BC8UL, + { + 0xE6, 0xF4, 0x12, 0x00, 0x1B, 0x54, 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, + 0x0E, 0xFE, 0xE6, 0xF6} + } + , + { + 0x10, 0x00000BD8UL, + { + 0x20, 0xFD, 0xE6, 0xF7, 0x02, 0x00, 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, + 0x10, 0x59, 0xCB, 0x00} + } + , + { + 0x10, 0x00000BE8UL, + { + 0xF2, 0xF4, 0xE4, 0xFC, 0x3D, 0x03, 0xE0, 0x04, 0xE0, 0x05, 0xCB, 0x00, + 0xF2, 0xF5, 0xEC, 0xFC} + } + , + { + 0x10, 0x00000BF8UL, + { + 0xE6, 0xF4, 0x12, 0x00, 0x1B, 0x54, 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, + 0x0E, 0xFE, 0xE6, 0xF6} + } + , + { + 0x10, 0x00000C08UL, + { + 0x00, 0x00, 0xE6, 0xF7, 0x02, 0x00, 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, + 0x10, 0x59, 0xCB, 0x00} + } + , + { + 0x10, 0x00000C18UL, + { + 0x24, 0x8F, 0xEE, 0xFC, 0xF2, 0xF4, 0xEE, 0xFC, 0x46, 0xF4, 0x10, 0x0E, + 0x3D, 0x02, 0xF6, 0x8E} + } + , + { + 0x0C, 0x00000C28UL, + { + 0xEE, 0xFC, 0x6E, 0xC8, 0x04, 0x8F, 0xE6, 0xFC, 0x6F, 0xC8, 0xCB, 0x00} + } + , + { + 0x10, 0x00000C34UL, + { + 0x24, 0x8F, 0xEC, 0xFC, 0xF2, 0xF4, 0xEC, 0xFC, 0x46, 0xF4, 0x10, 0x0E, + 0x3D, 0x02, 0xF6, 0x8E} + } + , + { + 0x0C, 0x00000C44UL, + { + 0xEC, 0xFC, 0x6E, 0xC9, 0x04, 0x8F, 0xE4, 0xFC, 0x6F, 0xC9, 0xCB, 0x00} + } + , + { + 0x10, 0x00000C50UL, + { + 0xF6, 0x8C, 0x2A, 0x11, 0xF3, 0xF8, 0x2D, 0x11, 0x49, 0x81, 0x3D, 0x30, + 0xE6, 0x8C, 0x6E, 0x04} + } + , + { + 0x10, 0x00000C60UL, + { + 0xF2, 0xF7, 0x08, 0x11, 0xF2, 0xF6, 0x06, 0x11, 0xDC, 0x07, 0xF4, 0x86, + 0x02, 0x00, 0xC0, 0x84} + } + , + { + 0x10, 0x00000C70UL, + { + 0x66, 0xF4, 0x30, 0x00, 0x48, 0x40, 0xBD, 0x02, 0x24, 0x8F, 0xE2, 0xFC, + 0xDC, 0x07, 0xA9, 0x86} + } + , + { + 0x10, 0x00000C80UL, + { + 0x9A, 0xF4, 0x08, 0x00, 0xE7, 0xF8, 0x64, 0x00, 0xF7, 0xF8, 0xF1, 0xFC, + 0xF6, 0x8E, 0xE2, 0xFC} + } + , + { + 0x10, 0x00000C90UL, + { + 0xF7, 0x8E, 0xF4, 0xFC, 0x05, 0x8F, 0xF1, 0xFC, 0xF3, 0xF8, 0xF1, 0xFC, + 0x49, 0x80, 0x3D, 0x10} + } + , + { + 0x10, 0x00000CA0UL, + { + 0xC2, 0xF4, 0xF4, 0xFC, 0x02, 0xF4, 0xE2, 0xFC, 0x7C, 0x14, 0xF7, 0xF8, + 0xF4, 0xFC, 0xE7, 0xF8} + } + , + { + 0x10, 0x00000CB0UL, + { + 0x64, 0x00, 0xF7, 0xF8, 0xF1, 0xFC, 0xF6, 0x8E, 0xE2, 0xFC, 0x0D, 0x02, + 0xF7, 0x8E, 0xF4, 0xFC} + } + , + { + 0x10, 0x00000CC0UL, + { + 0xF3, 0xF8, 0x2C, 0x11, 0x49, 0x81, 0x3D, 0x30, 0xE6, 0x8C, 0x6E, 0x04, + 0xF2, 0xF7, 0x04, 0x11} + } + , + { + 0x10, 0x00000CD0UL, + { + 0xF2, 0xF6, 0x02, 0x11, 0xDC, 0x07, 0xF4, 0x86, 0x02, 0x00, 0xC0, 0x84, + 0x66, 0xF4, 0x30, 0x00} + } + , + { + 0x10, 0x00000CE0UL, + { + 0x48, 0x40, 0xBD, 0x02, 0x24, 0x8F, 0xE0, 0xFC, 0xDC, 0x07, 0xA9, 0x86, + 0x9A, 0xF4, 0x08, 0x00} + } + , + { + 0x10, 0x00000CF0UL, + { + 0xE7, 0xF8, 0x64, 0x00, 0xF7, 0xF8, 0xF0, 0xFC, 0xF6, 0x8E, 0xE0, 0xFC, + 0xF7, 0x8E, 0xF3, 0xFC} + } + , + { + 0x10, 0x00000D00UL, + { + 0x05, 0x8F, 0xF0, 0xFC, 0xF3, 0xF8, 0xF0, 0xFC, 0x49, 0x80, 0x3D, 0x10, + 0xC2, 0xF4, 0xF3, 0xFC} + } + , + { + 0x10, 0x00000D10UL, + { + 0x02, 0xF4, 0xE0, 0xFC, 0x7C, 0x14, 0xF7, 0xF8, 0xF3, 0xFC, 0xE7, 0xF8, + 0x64, 0x00, 0xF7, 0xF8} + } + , + { + 0x10, 0x00000D20UL, + { + 0xF0, 0xFC, 0xF6, 0x8E, 0xE0, 0xFC, 0x0D, 0x02, 0xF7, 0x8E, 0xF3, 0xFC, + 0xF2, 0x8C, 0x2A, 0x11} + } + , + { + 0x0C, 0x00000D30UL, + { + 0xE0, 0x89, 0xC2, 0xF8, 0xF2, 0xFC, 0xCA, 0x00, 0x00, 0x27, 0xCB, 0x00} + } + , + { + 0x10, 0x00000D3CUL, + { + 0xE1, 0x0C, 0xF6, 0x8C, 0x2A, 0x11, 0xF0, 0x48, 0x29, 0x81, 0x2D, 0x10, + 0x09, 0x81, 0x3D, 0x1B} + } + , + { + 0x10, 0x00000D4CUL, + { + 0xE6, 0x8C, 0x6E, 0x04, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, + 0xDC, 0x05, 0xF4, 0x84} + } + , + { + 0x10, 0x00000D5CUL, + { + 0x03, 0x00, 0x47, 0xF8, 0xE0, 0x00, 0x3D, 0x0F, 0xE1, 0x1C, 0x0D, 0x0D, + 0xE6, 0x8C, 0x6E, 0x04} + } + , + { + 0x10, 0x00000D6CUL, + { + 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xF4, 0x84, + 0x03, 0x00, 0x47, 0xF8} + } + , + { + 0x0E, 0x00000D7CUL, + { + 0xE0, 0x00, 0x3D, 0x01, 0xE1, 0x1C, 0xF2, 0x8C, 0x2A, 0x11, 0xF1, 0x8C, + 0xCB, 0x00} + } + , + { + 0x0A, 0x00000D8AUL, + { + 0xE0, 0x05, 0x86, 0xF5, 0xE7, 0x03, 0x8D, 0xFD, 0xCB, 0x00} + } + , + { + 0x02, 0x00002BC6UL, + { + 0x04, 0x8D} + } + , + { + 0x02, 0x00002BC8UL, + { + 0x04, 0x8E} + } + , + { + 0x02, 0x00002BCAUL, + { + 0x04, 0x8F} + } + , + { + 0x02, 0x00002BCCUL, + { + 0x05, 0x80} + } + , + { + 0x02, 0x00002BCEUL, + { + 0x05, 0x81} + } + , + { + 0x10, 0x00000D94UL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x20, 0xFC, 0xC6, 0x08, + 0x20, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x00000DA4UL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xF6, 0x8C, + 0xFA, 0xFC, 0xE6, 0x8C} + } + , + { + 0x10, 0x00000DB4UL, + { + 0x6E, 0x04, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, + 0xF4, 0x84, 0x03, 0x00} + } + , + { + 0x10, 0x00000DC4UL, + { + 0xF7, 0xF8, 0x58, 0x11, 0xF3, 0xF8, 0x58, 0x11, 0x9A, 0xF4, 0x18, 0x00, + 0xF2, 0xF4, 0xE6, 0xFC} + } + , + { + 0x10, 0x00000DD4UL, + { + 0x46, 0xF4, 0x10, 0x0E, 0x2D, 0x0A, 0xF2, 0xFA, 0x08, 0x11, 0xF2, 0xF9, + 0x06, 0x11, 0x06, 0xF9} + } + , + { + 0x10, 0x00000DE4UL, + { + 0x10, 0x00, 0xE0, 0x08, 0xCA, 0x00, 0x48, 0x11, 0x0D, 0x01, 0xCF, 0x04, + 0xE1, 0x4C, 0xF2, 0xF5} + } + , + { + 0x10, 0x00000DF4UL, + { + 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, + 0xF3, 0xF8, 0x58, 0x11} + } + , + { + 0x10, 0x00000E04UL, + { + 0x9A, 0xF4, 0x03, 0x10, 0xE0, 0x08, 0xCA, 0x00, 0xA4, 0x2A, 0xC2, 0xF4, + 0x58, 0x11, 0x66, 0xF4} + } + , + { + 0x10, 0x00000E14UL, + { + 0x2C, 0x00, 0xEA, 0x20, 0x44, 0x0F, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, + 0x06, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x00000E24UL, + { + 0xF4, 0x84, 0x02, 0x00, 0xF7, 0xF8, 0x59, 0x11, 0xF3, 0xF8, 0x59, 0x11, + 0x9A, 0xF4, 0x04, 0x70} + } + , + { + 0x10, 0x00000E34UL, + { + 0x8A, 0x04, 0x02, 0xF0, 0xFF, 0x04, 0xDF, 0x04, 0xF3, 0xF8, 0x59, 0x11, + 0x9A, 0xF4, 0x02, 0x60} + } + , + { + 0x10, 0x00000E44UL, + { + 0x9A, 0x05, 0x08, 0x10, 0xF3, 0xF8, 0x59, 0x11, 0x67, 0xF8, 0x40, 0x00, + 0xC0, 0x84, 0x3D, 0x05} + } + , + { + 0x10, 0x00000E54UL, + { + 0x9A, 0x05, 0x03, 0x10, 0x3A, 0x05, 0x05, 0x11, 0xDF, 0x04, 0xF3, 0xF8, + 0x58, 0x11, 0x9A, 0xF4} + } + , + { + 0x10, 0x00000E64UL, + { + 0x13, 0x30, 0xDF, 0x04, 0xE1, 0x4C, 0x0D, 0x07, 0xF2, 0xF5, 0x08, 0x11, + 0xF2, 0xF4, 0x06, 0x11} + } + , + { + 0x10, 0x00000E74UL, + { + 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, + 0x06, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x00000E84UL, + { + 0xF4, 0x84, 0x02, 0x00, 0x8A, 0xF4, 0xF0, 0x00, 0x9A, 0x04, 0x5A, 0xD0, + 0xF2, 0xF4, 0xE6, 0xFC} + } + , + { + 0x10, 0x00000E94UL, + { + 0x46, 0xF4, 0x10, 0x0E, 0x2D, 0x53, 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, + 0x12, 0x00, 0x1B, 0x54} + } + , + { + 0x10, 0x00000EA4UL, + { + 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, 0x0E, 0xFE, 0xE6, 0xF6, 0x20, 0xFD, + 0xE6, 0xF7, 0x02, 0x00} + } + , + { + 0x10, 0x00000EB4UL, + { + 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, 0x10, 0x59, 0xF6, 0xF4, 0xF6, 0xFC, + 0xF6, 0xF5, 0xF8, 0xFC} + } + , + { + 0x10, 0x00000EC4UL, + { + 0xCA, 0x00, 0x2A, 0x28, 0xF6, 0xF4, 0x54, 0x11, 0xF6, 0xF5, 0x56, 0x11, + 0xE0, 0x08, 0xCA, 0x00} + } + , + { + 0x10, 0x00000ED4UL, + { + 0xA0, 0x0A, 0xF6, 0xF4, 0x52, 0x11, 0xF2, 0xF4, 0x54, 0x11, 0xF2, 0xF5, + 0x56, 0x11, 0xF2, 0xF3} + } + , + { + 0x10, 0x00000EE4UL, + { + 0xF8, 0xFC, 0xF2, 0xF2, 0xF6, 0xFC, 0xCA, 0x00, 0x62, 0x00, 0xF2, 0xF6, + 0x52, 0x11, 0xF2, 0xF5} + } + , + { + 0x10, 0x00000EF4UL, + { + 0xF8, 0xFC, 0xF2, 0xF4, 0xF6, 0xFC, 0x08, 0x46, 0x18, 0x50, 0xDC, 0x05, + 0xB8, 0x64, 0xE1, 0x1C} + } + , + { + 0x10, 0x00000F04UL, + { + 0xF2, 0xF5, 0xF8, 0xFC, 0xF2, 0xF4, 0xF6, 0xFC, 0x08, 0x44, 0x18, 0x50, + 0xDC, 0x05, 0xB9, 0xC4} + } + , + { + 0x10, 0x00000F14UL, + { + 0x24, 0x8F, 0xEA, 0xFC, 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, 0x10, 0x0E, + 0xF2, 0x07, 0xEA, 0xFC} + } + , + { + 0x10, 0x00000F24UL, + { + 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, 0xF6, 0xF4, + 0xEA, 0xFC, 0x24, 0x8F} + } + , + { + 0x10, 0x00000F34UL, + { + 0xE6, 0xFC, 0xC2, 0xF8, 0x31, 0x11, 0xCA, 0x00, 0x38, 0x23, 0x0D, 0x01, + 0xCF, 0x04, 0xDE, 0x04} + } + , + { + 0x10, 0x00000F44UL, + { + 0xF2, 0xF5, 0x08, 0x11, 0xF2, 0xF4, 0x06, 0x11, 0xDC, 0x05, 0xF4, 0x84, + 0x03, 0x00, 0xF7, 0xF8} + } + , + { + 0x10, 0x00000F54UL, + { + 0x58, 0x11, 0x49, 0x80, 0xEA, 0x30, 0xC8, 0x0D, 0xF2, 0x8C, 0xFA, 0xFC, + 0xFC, 0x07, 0xFC, 0x06} + } + , + { + 0x0A, 0x00000F64UL, + { + 0xFC, 0x87, 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x00000F6EUL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x20, 0xFC, 0xC6, 0x08, + 0x20, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x00000F7EUL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xF6, 0x8C, + 0xFA, 0xFC, 0xE6, 0x8C} + } + , + { + 0x10, 0x00000F8EUL, + { + 0x6E, 0x04, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, + 0xF4, 0x84, 0x03, 0x00} + } + , + { + 0x10, 0x00000F9EUL, + { + 0xF7, 0xF8, 0x58, 0x11, 0xF3, 0xF8, 0x58, 0x11, 0x9A, 0xF4, 0x18, 0x00, + 0xF2, 0xF4, 0xE4, 0xFC} + } + , + { + 0x10, 0x00000FAEUL, + { + 0x46, 0xF4, 0x10, 0x0E, 0x2D, 0x0A, 0xF2, 0xFA, 0x04, 0x11, 0xF2, 0xF9, + 0x02, 0x11, 0x06, 0xF9} + } + , + { + 0x10, 0x00000FBEUL, + { + 0x10, 0x00, 0xE0, 0x18, 0xCA, 0x00, 0x48, 0x11, 0x0D, 0x01, 0xBF, 0x04, + 0xE1, 0x4C, 0xF2, 0xF5} + } + , + { + 0x10, 0x00000FCEUL, + { + 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, + 0xF3, 0xF8, 0x58, 0x11} + } + , + { + 0x10, 0x00000FDEUL, + { + 0x9A, 0xF4, 0x03, 0x10, 0xE0, 0x18, 0xCA, 0x00, 0xA4, 0x2A, 0xC2, 0xF4, + 0x58, 0x11, 0x66, 0xF4} + } + , + { + 0x10, 0x00000FEEUL, + { + 0x2C, 0x00, 0xEA, 0x20, 0x1E, 0x11, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, + 0x02, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x00000FFEUL, + { + 0xF4, 0x84, 0x02, 0x00, 0xF7, 0xF8, 0x59, 0x11, 0xF3, 0xF8, 0x59, 0x11, + 0x9A, 0xF4, 0x04, 0x70} + } + , + { + 0x10, 0x0000100EUL, + { + 0x8A, 0x04, 0x02, 0xE0, 0xEF, 0x04, 0xDF, 0x04, 0xF3, 0xF8, 0x59, 0x11, + 0x9A, 0xF4, 0x02, 0x60} + } + , + { + 0x10, 0x0000101EUL, + { + 0x9A, 0x05, 0x08, 0x00, 0xF3, 0xF8, 0x59, 0x11, 0x67, 0xF8, 0x40, 0x00, + 0xC0, 0x84, 0x3D, 0x05} + } + , + { + 0x10, 0x0000102EUL, + { + 0x9A, 0x05, 0x03, 0x00, 0x3A, 0x05, 0x05, 0x00, 0xDF, 0x04, 0xF3, 0xF8, + 0x58, 0x11, 0x9A, 0xF4} + } + , + { + 0x10, 0x0000103EUL, + { + 0x13, 0x30, 0xDF, 0x04, 0xE1, 0x4C, 0x0D, 0x07, 0xF2, 0xF5, 0x04, 0x11, + 0xF2, 0xF4, 0x02, 0x11} + } + , + { + 0x10, 0x0000104EUL, + { + 0xDC, 0x05, 0xE4, 0xC4, 0x01, 0x00, 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, + 0x02, 0x11, 0xDC, 0x05} + } + , + { + 0x10, 0x0000105EUL, + { + 0xF4, 0x84, 0x02, 0x00, 0x8A, 0xF4, 0xF0, 0x00, 0x9A, 0x04, 0x5A, 0xD0, + 0xF2, 0xF4, 0xE4, 0xFC} + } + , + { + 0x10, 0x0000106EUL, + { + 0x46, 0xF4, 0x10, 0x0E, 0x2D, 0x53, 0xF2, 0xF5, 0xE8, 0xFC, 0xE6, 0xF4, + 0x12, 0x00, 0x1B, 0x54} + } + , + { + 0x10, 0x0000107EUL, + { + 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, 0x0E, 0xFE, 0xE6, 0xF6, 0x00, 0x00, + 0xE6, 0xF7, 0x02, 0x00} + } + , + { + 0x10, 0x0000108EUL, + { + 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, 0x10, 0x59, 0xF6, 0xF4, 0xF6, 0xFC, + 0xF6, 0xF5, 0xF8, 0xFC} + } + , + { + 0x10, 0x0000109EUL, + { + 0xCA, 0x00, 0x2A, 0x28, 0xF6, 0xF4, 0x54, 0x11, 0xF6, 0xF5, 0x56, 0x11, + 0xE0, 0x18, 0xCA, 0x00} + } + , + { + 0x10, 0x000010AEUL, + { + 0xA0, 0x0A, 0xF6, 0xF4, 0x52, 0x11, 0xF2, 0xF4, 0x54, 0x11, 0xF2, 0xF5, + 0x56, 0x11, 0xF2, 0xF3} + } + , + { + 0x10, 0x000010BEUL, + { + 0xF8, 0xFC, 0xF2, 0xF2, 0xF6, 0xFC, 0xCA, 0x00, 0x62, 0x00, 0xF2, 0xF6, + 0x52, 0x11, 0xF2, 0xF5} + } + , + { + 0x10, 0x000010CEUL, + { + 0xF8, 0xFC, 0xF2, 0xF4, 0xF6, 0xFC, 0x08, 0x46, 0x18, 0x50, 0xDC, 0x05, + 0xB8, 0x64, 0xE1, 0x1C} + } + , + { + 0x10, 0x000010DEUL, + { + 0xF2, 0xF5, 0xF8, 0xFC, 0xF2, 0xF4, 0xF6, 0xFC, 0x08, 0x44, 0x18, 0x50, + 0xDC, 0x05, 0xB9, 0xC4} + } + , + { + 0x10, 0x000010EEUL, + { + 0x24, 0x8F, 0xE8, 0xFC, 0xF2, 0xF5, 0xE8, 0xFC, 0xE6, 0xF4, 0x10, 0x0E, + 0xF2, 0x07, 0xE8, 0xFC} + } + , + { + 0x10, 0x000010FEUL, + { + 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, 0xF6, 0xF4, + 0xE8, 0xFC, 0x24, 0x8F} + } + , + { + 0x10, 0x0000110EUL, + { + 0xE4, 0xFC, 0xC2, 0xF8, 0x30, 0x11, 0xCA, 0x00, 0x38, 0x23, 0x0D, 0x01, + 0xBF, 0x04, 0xDE, 0x04} + } + , + { + 0x10, 0x0000111EUL, + { + 0xF2, 0xF5, 0x04, 0x11, 0xF2, 0xF4, 0x02, 0x11, 0xDC, 0x05, 0xF4, 0x84, + 0x03, 0x00, 0xF7, 0xF8} + } + , + { + 0x10, 0x0000112EUL, + { + 0x58, 0x11, 0x49, 0x80, 0xEA, 0x30, 0xA2, 0x0F, 0xF2, 0x8C, 0xFA, 0xFC, + 0xFC, 0x07, 0xFC, 0x06} + } + , + { + 0x0A, 0x0000113EUL, + { + 0xFC, 0x87, 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x00001148UL, + { + 0xEC, 0xFD, 0xEC, 0xFE, 0xEC, 0xFF, 0xF0, 0xE9, 0xF0, 0xFA, 0x06, 0xF0, + 0xF6, 0xFF, 0xF0, 0x48} + } + , + { + 0x10, 0x00001158UL, + { + 0x49, 0x80, 0xEA, 0x30, 0x20, 0x14, 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, + 0x12, 0x00, 0x1B, 0x54} + } + , + { + 0x10, 0x00001168UL, + { + 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, 0x0E, 0xFE, 0xE6, 0xF6, 0x20, 0xFD, + 0xE6, 0xF7, 0x02, 0x00} + } + , + { + 0x10, 0x00001178UL, + { + 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, 0x10, 0x59, 0xF6, 0xF4, 0xFC, 0xFC, + 0xF6, 0xF5, 0xFE, 0xFC} + } + , + { + 0x10, 0x00001188UL, + { + 0xDC, 0x0F, 0xA9, 0x8E, 0x8A, 0xF4, 0x02, 0x70, 0xEA, 0x00, 0xF6, 0x12, + 0xF0, 0xBF, 0xF0, 0xAE} + } + , + { + 0x10, 0x00001198UL, + { + 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, 0x18, 0x50, + 0x08, 0x41, 0x18, 0x50} + } + , + { + 0x10, 0x000011A8UL, + { + 0xF0, 0x84, 0xF0, 0x95, 0xCA, 0x00, 0x80, 0x29, 0xF2, 0xF3, 0xFE, 0xFC, + 0xF2, 0xF2, 0xFC, 0xFC} + } + , + { + 0x10, 0x000011B8UL, + { + 0x08, 0x26, 0x18, 0x30, 0xCA, 0x00, 0x54, 0x00, 0xC4, 0x40, 0x02, 0x00, + 0xC4, 0x50, 0x04, 0x00} + } + , + { + 0x10, 0x000011C8UL, + { + 0xD4, 0x40, 0x04, 0x00, 0x66, 0xF4, 0xFF, 0xF8, 0xC4, 0x40, 0x04, 0x00, + 0xF2, 0xF5, 0xFE, 0xFC} + } + , + { + 0x10, 0x000011D8UL, + { + 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x45, 0x18, 0x50, 0xDC, 0x05, 0xA9, 0x84, + 0xC0, 0x84, 0x7C, 0x64} + } + , + { + 0x10, 0x000011E8UL, + { + 0x9A, 0xF4, 0x05, 0x00, 0xF4, 0x80, 0x05, 0x00, 0x79, 0x84, 0xE4, 0x80, + 0x05, 0x00, 0xD4, 0x40} + } + , + { + 0x10, 0x000011F8UL, + { + 0x02, 0x00, 0xD4, 0x50, 0x04, 0x00, 0x62, 0xF4, 0x26, 0x11, 0x62, 0xF5, + 0x28, 0x11, 0x22, 0xF4} + } + , + { + 0x10, 0x00001208UL, + { + 0xFE, 0x10, 0x32, 0xF5, 0x00, 0x11, 0x3D, 0x2E, 0xCA, 0x00, 0x2A, 0x28, + 0xF0, 0x64, 0xF0, 0x75} + } + , + { + 0x10, 0x00001218UL, + { + 0xC4, 0x40, 0x06, 0x00, 0xC4, 0x50, 0x08, 0x00, 0xF2, 0xF3, 0xFE, 0xFC, + 0xF2, 0xF2, 0xFC, 0xFC} + } + , + { + 0x10, 0x00001228UL, + { + 0xCA, 0x00, 0x62, 0x00, 0xE1, 0x0C, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, + 0xFC, 0xFC, 0x08, 0x44} + } + , + { + 0x10, 0x00001238UL, + { + 0x18, 0x50, 0xDC, 0x05, 0xB9, 0xC4, 0x24, 0x8F, 0xEA, 0xFC, 0xF2, 0xF5, + 0xEA, 0xFC, 0xE6, 0xF4} + } + , + { + 0x10, 0x00001248UL, + { + 0x10, 0x0E, 0xF2, 0x07, 0xEA, 0xFC, 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, + 0xF2, 0xF6, 0x0E, 0xFE} + } + , + { + 0x10, 0x00001258UL, + { + 0xF6, 0xF4, 0xEA, 0xFC, 0x24, 0x8F, 0xE6, 0xFC, 0xC2, 0xF8, 0x31, 0x11, + 0xCA, 0x00, 0x38, 0x23} + } + , + { + 0x10, 0x00001268UL, + { + 0xEA, 0x00, 0xC8, 0x16, 0xD4, 0x40, 0x02, 0x00, 0xD4, 0x50, 0x04, 0x00, + 0x62, 0xF4, 0x1E, 0x11} + } + , + { + 0x10, 0x00001278UL, + { + 0x62, 0xF5, 0x20, 0x11, 0x22, 0xF4, 0xF6, 0x10, 0x32, 0xF5, 0xF8, 0x10, + 0xEA, 0x30, 0xC8, 0x16} + } + , + { + 0x10, 0x00001288UL, + { + 0xCA, 0x00, 0x2A, 0x28, 0xF0, 0x64, 0xF0, 0x75, 0xC4, 0x40, 0x06, 0x00, + 0xC4, 0x50, 0x08, 0x00} + } + , + { + 0x10, 0x00001298UL, + { + 0xF2, 0xF3, 0xFE, 0xFC, 0xF2, 0xF2, 0xFC, 0xFC, 0xCA, 0x00, 0x62, 0x00, + 0xE1, 0x2C, 0xF2, 0xF5} + } + , + { + 0x10, 0x000012A8UL, + { + 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, 0x18, 0x50, 0xDC, 0x05, + 0xB9, 0xC4, 0xF2, 0xF7} + } + , + { + 0x10, 0x000012B8UL, + { + 0xFE, 0xFC, 0xF2, 0xF6, 0xFC, 0xFC, 0x08, 0x64, 0x18, 0x70, 0xDC, 0x17, + 0xA9, 0x86, 0xB9, 0x86} + } + , + { + 0x10, 0x000012C8UL, + { + 0x24, 0x8F, 0xEA, 0xFC, 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, 0x10, 0x0E, + 0xF2, 0x07, 0xEA, 0xFC} + } + , + { + 0x10, 0x000012D8UL, + { + 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, 0xF6, 0xF4, + 0xEA, 0xFC, 0x24, 0x8F} + } + , + { + 0x10, 0x000012E8UL, + { + 0xE6, 0xFC, 0xC2, 0xF8, 0x31, 0x11, 0xCA, 0x00, 0x38, 0x23, 0xEA, 0x00, + 0xC8, 0x16, 0xF0, 0xBF} + } + , + { + 0x10, 0x000012F8UL, + { + 0xF0, 0xAE, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, + 0x18, 0x50, 0x08, 0x41} + } + , + { + 0x10, 0x00001308UL, + { + 0x18, 0x50, 0xF0, 0x84, 0xF0, 0x95, 0xCA, 0x00, 0x02, 0x2A, 0xF2, 0xF5, + 0xFE, 0xFC, 0xF2, 0xF4} + } + , + { + 0x10, 0x00001318UL, + { + 0xFC, 0xFC, 0x08, 0x46, 0x18, 0x50, 0xDC, 0x05, 0xA8, 0x44, 0xB8, 0x40, + 0x66, 0xF4, 0xFF, 0xE0} + } + , + { + 0x10, 0x00001328UL, + { + 0xB8, 0x40, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x45, + 0x18, 0x50, 0xDC, 0x05} + } + , + { + 0x10, 0x00001338UL, + { + 0xA9, 0x84, 0xC0, 0x84, 0x7C, 0x64, 0x9A, 0xF4, 0x06, 0x00, 0xF4, 0x80, + 0x01, 0x00, 0x77, 0xF8} + } + , + { + 0x10, 0x00001348UL, + { + 0x10, 0x00, 0xE4, 0x80, 0x01, 0x00, 0xA8, 0xD0, 0xF0, 0x4D, 0x62, 0xF4, + 0x10, 0x11, 0x42, 0xF4} + } + , + { + 0x10, 0x00001358UL, + { + 0x18, 0x11, 0x3D, 0x2E, 0xCA, 0x00, 0x2A, 0x28, 0xF0, 0x64, 0xF0, 0x75, + 0xC4, 0x40, 0x06, 0x00} + } + , + { + 0x10, 0x00001368UL, + { + 0xC4, 0x50, 0x08, 0x00, 0xF2, 0xF3, 0xFE, 0xFC, 0xF2, 0xF2, 0xFC, 0xFC, + 0xCA, 0x00, 0x62, 0x00} + } + , + { + 0x10, 0x00001378UL, + { + 0xE1, 0x0C, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, + 0x18, 0x50, 0xDC, 0x05} + } + , + { + 0x10, 0x00001388UL, + { + 0xB9, 0xC4, 0x24, 0x8F, 0xEA, 0xFC, 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, + 0x10, 0x0E, 0xF2, 0x07} + } + , + { + 0x10, 0x00001398UL, + { + 0xEA, 0xFC, 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, + 0xF6, 0xF4, 0xEA, 0xFC} + } + , + { + 0x10, 0x000013A8UL, + { + 0x24, 0x8F, 0xE6, 0xFC, 0xC2, 0xF8, 0x31, 0x11, 0xCA, 0x00, 0x38, 0x23, + 0xEA, 0x00, 0xC8, 0x16} + } + , + { + 0x10, 0x000013B8UL, + { + 0x62, 0xFD, 0x0C, 0x11, 0x42, 0xFD, 0x14, 0x11, 0xEA, 0x30, 0xC8, 0x16, + 0xCA, 0x00, 0x2A, 0x28} + } + , + { + 0x10, 0x000013C8UL, + { + 0xF0, 0x64, 0xF0, 0x75, 0xC4, 0x40, 0x06, 0x00, 0xC4, 0x50, 0x08, 0x00, + 0xF2, 0xF3, 0xFE, 0xFC} + } + , + { + 0x10, 0x000013D8UL, + { + 0xF2, 0xF2, 0xFC, 0xFC, 0xCA, 0x00, 0x62, 0x00, 0xE1, 0x2C, 0xF2, 0xF5, + 0xFE, 0xFC, 0xF2, 0xF4} + } + , + { + 0x0E, 0x000013E8UL, + { + 0xFC, 0xFC, 0x08, 0x44, 0x18, 0x50, 0xDC, 0x05, 0xB9, 0xC4, 0x24, 0x8F, + 0xEA, 0xFC} + } + , + { + 0x10, 0x000013F6UL, + { + 0xF2, 0xF5, 0xEA, 0xFC, 0xE6, 0xF4, 0x10, 0x0E, 0xF2, 0x07, 0xEA, 0xFC, + 0x5B, 0x44, 0xF2, 0xF4} + } + , + { + 0x10, 0x00001406UL, + { + 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, 0xF6, 0xF4, 0xEA, 0xFC, 0x24, 0x8F, + 0xE6, 0xFC, 0xC2, 0xF8} + } + , + { + 0x10, 0x00001416UL, + { + 0x31, 0x11, 0xCA, 0x00, 0x38, 0x23, 0xEA, 0x00, 0xC8, 0x16, 0xF2, 0xF5, + 0xE8, 0xFC, 0xE6, 0xF4} + } + , + { + 0x10, 0x00001426UL, + { + 0x12, 0x00, 0x1B, 0x54, 0xF2, 0xF9, 0x0C, 0xFE, 0xF2, 0xF8, 0x0E, 0xFE, + 0xE6, 0xF6, 0x00, 0x00} + } + , + { + 0x10, 0x00001436UL, + { + 0xE6, 0xF7, 0x02, 0x00, 0xF0, 0x46, 0x00, 0x48, 0xF0, 0x57, 0x10, 0x59, + 0xF6, 0xF4, 0xFC, 0xFC} + } + , + { + 0x10, 0x00001446UL, + { + 0xF6, 0xF5, 0xFE, 0xFC, 0xDC, 0x0F, 0xA9, 0x8E, 0x8A, 0xF4, 0x02, 0x70, + 0xEA, 0x00, 0xA6, 0x15} + } + , + { + 0x10, 0x00001456UL, + { + 0xF0, 0xBF, 0xF0, 0xAE, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, + 0x08, 0x44, 0x18, 0x50} + } + , + { + 0x10, 0x00001466UL, + { + 0x08, 0x41, 0x18, 0x50, 0xF0, 0x84, 0xF0, 0x95, 0xCA, 0x00, 0x80, 0x29, + 0xF2, 0xF3, 0xFE, 0xFC} + } + , + { + 0x10, 0x00001476UL, + { + 0xF2, 0xF2, 0xFC, 0xFC, 0x08, 0x26, 0x18, 0x30, 0xCA, 0x00, 0x54, 0x00, + 0xC4, 0x40, 0x02, 0x00} + } + , + { + 0x10, 0x00001486UL, + { + 0xC4, 0x50, 0x04, 0x00, 0xD4, 0x40, 0x04, 0x00, 0x66, 0xF4, 0xFF, 0xF8, + 0xC4, 0x40, 0x04, 0x00} + } + , + { + 0x10, 0x00001496UL, + { + 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x45, 0x18, 0x50, + 0xDC, 0x05, 0xA9, 0x84} + } + , + { + 0x10, 0x000014A6UL, + { + 0xC0, 0x84, 0x7C, 0x64, 0x9A, 0xF4, 0x05, 0x00, 0xF4, 0x80, 0x05, 0x00, + 0x79, 0x84, 0xE4, 0x80} + } + , + { + 0x10, 0x000014B6UL, + { + 0x05, 0x00, 0xD4, 0x40, 0x02, 0x00, 0xD4, 0x50, 0x04, 0x00, 0x62, 0xF4, + 0x22, 0x11, 0x62, 0xF5} + } + , + { + 0x10, 0x000014C6UL, + { + 0x24, 0x11, 0x22, 0xF4, 0xFA, 0x10, 0x32, 0xF5, 0xFC, 0x10, 0x3D, 0x2E, + 0xCA, 0x00, 0x2A, 0x28} + } + , + { + 0x10, 0x000014D6UL, + { + 0xF0, 0x64, 0xF0, 0x75, 0xC4, 0x40, 0x06, 0x00, 0xC4, 0x50, 0x08, 0x00, + 0xF2, 0xF3, 0xFE, 0xFC} + } + , + { + 0x10, 0x000014E6UL, + { + 0xF2, 0xF2, 0xFC, 0xFC, 0xCA, 0x00, 0x62, 0x00, 0xE1, 0x0C, 0xF2, 0xF5, + 0xFE, 0xFC, 0xF2, 0xF4} + } + , + { + 0x10, 0x000014F6UL, + { + 0xFC, 0xFC, 0x08, 0x44, 0x18, 0x50, 0xDC, 0x05, 0xB9, 0xC4, 0x24, 0x8F, + 0xE8, 0xFC, 0xF2, 0xF5} + } + , + { + 0x10, 0x00001506UL, + { + 0xE8, 0xFC, 0xE6, 0xF4, 0x10, 0x0E, 0xF2, 0x07, 0xE8, 0xFC, 0x5B, 0x44, + 0xF2, 0xF4, 0x0C, 0xFE} + } + , + { + 0x10, 0x00001516UL, + { + 0xF2, 0xF6, 0x0E, 0xFE, 0xF6, 0xF4, 0xE8, 0xFC, 0x24, 0x8F, 0xE4, 0xFC, + 0xC2, 0xF8, 0x30, 0x11} + } + , + { + 0x10, 0x00001526UL, + { + 0xCA, 0x00, 0x38, 0x23, 0xEA, 0x00, 0xC8, 0x16, 0xD4, 0x40, 0x02, 0x00, + 0xD4, 0x50, 0x04, 0x00} + } + , + { + 0x10, 0x00001536UL, + { + 0x62, 0xF4, 0x1A, 0x11, 0x62, 0xF5, 0x1C, 0x11, 0x22, 0xF4, 0xF2, 0x10, + 0x32, 0xF5, 0xF4, 0x10} + } + , + { + 0x10, 0x00001546UL, + { + 0xEA, 0x30, 0xC8, 0x16, 0xCA, 0x00, 0x2A, 0x28, 0xF0, 0x64, 0xF0, 0x75, + 0xC4, 0x40, 0x06, 0x00} + } + , + { + 0x10, 0x00001556UL, + { + 0xC4, 0x50, 0x08, 0x00, 0xF2, 0xF3, 0xFE, 0xFC, 0xF2, 0xF2, 0xFC, 0xFC, + 0xCA, 0x00, 0x62, 0x00} + } + , + { + 0x10, 0x00001566UL, + { + 0xE1, 0x2C, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, + 0x18, 0x50, 0xDC, 0x05} + } + , + { + 0x10, 0x00001576UL, + { + 0xB9, 0xC4, 0x24, 0x8F, 0xE8, 0xFC, 0xF2, 0xF5, 0xE8, 0xFC, 0xE6, 0xF4, + 0x10, 0x0E, 0xF2, 0x07} + } + , + { + 0x10, 0x00001586UL, + { + 0xE8, 0xFC, 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, + 0xF6, 0xF4, 0xE8, 0xFC} + } + , + { + 0x10, 0x00001596UL, + { + 0x24, 0x8F, 0xE4, 0xFC, 0xC2, 0xF8, 0x30, 0x11, 0xCA, 0x00, 0x38, 0x23, + 0xEA, 0x00, 0xC8, 0x16} + } + , + { + 0x10, 0x000015A6UL, + { + 0xF0, 0xBF, 0xF0, 0xAE, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, + 0x08, 0x44, 0x18, 0x50} + } + , + { + 0x10, 0x000015B6UL, + { + 0x08, 0x41, 0x18, 0x50, 0xF0, 0x84, 0xF0, 0x95, 0xCA, 0x00, 0x02, 0x2A, + 0xF2, 0xF5, 0xFE, 0xFC} + } + , + { + 0x10, 0x000015C6UL, + { + 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x46, 0x18, 0x50, 0xDC, 0x05, 0xA8, 0x44, + 0xB8, 0x40, 0x66, 0xF4} + } + , + { + 0x10, 0x000015D6UL, + { + 0xFF, 0xE0, 0xB8, 0x40, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, + 0x08, 0x45, 0x18, 0x50} + } + , + { + 0x10, 0x000015E6UL, + { + 0xDC, 0x05, 0xA9, 0x84, 0xC0, 0x84, 0x7C, 0x64, 0x9A, 0xF4, 0x06, 0x00, + 0xF4, 0x80, 0x01, 0x00} + } + , + { + 0x10, 0x000015F6UL, + { + 0x77, 0xF8, 0x10, 0x00, 0xE4, 0x80, 0x01, 0x00, 0xA8, 0xD0, 0xF0, 0x4D, + 0x62, 0xF4, 0x0E, 0x11} + } + , + { + 0x10, 0x00001606UL, + { + 0x42, 0xF4, 0x16, 0x11, 0x3D, 0x2D, 0xCA, 0x00, 0x2A, 0x28, 0xF0, 0x64, + 0xF0, 0x75, 0xC4, 0x40} + } + , + { + 0x10, 0x00001616UL, + { + 0x06, 0x00, 0xC4, 0x50, 0x08, 0x00, 0xF2, 0xF3, 0xFE, 0xFC, 0xF2, 0xF2, + 0xFC, 0xFC, 0xCA, 0x00} + } + , + { + 0x10, 0x00001626UL, + { + 0x62, 0x00, 0xE1, 0x0C, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, + 0x08, 0x44, 0x18, 0x50} + } + , + { + 0x10, 0x00001636UL, + { + 0xDC, 0x05, 0xB9, 0xC4, 0x24, 0x8F, 0xE8, 0xFC, 0xF2, 0xF5, 0xE8, 0xFC, + 0xE6, 0xF4, 0x10, 0x0E} + } + , + { + 0x10, 0x00001646UL, + { + 0xF2, 0x07, 0xE8, 0xFC, 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, + 0x0E, 0xFE, 0xF6, 0xF4} + } + , + { + 0x10, 0x00001656UL, + { + 0xE8, 0xFC, 0x24, 0x8F, 0xE4, 0xFC, 0xC2, 0xF8, 0x30, 0x11, 0xCA, 0x00, + 0x38, 0x23, 0x0D, 0x31} + } + , + { + 0x10, 0x00001666UL, + { + 0x62, 0xFD, 0x0A, 0x11, 0x42, 0xFD, 0x12, 0x11, 0x3D, 0x2C, 0xCA, 0x00, + 0x2A, 0x28, 0xF0, 0x64} + } + , + { + 0x10, 0x00001676UL, + { + 0xF0, 0x75, 0xC4, 0x40, 0x06, 0x00, 0xC4, 0x50, 0x08, 0x00, 0xF2, 0xF3, + 0xFE, 0xFC, 0xF2, 0xF2} + } + , + { + 0x06, 0x00001686UL, + { + 0xFC, 0xFC, 0xCA, 0x00, 0x62, 0x00} + } + , + { + 0x10, 0x0000168CUL, + { + 0xE1, 0x2C, 0xF2, 0xF5, 0xFE, 0xFC, 0xF2, 0xF4, 0xFC, 0xFC, 0x08, 0x44, + 0x18, 0x50, 0xDC, 0x05} + } + , + { + 0x10, 0x0000169CUL, + { + 0xB9, 0xC4, 0x24, 0x8F, 0xE8, 0xFC, 0xF2, 0xF5, 0xE8, 0xFC, 0xE6, 0xF4, + 0x10, 0x0E, 0xF2, 0x07} + } + , + { + 0x10, 0x000016ACUL, + { + 0xE8, 0xFC, 0x5B, 0x44, 0xF2, 0xF4, 0x0C, 0xFE, 0xF2, 0xF6, 0x0E, 0xFE, + 0xF6, 0xF4, 0xE8, 0xFC} + } + , + { + 0x10, 0x000016BCUL, + { + 0x24, 0x8F, 0xE4, 0xFC, 0xC2, 0xF8, 0x30, 0x11, 0xCA, 0x00, 0x38, 0x23, + 0x06, 0xF0, 0x0A, 0x00} + } + , + { + 0x08, 0x000016CCUL, + { + 0xFC, 0xFF, 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x06, 0x00002BD0UL, + { + 0x02, 0x40, 0x84, 0x10, 0x00, 0x00} + } + , + { + 0x06, 0x00002BD6UL, + { + 0x02, 0x40, 0x86, 0x10, 0x01, 0x00} + } + , + { + 0x08, 0x00002BDCUL, + { + 0x04, 0x40, 0x88, 0x10, 0x00, 0x00, 0x00, 0x00} + } + , + { + 0x06, 0x00002BE4UL, + { + 0x02, 0x40, 0xCC, 0x10, 0x00, 0x00} + } + , + { + 0x06, 0x00002BEAUL, + { + 0x01, 0x40, 0xF0, 0x10, 0x00, 0x00} + } + , + { + 0x04, 0x00002618UL, + { + 0xEC, 0xFD, 0xF0, 0xD8} + } + , + { + 0x10, 0x0000261CUL, + { + 0xCA, 0x00, 0xA8, 0x27, 0xE6, 0xF4, 0xCE, 0x02, 0xF6, 0xF4, 0x86, 0x10, + 0xF0, 0x4D, 0xF7, 0xF8} + } + , + { + 0x10, 0x0000262CUL, + { + 0xCE, 0x10, 0xE0, 0x06, 0xE1, 0x0A, 0xE4, 0xA6, 0xCF, 0x10, 0x86, 0xF6, + 0x1F, 0x00, 0x8D, 0xFB} + } + , + { + 0x10, 0x0000263CUL, + { + 0xE1, 0x1A, 0xC2, 0xF4, 0x5E, 0x11, 0xE4, 0xA4, 0xCF, 0x10, 0xF0, 0x4D, + 0x49, 0x81, 0x2D, 0x19} + } + , + { + 0x10, 0x0000264CUL, + { + 0xF0, 0x4D, 0x49, 0x82, 0x2D, 0x16, 0xF0, 0x4D, 0x49, 0x84, 0x2D, 0x13, + 0xF0, 0x4D, 0x47, 0xF8} + } + , + { + 0x10, 0x0000265CUL, + { + 0x08, 0x00, 0x2D, 0x0F, 0xF0, 0x4D, 0x47, 0xF8, 0x10, 0x00, 0x2D, 0x0B, + 0xF0, 0x4D, 0x47, 0xF8} + } + , + { + 0x10, 0x0000266CUL, + { + 0x20, 0x00, 0x2D, 0x07, 0xF0, 0x4D, 0xC0, 0x89, 0xE0, 0x28, 0xCA, 0x00, + 0x84, 0x00, 0xE0, 0x4D} + } + , + { + 0x10, 0x0000267CUL, + { + 0xF0, 0x4D, 0xF0, 0x4D, 0xC0, 0x88, 0xCA, 0x00, 0xD6, 0x27, 0xCA, 0x00, + 0xC6, 0x27, 0xBF, 0x88} + } + , + { + 0x04, 0x0000268CUL, + { + 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x0A, 0x00002690UL, + { + 0xD1, 0xA0, 0x6E, 0xCA, 0x6E, 0xC6, 0x6E, 0xC2, 0xCB, 0x00} + } + , + { + 0x0A, 0x0000269AUL, + { + 0xD1, 0xA0, 0x6F, 0xCA, 0x6F, 0xC6, 0x6F, 0xC2, 0xCB, 0x00} + } + , + { + 0x0E, 0x000026A4UL, + { + 0xBB, 0xF5, 0x24, 0x8F, 0x88, 0x10, 0x34, 0x8F, 0x8A, 0x10, 0xBB, 0xF5, + 0xCB, 0x00} + } + , + { + 0x10, 0x000026B2UL, + { + 0xF2, 0xF6, 0x86, 0x10, 0xF2, 0xF8, 0x88, 0x10, 0xF2, 0xF9, 0x8A, 0x10, + 0xF6, 0xF8, 0x0E, 0xFE} + } + , + { + 0x10, 0x000026C2UL, + { + 0xF6, 0xF9, 0x0C, 0xFE, 0x7B, 0x66, 0xF2, 0xF7, 0x0E, 0xFE, 0x46, 0xF7, + 0x63, 0x00, 0xFD, 0x0C} + } + , + { + 0x10, 0x000026D2UL, + { + 0xE6, 0xF6, 0x64, 0x00, 0xF6, 0xF8, 0x0E, 0xFE, 0xF6, 0xF9, 0x0C, 0xFE, + 0x7B, 0x66, 0xF6, 0x07} + } + , + { + 0x10, 0x000026E2UL, + { + 0x86, 0x10, 0xF7, 0x8E, 0xF0, 0x10, 0x0D, 0x06, 0xF1, 0xAE, 0xE7, 0xF8, + 0x64, 0x00, 0x21, 0x8A} + } + , + { + 0x0C, 0x000026F2UL, + { + 0xF7, 0xF8, 0xF0, 0x10, 0xF6, 0x8E, 0x88, 0x10, 0xF6, 0x8E, 0x8A, 0x10} + } + , + { + 0x02, 0x000026FEUL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x00002700UL, + { + 0xBE, 0x88, 0xCC, 0x00, 0xC2, 0xF5, 0xCE, 0x10, 0xF6, 0xF9, 0x0E, 0xFE, + 0x5B, 0x55, 0xF2, 0xF6} + } + , + { + 0x10, 0x00002710UL, + { + 0x0E, 0xFE, 0x48, 0x60, 0x3D, 0x01, 0x08, 0x61, 0xF0, 0x56, 0x02, 0xF5, + 0xCC, 0x10, 0xF0, 0x48} + } + , + { + 0x10, 0x00002720UL, + { + 0xC0, 0x86, 0xF0, 0x46, 0x5C, 0x14, 0xC4, 0x54, 0x8C, 0x10, 0xE1, 0x1A, + 0xE4, 0xA6, 0xCF, 0x10} + } + , + { + 0x02, 0x00002730UL, + { + 0xBF, 0x88} + } + , + { + 0x02, 0x00002732UL, + { + 0xCB, 0x00} + } + , + { + 0x04, 0x00002734UL, + { + 0xEC, 0xFD, 0xEC, 0xFE} + } + , + { + 0x10, 0x00002738UL, + { + 0xF2, 0xF5, 0x84, 0x10, 0xC2, 0xF4, 0xCE, 0x10, 0x04, 0xF4, 0x84, 0x10, + 0xF0, 0x45, 0x52, 0xF4} + } + , + { + 0x10, 0x00002748UL, + { + 0x84, 0x10, 0xF0, 0x54, 0x62, 0xF5, 0x84, 0x10, 0xF0, 0x85, 0xCA, 0x00, + 0x7C, 0x00, 0xC0, 0x88} + } + , + { + 0x10, 0x00002758UL, + { + 0xCA, 0x00, 0xD4, 0x16, 0x24, 0x8F, 0xCC, 0x10, 0xE0, 0x0D, 0xE6, 0xFE, + 0xCF, 0x10, 0x0D, 0x02} + } + , + { + 0x10, 0x00002768UL, + { + 0x08, 0xD1, 0xF0, 0x4D, 0x99, 0x8E, 0x49, 0x81, 0x3D, 0xFB, 0xF0, 0x4D, + 0x43, 0xF8, 0x5E, 0x11} + } + , + { + 0x10, 0x00002778UL, + { + 0x9D, 0x14, 0xF0, 0x4D, 0xC0, 0x84, 0x5C, 0x14, 0xD4, 0x44, 0x8C, 0x10, + 0x42, 0xF4, 0xCC, 0x10} + } + , + { + 0x10, 0x00002788UL, + { + 0x3D, 0x09, 0xE1, 0x0A, 0xF0, 0x4D, 0xC0, 0x84, 0xE4, 0xA4, 0xCF, 0x10, + 0xF0, 0x4D, 0xC0, 0x88} + } + , + { + 0x0A, 0x00002798UL, + { + 0xCA, 0x00, 0x38, 0x23, 0x08, 0xD1, 0xF0, 0x4D, 0x0D, 0xE2} + } + , + { + 0x06, 0x000027A2UL, + { + 0xFC, 0xFE, 0xFC, 0xFD, 0xCB, 0x00} + } + , + { + 0x02, 0x00000084UL, + { + 0xCB, 0x00} + } + , + { + 0x10, 0x000027A8UL, + { + 0xE6, 0x8A, 0xAF, 0x04, 0xE6, 0x0D, 0x02, 0x20, 0xE6, 0x8B, 0xAF, 0x04, + 0xE6, 0x0E, 0x40, 0x20} + } + , + { + 0x0E, 0x000027B8UL, + { + 0xE6, 0x8C, 0x5F, 0x04, 0xE6, 0x0F, 0x08, 0x10, 0xE6, 0x8D, 0xAF, 0x04, + 0xCB, 0x00} + } + , + { + 0x10, 0x000027C6UL, + { + 0xD1, 0xA0, 0xE6, 0xCA, 0x44, 0x00, 0xE6, 0xC6, 0x48, 0x00, 0xE6, 0xC2, + 0x4C, 0x00, 0xCB, 0x00} + } + , + { + 0x10, 0x000027D6UL, + { + 0xE6, 0xA2, 0x80, 0x00, 0xF0, 0x48, 0xC0, 0x85, 0xE6, 0xF4, 0xC4, 0x09, + 0x0B, 0x54, 0xF2, 0xF4} + } + , + { + 0x10, 0x000027E6UL, + { + 0x0E, 0xFE, 0x28, 0x41, 0xF6, 0xF4, 0x10, 0xFD, 0xF2, 0x22, 0x10, 0xFD, + 0xE6, 0xB2, 0x58, 0x00} + } + , + { + 0x04, 0x000027F6UL, + { + 0x6F, 0xA2, 0xCB, 0x00} + } + , + { + 0x10, 0x000027FAUL, + { + 0xE6, 0xA1, 0x80, 0x00, 0xE6, 0xA0, 0x27, 0x00, 0xF0, 0x48, 0xC0, 0x85, + 0xE6, 0xF4, 0xC4, 0x09} + } + , + { + 0x10, 0x0000280AUL, + { + 0xF6, 0xF4, 0x0E, 0xFE, 0x4B, 0x55, 0xF2, 0xF4, 0x0E, 0xFE, 0x28, 0x41, + 0xF6, 0xF4, 0x40, 0xFE} + } + , + { + 0x10, 0x0000281AUL, + { + 0xE6, 0xB1, 0x70, 0x00, 0xF6, 0x8E, 0x0C, 0xFD, 0xF6, 0x8E, 0x0E, 0xFD, + 0x6F, 0xA1, 0xCB, 0x00} + } + , + { + 0x10, 0x0000282AUL, + { + 0xBE, 0x88, 0xCC, 0x00, 0xF2, 0xF6, 0x0C, 0xFD, 0xF2, 0xF7, 0x0E, 0xFD, + 0xBF, 0x88, 0xF0, 0x46} + } + , + { + 0x02, 0x0000283AUL, + { + 0xF0, 0x57} + } + , + { + 0x02, 0x0000283CUL, + { + 0xCB, 0x00} + } + , + { + 0x06, 0x0000283EUL, + { + 0xF2, 0xF4, 0x0C, 0xFD, 0xCB, 0x00} + } + , + { + 0x10, 0x00002844UL, + { + 0xBE, 0x88, 0xCC, 0x00, 0xF6, 0xF8, 0x0C, 0xFD, 0xF6, 0xF9, 0x0E, 0xFD, + 0xBF, 0x88, 0xCB, 0x00} + } + , + { + 0x10, 0x00002854UL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x40, 0xFC, 0xC6, 0x08, + 0x40, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x00002864UL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xCA, 0x00, + 0x08, 0x25, 0xFC, 0x07} + } + , + { + 0x0C, 0x00002874UL, + { + 0xFC, 0x06, 0xFC, 0x87, 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x00002880UL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x60, 0xFC, 0xC6, 0x08, + 0x60, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x00002890UL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xCA, 0x00, + 0xE4, 0x24, 0xFC, 0x07} + } + , + { + 0x0C, 0x000028A0UL, + { + 0xFC, 0x06, 0xFC, 0x87, 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x000028ACUL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0x80, 0xFC, 0xC6, 0x08, + 0x80, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x000028BCUL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xCA, 0x00, + 0xCE, 0x24, 0xFC, 0x07} + } + , + { + 0x0C, 0x000028CCUL, + { + 0xFC, 0x06, 0xFC, 0x87, 0xFC, 0x00, 0xFC, 0x08, 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x10, 0x000028D8UL, + { + 0xC6, 0x03, 0x03, 0x00, 0xCC, 0x00, 0xF6, 0xF0, 0xA0, 0xFC, 0xC6, 0x08, + 0xA0, 0xFC, 0xCC, 0x00} + } + , + { + 0x10, 0x000028E8UL, + { + 0xEC, 0x00, 0xC6, 0x87, 0x10, 0x00, 0xEC, 0x06, 0xEC, 0x07, 0xD1, 0x00, + 0x02, 0x22, 0x10, 0xFD} + } + , + { + 0x10, 0x000028F8UL, + { + 0xCA, 0x00, 0x34, 0x27, 0xFC, 0x07, 0xFC, 0x06, 0xFC, 0x87, 0xFC, 0x00, + 0xFC, 0x08, 0xFC, 0x03} + } + , + { + 0x02, 0x00002908UL, + { + 0xFB, 0x88} + } + , + { + 0x10, 0x0000290AUL, + { + 0xC6, 0x03, 0x03, 0x00, 0x24, 0x8F, 0x0C, 0xFD, 0x34, 0x8F, 0x0E, 0xFD, + 0xFC, 0x03, 0xFB, 0x88} + } + , + { + 0x08, 0x0000007CUL, + { + 0x2B, 0x88, 0xE0, 0xF4, 0x20, 0x48, 0xCB, 0x00} + } + , + { + 0x10, 0x00002BF2UL, + { + 0xA5, 0x5A, 0xA5, 0xA5, 0x0A, 0x86, 0x3F, 0x2E, 0x1A, 0x86, 0x00, 0xD2, + 0x1A, 0x89, 0x00, 0xFB} + } + , + { + 0x10, 0x00002C02UL, + { + 0x0A, 0x89, 0x6F, 0x00, 0xE6, 0x0A, 0x0C, 0xFA, 0xE6, 0x00, 0x04, 0x00, + 0xE6, 0x01, 0x05, 0x00} + } + , + { + 0x10, 0x00002C12UL, + { + 0xE6, 0x02, 0x06, 0x00, 0xE6, 0x08, 0xC0, 0xFC, 0xB5, 0x4A, 0xB5, 0xB5, + 0xE6, 0xF0, 0x00, 0x10} + } + , + { + 0x10, 0x00002C22UL, + { + 0xE6, 0xF9, 0x00, 0x00, 0xE6, 0xF8, 0x10, 0x2D, 0xF0, 0x18, 0x70, 0x19, + 0x2D, 0x29, 0xE0, 0x05} + } + , + { + 0x10, 0x00002C32UL, + { + 0xDC, 0x09, 0x98, 0x28, 0x2D, 0x25, 0xF0, 0x32, 0xDC, 0x09, 0x98, 0x48, + 0xAA, 0xF2, 0x1B, 0xE0} + } + , + { + 0x10, 0x00002C42UL, + { + 0xAA, 0xF2, 0x0E, 0xF0, 0xF0, 0x34, 0x7C, 0x33, 0x0E, 0xF3, 0x06, 0xF3, + 0x00, 0xFD, 0xE0, 0x15} + } + , + { + 0x10, 0x00002C52UL, + { + 0x4C, 0x54, 0x91, 0x50, 0x68, 0x5B, 0xB8, 0x53, 0x08, 0x41, 0x28, 0x21, + 0x3D, 0xF3, 0x0D, 0xE7} + } + , + { + 0x10, 0x00002C62UL, + { + 0xDC, 0x09, 0x98, 0x38, 0xDC, 0x44, 0xB9, 0xA3, 0x08, 0x31, 0x18, 0x40, + 0x76, 0xF3, 0x00, 0xC0} + } + , + { + 0x10, 0x00002C72UL, + { + 0x28, 0x21, 0x7D, 0xF8, 0x0D, 0xDC, 0xB9, 0xA4, 0x08, 0x41, 0x28, 0x21, + 0x7D, 0xFC, 0x0D, 0xD7} + } + , + { + 0x10, 0x00002C82UL, + { + 0xE6, 0xF9, 0x00, 0x00, 0xE6, 0xF8, 0x00, 0x2B, 0xE6, 0x03, 0x03, 0x00, + 0xDC, 0x09, 0xA8, 0x28} + } + , + { + 0x10, 0x00002C92UL, + { + 0x2D, 0x3C, 0x08, 0x82, 0x18, 0x90, 0xAA, 0xF2, 0x29, 0xF0, 0xF0, 0x42, + 0x66, 0xF2, 0xFF, 0x3F} + } + , + { + 0x10, 0x00002CA2UL, + { + 0x3D, 0x05, 0xE0, 0x04, 0xDC, 0x09, 0xA8, 0x28, 0x08, 0x82, 0x18, 0x90, + 0xDC, 0x09, 0xA8, 0x38} + } + , + { + 0x10, 0x00002CB2UL, + { + 0x08, 0x82, 0x18, 0x90, 0x8A, 0xF4, 0x06, 0xE0, 0xF6, 0xF3, 0x06, 0xFE, + 0xDC, 0x09, 0xA8, 0x38} + } + , + { + 0x10, 0x00002CC2UL, + { + 0x08, 0x82, 0x18, 0x90, 0xDC, 0x09, 0xA9, 0xA8, 0x08, 0x81, 0x18, 0x90, + 0xB9, 0xA3, 0x08, 0x31} + } + , + { + 0x10, 0x00002CD2UL, + { + 0x8A, 0xF4, 0x06, 0xE0, 0x8A, 0xF3, 0x04, 0xE0, 0x06, 0x03, 0x01, 0x00, + 0x76, 0xF3, 0x00, 0xC0} + } + , + { + 0x10, 0x00002CE2UL, + { + 0x28, 0x21, 0x3D, 0xF0, 0x9A, 0xF8, 0xD0, 0x00, 0x08, 0x81, 0x0D, 0xCE, + 0xC0, 0x43, 0x5C, 0x13} + } + , + { + 0x10, 0x00002CF2UL, + { + 0x76, 0xF3, 0x00, 0xFD, 0xE0, 0x14, 0xF1, 0xA5, 0x4C, 0x45, 0x8A, 0xF2, + 0x03, 0x70, 0x91, 0x40} + } + , + { + 0x0E, 0x00002D02UL, + { + 0x68, 0x4B, 0x0D, 0x01, 0x78, 0x4B, 0xB8, 0x43, 0x0D, 0xBF, 0xFA, 0x00, + 0x44, 0x1D} + } + , + { + 0x0E, 0x00000054UL, + { + 0xDC, 0x03, 0xA8, 0x42, 0x08, 0x22, 0x18, 0x30, 0xDC, 0x03, 0xA8, 0x52, + 0xCB, 0x00} + } + , + { + 0x0E, 0x00000062UL, + { + 0xDC, 0x03, 0xB8, 0x42, 0x08, 0x22, 0x18, 0x30, 0xDC, 0x03, 0xB8, 0x52, + 0xCB, 0x00} + } + , + { + 0x10, 0x00000094UL, + { + 0xF0, 0x28, 0xF0, 0x39, 0x0D, 0x05, 0x28, 0xB1, 0xF0, 0x6A, 0xDC, 0x49, + 0xB9, 0xC8, 0x08, 0x81} + } + , + { + 0x0A, 0x000000A4UL, + { + 0x48, 0xB0, 0x3D, 0xF9, 0xF0, 0x42, 0xF0, 0x53, 0xCB, 0x00} + } + , + { + 0x10, 0x00000036UL, + { + 0xEC, 0xFD, 0xF0, 0xD8, 0x0D, 0x04, 0x99, 0x8D, 0xD0, 0x88, 0xCA, 0x00, + 0x04, 0x00, 0xA9, 0x8D} + } + , + { + 0x0E, 0x00000046UL, + { + 0x3D, 0xFA, 0xE0, 0xA8, 0xCA, 0x00, 0x04, 0x00, 0xE0, 0x04, 0xFC, 0xFD, + 0xCB, 0x00} + } + , + { + 0x02, 0x00002BF0UL, + { + 0x00, 0x00} + } + , + { + 0x10, 0x00000004UL, + { + 0x46, 0xF8, 0x0A, 0x00, 0x3D, 0x03, 0xE0, 0xD8, 0xBB, 0x01, 0xE0, 0xA8, + 0x9A, 0xB7, 0x0A, 0x70} + } + , + { + 0x10, 0x00000014UL, + { + 0x46, 0x59, 0x13, 0x00, 0x3D, 0x07, 0x7E, 0xB7, 0x9A, 0xB7, 0xFE, 0x70, + 0x46, 0x59, 0x11, 0x00} + } + , + { + 0x10, 0x00000024UL, + { + 0x3D, 0xFA, 0x7E, 0xB7, 0x9A, 0xB6, 0xFE, 0x70, 0x7E, 0xB6, 0xF6, 0xF8, + 0xB0, 0xFE, 0xF0, 0x48} + } + , + { + 0x02, 0x00000034UL, + { + 0xCB, 0x00} + } + , + { + 0x06, 0x00002D10UL, + { + 0x82, 0x80, 0x04, 0x00, 0x00, 0xD0} + } + , + { + 0x04, 0x00002D16UL, + { + 0x03, 0x40, 0x12, 0xFD} + } + , + { + 0x04, 0x00002D1AUL, + { + 0x01, 0x00, 0x40, 0x00} + } + , + { + 0x06, 0x00002D1EUL, + { + 0x04, 0x80, 0x04, 0x00, 0x5A, 0xD1} + } + , + { + 0x04, 0x00002D24UL, + { + 0x07, 0x40, 0x00, 0xFD} + } + , + { + 0x04, 0x00002D28UL, + { + 0x0A, 0x00, 0x41, 0x00} + } + , + { + 0x06, 0x00002D2CUL, + { + 0x1F, 0x80, 0x04, 0x00, 0x32, 0xD1} + } + , + { + 0x06, 0x00002D32UL, + { + 0x3F, 0x80, 0x04, 0x00, 0xF2, 0xD0} + } + , + { + 0x10, 0x00002D38UL, + { + 0xFF, 0xBF, 0x08, 0x00, 0x00, 0xC0, 0xFF, 0xBF, 0x09, 0x00, 0x00, 0xC0, + 0xFF, 0xBF, 0x0A, 0x00} + } + , + { + 0x10, 0x00002D48UL, + { + 0x00, 0xC0, 0xFF, 0xBF, 0x0B, 0x00, 0x00, 0xC0, 0xFF, 0xBF, 0x0C, 0x00, + 0x00, 0xC0, 0xFF, 0xBF} + } + , + { + 0x10, 0x00002D58UL, + { + 0x0D, 0x00, 0x00, 0xC0, 0xFF, 0xBF, 0x0E, 0x00, 0x00, 0xC0, 0x3F, 0xBA, + 0x0F, 0x00, 0x00, 0xC0} + } + , + { + 0x04, 0x00002D68UL, + { + 0x14, 0x40, 0xE0, 0xFC} + } + , + { + 0x04, 0x00002D6CUL, + { + 0x02, 0x00, 0x4B, 0x00} + } + , + { + 0x06, 0x00002D70UL, + { + 0x07, 0x80, 0x04, 0x00, 0x52, 0xD1} + } + , + { + 0x04, 0x00002D76UL, + { + 0x09, 0x40, 0xF6, 0xFC} + } + , + { + 0x04, 0x00002D7AUL, + { + 0x05, 0x00, 0x4D, 0x00} + } + , + { + 0x06, 0x00002D7EUL, + { + 0x6C, 0x80, 0x04, 0x00, 0x84, 0xD0} + } + , + { + 0x04, 0x00002D84UL, + { + 0x05, 0x40, 0x0C, 0xFD} + } + , + { + 0x02, 0x00002D88UL, + { + 0x00, 0x00} + } + , + { + 0x04, 0x00000000UL, + { + 0xFA, 0x00, 0xF2, 0x2B} + } + , + { + 0x04, 0x00000070UL, + { + 0xFA, 0x00, 0x94, 0x0D} + } + , + { + 0x04, 0x00000074UL, + { + 0xFA, 0x00, 0x6E, 0x0F} + } + , + { + 0x04, 0x00000078UL, + { + 0xFA, 0x00, 0xE8, 0x21} + } + , + { + 0x04, 0x0000008CUL, + { + 0xFA, 0x00, 0x0A, 0x29} + } + , + { + 0x04, 0x00000090UL, + { + 0xFA, 0x00, 0xD8, 0x28} + } + , + { + 0x04, 0x00000110UL, + { + 0xFA, 0x00, 0x54, 0x28} + } + , + { + 0x04, 0x00000114UL, + { + 0xFA, 0x00, 0x80, 0x28} + } + , + { + 0x04, 0x00000118UL, + { + 0xFA, 0x00, 0xAC, 0x28} + } + , + { + 0, 0,} + +}; + + + diff --git a/lincan/src/kthread.c b/lincan/src/kthread.c new file mode 100644 index 0000000..d2531b9 --- /dev/null +++ b/lincan/src/kthread.c @@ -0,0 +1,190 @@ +#include +#include + +#if defined(MODVERSIONS) +#include +#endif +#include +#include + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)) + #include +#else + #include +#endif + +#include +#include +#include + + +#include +#include + +#include "../include/kthread.h" + +/* private functions */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)) +static void kthread_launcher(void *data) +#else +static void kthread_launcher(unsigned long data) +#endif +{ + kthread_t *kthread = (kthread_t *)data; + + kernel_thread((int (*)(void *))kthread->function, (void *)kthread, 0); +} + +/* public functions */ + +/* create a new kernel thread. Called by the creator. */ +void start_kthread(void (*func)(kthread_t *), kthread_t *kthread) +{ + /* initialize the semaphore: + we start with the semaphore locked. The new kernel + thread will setup its stuff and unlock it. This + control flow (the one that creates the thread) blocks + in the down operation below until the thread has reached + the up() operation. + */ + init_MUTEX_LOCKED(&kthread->startstop_sem); + + /* store the function to be executed in the data passed to + the launcher */ + kthread->function=func; + + /* create the new thread my running a task through keventd */ + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)) + + /* initialize the task queue structure */ + kthread->tq.sync = 0; + INIT_LIST_HEAD(&kthread->tq.list); + kthread->tq.routine = kthread_launcher; + kthread->tq.data = kthread; + + /* and schedule it for execution */ + schedule_task(&kthread->tq); +#else + /* initialize tasklet */ + tasklet_init(&kthread->tq, kthread_launcher, (unsigned long)kthread); + /* and schedule it for execution */ + tasklet_schedule(&kthread->tq); +#endif + + /* wait till it has reached the setup_thread routine */ + down(&kthread->startstop_sem); +} + +/* stop a kernel thread. Called by the removing instance */ +void stop_kthread(kthread_t *kthread) +{ + if (kthread->thread == NULL) + { + printk("stop_kthread: killing non existing thread!\n"); + return; + } + + /* this function needs to be protected with the big + kernel lock (lock_kernel()). The lock must be + grabbed before changing the terminate + flag and released after the down() call. */ + lock_kernel(); + + /* initialize the semaphore. We lock it here, the + leave_thread call of the thread to be terminated + will unlock it. As soon as we see the semaphore + unlocked, we know that the thread has exited. + */ + init_MUTEX_LOCKED(&kthread->startstop_sem); + + /* We need to do a memory barrier here to be sure that + the flags are visible on all CPUs. + */ + mb(); + + /* set flag to request thread termination */ + kthread->terminate = 1; + + /* We need to do a memory barrier here to be sure that + the flags are visible on all CPUs. + */ + mb(); + kill_proc(kthread->thread->pid, SIGKILL, 1); + + /* block till thread terminated */ + down(&kthread->startstop_sem); + + /* release the big kernel lock */ + unlock_kernel(); + + /* now we are sure the thread is in zombie state. We + notify keventd to clean the process up. + */ + kill_proc(2, SIGCHLD, 1); + +} + +/* initialize new created thread. Called by the new thread. */ +void init_kthread(kthread_t *kthread, char *name) +{ + /* fill in thread structure */ + kthread->thread = current; + + /* initialise termination flag */ + kthread->terminate = 0; + + /* initialise wait queue */ + init_waitqueue_head(&kthread->queue); + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,40)) + /* lock the kernel. A new kernel thread starts without + the big kernel lock, regardless of the lock state + of the creator (the lock level is *not* inheritated) + */ + lock_kernel(); +/* daemonize(); */ + + /* set signal mask to what we want to respond */ + siginitsetinv(¤t->blocked, sigmask(SIGKILL)|sigmask(SIGINT)|sigmask(SIGTERM)); + + /* set name of this process (max 15 chars + 0 !) */ + sprintf(current->comm, name); + + /* let others run */ + unlock_kernel(); +#else + + daemonize(name); +#endif + + /* tell the creator that we are ready and let him continue */ + up(&kthread->startstop_sem); +} + +/* cleanup of thread. Called by the exiting thread. */ +void exit_kthread(kthread_t *kthread) +{ + /* we are terminating */ + + /* lock the kernel, the exit will unlock it */ + lock_kernel(); + kthread->thread = NULL; + mb(); + + /* notify the stop_kthread() routine that we are terminating. */ + up(&kthread->startstop_sem); + /* the kernel_thread that called clone() does a do_exit here. */ + + /* there is no race here between execution of the "killer" and real termination + of the thread (race window between up and do_exit), since both the + thread and the "killer" function are running with the kernel lock held. + The kernel lock will be freed after the thread exited, so the code + is really not executed anymore as soon as the unload functions gets + the kernel lock back. + The init process may not have made the cleanup of the process here, + but the cleanup can be done safely with the module unloaded. + */ + +} +