Commit 955cf944 authored by Justin T. Gibbs's avatar Justin T. Gibbs

Aic79xx Driver Upate

 o Switch to handling bad SCSI status as a sequencer interrupt
   instead of having the kernel proccess these failures via
   the completion queue.  This is done because:

    - The old scheme required us to pause the sequencer and clear
      critical sections for each SCB.  It seems that these pause
      actions, if coincident with a sequencer FIFO interrupt, would
      result in a FIFO interrupt getting lost or directing to the
      wrong FIFO.  This caused hangs when the driver was stressed
      under high "queue full" loads.
    - The completion code assumed that it was always called with
      the sequencer running.  This may not be the case in timeout
      processing where completions occur manually via
      ahd_pause_and_flushwork().
    - With this scheme, the extra expense of clearing critical
      sections is avoided since the sequencer will only self pause
      once all pending selections have cleared and it is not in
      a critical section.
parent 0dba7c55
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
* *
* $FreeBSD$ * $FreeBSD$
*/ */
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#66 $" VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#67 $"
/* /*
* This file is processed by the aic7xxx_asm utility for use in assembling * This file is processed by the aic7xxx_asm utility for use in assembling
...@@ -194,7 +194,8 @@ register SEQINTCODE { ...@@ -194,7 +194,8 @@ register SEQINTCODE {
TRACEPOINT1, TRACEPOINT1,
TRACEPOINT2, TRACEPOINT2,
TRACEPOINT3, TRACEPOINT3,
SAW_HWERR SAW_HWERR,
BAD_SCB_STATUS
} }
} }
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
* $FreeBSD$ * $FreeBSD$
*/ */
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#90 $" VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#91 $"
PATCH_ARG_LIST = "struct ahd_softc *ahd" PATCH_ARG_LIST = "struct ahd_softc *ahd"
PREFIX = "ahd_" PREFIX = "ahd_"
...@@ -175,12 +175,31 @@ END_CRITICAL; ...@@ -175,12 +175,31 @@ END_CRITICAL;
scbdma_tohost_done: scbdma_tohost_done:
test CCSCBCTL, CCARREN jz fill_qoutfifo_dmadone; test CCSCBCTL, CCARREN jz fill_qoutfifo_dmadone;
/* /*
* A complete SCB upload requires no intervention. * An SCB has been succesfully uploaded to the host.
* The SCB is already on the COMPLETE_SCB list * If the SCB was uploaded for some reason other than
* and its completion notification will now be * bad SCSI status (currently only for underruns), we
* handled just like any other SCB. * queue the SCB for normal completion. Otherwise, we
* wait until any select-out activity has halted, and
* then notify the host so that the transaction can be
* dealt with.
*/ */
and CCSCBCTL, ~(CCARREN|CCSCBEN) ret; test SCB_SCSI_STATUS, 0xff jnz scbdma_notify_host;
and CCSCBCTL, ~(CCARREN|CCSCBEN);
bmov COMPLETE_DMA_SCB_HEAD, SCB_NEXT_COMPLETE, 2;
bmov SCB_NEXT_COMPLETE, COMPLETE_SCB_HEAD, 2;
bmov COMPLETE_SCB_HEAD, SCBPTR, 2 ret;
scbdma_notify_host:
SET_MODE(M_SCSI, M_SCSI)
test SCSISEQ0, ENSELO jnz return;
test SSTAT0, (SELDO|SELINGO) jnz return;
SET_MODE(M_CCHAN, M_CCHAN)
/*
* Remove SCB and notify host.
*/
and CCSCBCTL, ~(CCARREN|CCSCBEN);
bmov COMPLETE_DMA_SCB_HEAD, SCB_NEXT_COMPLETE, 2;
SET_SEQINTCODE(BAD_SCB_STATUS)
ret;
fill_qoutfifo_dmadone: fill_qoutfifo_dmadone:
and CCSCBCTL, ~(CCARREN|CCSCBEN); and CCSCBCTL, ~(CCARREN|CCSCBEN);
call qoutfifo_updated; call qoutfifo_updated;
...@@ -325,15 +344,7 @@ fetch_new_scb: ...@@ -325,15 +344,7 @@ fetch_new_scb:
dma_complete_scb: dma_complete_scb:
bmov SCBPTR, COMPLETE_DMA_SCB_HEAD, 2; bmov SCBPTR, COMPLETE_DMA_SCB_HEAD, 2;
bmov SCBHADDR, SCB_BUSADDR, 4; bmov SCBHADDR, SCB_BUSADDR, 4;
mvi CCARREN|CCSCBEN|CCSCBRESET call dma_scb; mvi CCARREN|CCSCBEN|CCSCBRESET jmp dma_scb;
/*
* Now that we've started the DMA, push us onto
* the normal completion queue to have our SCBID
* posted to the kernel.
*/
bmov COMPLETE_DMA_SCB_HEAD, SCB_NEXT_COMPLETE, 2;
bmov SCB_NEXT_COMPLETE, COMPLETE_SCB_HEAD, 2;
bmov COMPLETE_SCB_HEAD, SCBPTR, 2 ret;
END_CRITICAL; END_CRITICAL;
/* /*
...@@ -1615,25 +1626,32 @@ export seq_isr: ...@@ -1615,25 +1626,32 @@ export seq_isr:
* and deffer the test by one instruction. * and deffer the test by one instruction.
*/ */
mov REG_ISR, LQISTAT2; mov REG_ISR, LQISTAT2;
test REG_ISR, LQIWORKONLQ jz data_valid; test REG_ISR, LQIWORKONLQ jz main_isr;
test SEQINTSRC, SAVEPTRS jz data_valid; test SEQINTSRC, SAVEPTRS jz main_isr;
test LONGJMP_ADDR[1], INVALID_ADDR jz saveptr_active_fifo; test LONGJMP_ADDR[1], INVALID_ADDR jz saveptr_active_fifo;
/* /*
* Switch to the active FIFO. * Switch to the active FIFO after clearing the snapshot
* savepointer in the current FIFO. We do this so that
* a pending CTXTDONE or SAVEPTR is visible in the active
* FIFO. This status is the only way we can detect if we
* have lost the race (e.g. host paused us) and our attepts
* to disable the channel occurred after all REQs were
* already seen and acked (REQINIT never comes true).
*/ */
mvi DFFSXFRCTL, CLRCHN;
xor MODE_PTR, MK_MODE(M_DFF1, M_DFF1); xor MODE_PTR, MK_MODE(M_DFF1, M_DFF1);
test DFCNTRL, DIRECTION jz snapshot_other_fifo; test DFCNTRL, DIRECTION jz interrupt_return;
and DFCNTRL, ~SCSIEN; and DFCNTRL, ~SCSIEN;
test SSTAT1, REQINIT jz .; snapshot_wait_data_valid:
test SEQINTSRC, (CTXTDONE|SAVEPTRS) jnz snapshot_data_valid;
test SSTAT1, REQINIT jz snapshot_wait_data_valid;
snapshot_data_valid:
or DFCNTRL, SCSIEN; or DFCNTRL, SCSIEN;
/* FALLTHROUGH */ or SEQINTCTL, IRET ret;
snapshot_other_fifo:
xor MODE_PTR, MK_MODE(M_DFF1, M_DFF1);
/* FALLTHROUGH */
snapshot_saveptr: snapshot_saveptr:
mvi DFFSXFRCTL, CLRCHN; mvi DFFSXFRCTL, CLRCHN;
or SEQINTCTL, IRET ret; or SEQINTCTL, IRET ret;
data_valid: main_isr:
} }
test SEQINTSRC, CFG4DATA jnz cfg4data_intr; test SEQINTSRC, CFG4DATA jnz cfg4data_intr;
test SEQINTSRC, CFG4ISTAT jnz cfg4istat_intr; test SEQINTSRC, CFG4ISTAT jnz cfg4istat_intr;
...@@ -1666,10 +1684,11 @@ saveptr_active_fifo: ...@@ -1666,10 +1684,11 @@ saveptr_active_fifo:
or SEQINTCTL, IRET ret; or SEQINTCTL, IRET ret;
cfg4data_intr: cfg4data_intr:
inc SCB_FIFO_USE_COUNT; test SCB_SGPTR[0], SG_LIST_NULL jnz pkt_handle_overrun_inc_use_count;
test SCB_SGPTR[0], SG_LIST_NULL jnz pkt_handle_overrun;
call load_first_seg; call load_first_seg;
call pkt_handle_xfer; call pkt_handle_xfer;
inc SCB_FIFO_USE_COUNT;
interrupt_return:
or SEQINTCTL, IRET ret; or SEQINTCTL, IRET ret;
cfg4istat_intr: cfg4istat_intr:
...@@ -1961,6 +1980,8 @@ illegal_phase: ...@@ -1961,6 +1980,8 @@ illegal_phase:
* data. Otherwise use an overrun buffer in the host to simulate * data. Otherwise use an overrun buffer in the host to simulate
* BITBUCKET. * BITBUCKET.
*/ */
pkt_handle_overrun_inc_use_count:
inc SCB_FIFO_USE_COUNT;
pkt_handle_overrun: pkt_handle_overrun:
SET_SEQINTCODE(CFG4OVERRUN) SET_SEQINTCODE(CFG4OVERRUN)
call freeze_queue; call freeze_queue;
...@@ -1987,8 +2008,8 @@ pkt_overrun_end: ...@@ -1987,8 +2008,8 @@ pkt_overrun_end:
or SCB_RESIDUAL_SGPTR, SG_OVERRUN_RESID; or SCB_RESIDUAL_SGPTR, SG_OVERRUN_RESID;
test SEQINTSRC, CTXTDONE jz unexpected_nonpkt_phase; test SEQINTSRC, CTXTDONE jz unexpected_nonpkt_phase;
dec SCB_FIFO_USE_COUNT; dec SCB_FIFO_USE_COUNT;
test SCB_CONTROL, STATUS_RCVD jnz pkt_complete_scb_if_fifos_idle;
or LONGJMP_ADDR[1], INVALID_ADDR; or LONGJMP_ADDR[1], INVALID_ADDR;
test SCB_CONTROL, STATUS_RCVD jnz pkt_complete_scb_if_fifos_idle;
mvi DFFSXFRCTL, CLRCHN ret; mvi DFFSXFRCTL, CLRCHN ret;
if ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0) { if ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0) {
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#186 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#189 $
* *
* $FreeBSD$ * $FreeBSD$
*/ */
...@@ -556,6 +556,26 @@ ahd_handle_seqint(struct ahd_softc *ahd, u_int intstat) ...@@ -556,6 +556,26 @@ ahd_handle_seqint(struct ahd_softc *ahd, u_int intstat)
ahd_name(ahd), seqintcode); ahd_name(ahd), seqintcode);
#endif #endif
switch (seqintcode) { switch (seqintcode) {
case BAD_SCB_STATUS:
{
struct scb *scb;
u_int scbid;
int cmds_pending;
scbid = ahd_get_scbptr(ahd);
scb = ahd_lookup_scb(ahd, scbid);
if (scb != NULL) {
ahd_complete_scb(ahd, scb);
} else {
printf("%s: WARNING no command for scb %d "
"(bad status)\n", ahd_name(ahd), scbid);
ahd_dump_card_state(ahd);
}
cmds_pending = ahd_inw(ahd, CMDS_PENDING);
if (cmds_pending > 0)
ahd_outw(ahd, CMDS_PENDING, cmds_pending - 1);
break;
}
case ENTERING_NONPACK: case ENTERING_NONPACK:
{ {
struct scb *scb; struct scb *scb;
...@@ -7742,7 +7762,6 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb) ...@@ -7742,7 +7762,6 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
{ {
struct hardware_scb *hscb; struct hardware_scb *hscb;
u_int qfreeze_cnt; u_int qfreeze_cnt;
u_int maxloops;
/* /*
* The sequencer freezes its select-out queue * The sequencer freezes its select-out queue
...@@ -7752,25 +7771,6 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb) ...@@ -7752,25 +7771,6 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
*/ */
hscb = scb->hscb; hscb = scb->hscb;
/*
* Wait until any pending selections have been processed.
*/
maxloops = 1000;
do {
ahd_pause(ahd);
ahd_clear_critical_section(ahd);
ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI);
if (((ahd_inb(ahd, SCSISEQ0) & ENSELO) == 0
&& (ahd_inb(ahd, SSTAT0) & (SELDO|SELINGO)) == 0)
|| (ahd_inb(ahd, SSTAT1) & SELTO) != 0)
break;
ahd_unpause(ahd);
ahd_delay(200);
} while (--maxloops);
if (maxloops == 0)
ahd_pause(ahd);
/* Freeze the queue until the client sees the error. */ /* Freeze the queue until the client sees the error. */
ahd_freeze_devq(ahd, scb); ahd_freeze_devq(ahd, scb);
ahd_freeze_scb(scb); ahd_freeze_scb(scb);
...@@ -7784,7 +7784,7 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb) ...@@ -7784,7 +7784,7 @@ ahd_handle_scsi_status(struct ahd_softc *ahd, struct scb *scb)
if (qfreeze_cnt == 0) if (qfreeze_cnt == 0)
ahd_outb(ahd, SEQ_FLAGS2, ahd_outb(ahd, SEQ_FLAGS2,
ahd_inb(ahd, SEQ_FLAGS2) & ~SELECTOUT_QFROZEN); ahd_inb(ahd, SEQ_FLAGS2) & ~SELECTOUT_QFROZEN);
ahd_unpause(ahd);
/* Don't want to clobber the original sense code */ /* Don't want to clobber the original sense code */
if ((scb->flags & SCB_SENSE) != 0) { if ((scb->flags & SCB_SENSE) != 0) {
/* /*
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#44 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#45 $
* *
* $FreeBSD$ * $FreeBSD$
*/ */
...@@ -223,7 +223,7 @@ ahd_unpause(struct ahd_softc *ahd) ...@@ -223,7 +223,7 @@ ahd_unpause(struct ahd_softc *ahd)
ahd_set_modes(ahd, ahd->saved_src_mode, ahd->saved_dst_mode); ahd_set_modes(ahd, ahd->saved_src_mode, ahd->saved_dst_mode);
} }
if ((ahd_inb(ahd, INTSTAT) & ~(SWTMINT | CMDCMPLT)) == 0) if ((ahd_inb(ahd, INTSTAT) & ~CMDCMPLT) == 0)
ahd_outb(ahd, HCNTRL, ahd->unpause); ahd_outb(ahd, HCNTRL, ahd->unpause);
ahd_known_modes(ahd, AHD_MODE_UNKNOWN, AHD_MODE_UNKNOWN); ahd_known_modes(ahd, AHD_MODE_UNKNOWN, AHD_MODE_UNKNOWN);
......
/* /*
* Adaptec AIC79xx device driver for Linux. * Adaptec AIC79xx device driver for Linux.
* *
* $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#154 $ * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic79xx_osm.c#155 $
* *
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Copyright (c) 1994-2000 Justin T. Gibbs. * Copyright (c) 1994-2000 Justin T. Gibbs.
...@@ -2070,7 +2070,6 @@ aic79xx_setup(char *s) ...@@ -2070,7 +2070,6 @@ aic79xx_setup(char *s)
s = aic_parse_brace_option("tag_info", p + n, end, s = aic_parse_brace_option("tag_info", p + n, end,
2, ahd_linux_setup_tag_info, 0); 2, ahd_linux_setup_tag_info, 0);
} else if (strncmp(p, "rd_strm", n) == 0) { } else if (strncmp(p, "rd_strm", n) == 0) {
printf("Calling brace parse for %s\n", p);
s = aic_parse_brace_option("rd_strm", p + n, end, s = aic_parse_brace_option("rd_strm", p + n, end,
1, ahd_linux_setup_rd_strm_info, 0); 1, ahd_linux_setup_rd_strm_info, 0);
} else if (strncmp(p, "dv", n) == 0) { } else if (strncmp(p, "dv", n) == 0) {
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* DO NOT EDIT - This file is automatically generated * DO NOT EDIT - This file is automatically generated
* from the following source files: * from the following source files:
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#90 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#91 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#66 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#67 $
*/ */
typedef int (ahd_reg_print_t)(u_int, u_int *, u_int); typedef int (ahd_reg_print_t)(u_int, u_int *, u_int);
typedef struct ahd_reg_parse_entry { typedef struct ahd_reg_parse_entry {
...@@ -2360,6 +2360,7 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; ...@@ -2360,6 +2360,7 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
#define SPLTINT 0x01 #define SPLTINT 0x01
#define SEQINTCODE 0x02 #define SEQINTCODE 0x02
#define BAD_SCB_STATUS 0x1a
#define SAW_HWERR 0x19 #define SAW_HWERR 0x19
#define TRACEPOINT3 0x18 #define TRACEPOINT3 0x18
#define TRACEPOINT2 0x17 #define TRACEPOINT2 0x17
...@@ -3767,5 +3768,5 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; ...@@ -3767,5 +3768,5 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
/* Exported Labels */ /* Exported Labels */
#define LABEL_seq_isr 0x264 #define LABEL_seq_isr 0x270
#define LABEL_timer_isr 0x260 #define LABEL_timer_isr 0x26c
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* DO NOT EDIT - This file is automatically generated * DO NOT EDIT - This file is automatically generated
* from the following source files: * from the following source files:
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#90 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#91 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#66 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#67 $
*/ */
#include "aic79xx_osm.h" #include "aic79xx_osm.h"
...@@ -65,13 +65,14 @@ static ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = { ...@@ -65,13 +65,14 @@ static ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = {
{ "TRACEPOINT1", 0x16, 0xff }, { "TRACEPOINT1", 0x16, 0xff },
{ "TRACEPOINT2", 0x17, 0xff }, { "TRACEPOINT2", 0x17, 0xff },
{ "TRACEPOINT3", 0x18, 0xff }, { "TRACEPOINT3", 0x18, 0xff },
{ "SAW_HWERR", 0x19, 0xff } { "SAW_HWERR", 0x19, 0xff },
{ "BAD_SCB_STATUS", 0x1a, 0xff }
}; };
int int
ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap) ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap)
{ {
return (ahd_print_register(SEQINTCODE_parse_table, 26, "SEQINTCODE", return (ahd_print_register(SEQINTCODE_parse_table, 27, "SEQINTCODE",
0x02, regvalue, cur_col, wrap)); 0x02, regvalue, cur_col, wrap));
} }
......
...@@ -2,30 +2,30 @@ ...@@ -2,30 +2,30 @@
* DO NOT EDIT - This file is automatically generated * DO NOT EDIT - This file is automatically generated
* from the following source files: * from the following source files:
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#90 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#91 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#66 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#67 $
*/ */
static uint8_t seqprog[] = { static uint8_t seqprog[] = {
0xff, 0x02, 0x06, 0x78, 0xff, 0x02, 0x06, 0x78,
0x00, 0xea, 0x36, 0x59, 0x00, 0xea, 0x4e, 0x59,
0x01, 0xea, 0x04, 0x30, 0x01, 0xea, 0x04, 0x30,
0xff, 0x04, 0x0c, 0x78, 0xff, 0x04, 0x0c, 0x78,
0x19, 0xea, 0x36, 0x59, 0x19, 0xea, 0x4e, 0x59,
0x19, 0xea, 0x04, 0x00, 0x19, 0xea, 0x04, 0x00,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x60, 0x3a, 0x1a, 0x68, 0x60, 0x3a, 0x1a, 0x68,
0x04, 0x47, 0x1b, 0x68, 0x04, 0x47, 0x1b, 0x68,
0xff, 0x21, 0x1b, 0x70, 0xff, 0x21, 0x1b, 0x70,
0x40, 0x4b, 0x78, 0x69, 0x40, 0x4b, 0x90, 0x69,
0x00, 0xe2, 0x3a, 0x59, 0x00, 0xe2, 0x52, 0x59,
0x40, 0x4b, 0x78, 0x69, 0x40, 0x4b, 0x90, 0x69,
0x20, 0x4b, 0x68, 0x69, 0x20, 0x4b, 0x80, 0x69,
0xfc, 0x42, 0x24, 0x78, 0xfc, 0x42, 0x24, 0x78,
0x10, 0x40, 0x24, 0x78, 0x10, 0x40, 0x24, 0x78,
0x00, 0xe2, 0xb6, 0x5d, 0x00, 0xe2, 0xd2, 0x5d,
0x20, 0x4d, 0x28, 0x78, 0x20, 0x4d, 0x28, 0x78,
0x00, 0xe2, 0xb6, 0x5d, 0x00, 0xe2, 0xd2, 0x5d,
0x30, 0x3f, 0xc0, 0x09, 0x30, 0x3f, 0xc0, 0x09,
0x30, 0xe0, 0x30, 0x60, 0x30, 0xe0, 0x30, 0x60,
0x7f, 0x4a, 0x94, 0x08, 0x7f, 0x4a, 0x94, 0x08,
...@@ -35,7 +35,7 @@ static uint8_t seqprog[] = { ...@@ -35,7 +35,7 @@ static uint8_t seqprog[] = {
0x00, 0xe2, 0x56, 0x58, 0x00, 0xe2, 0x56, 0x58,
0x00, 0xe2, 0x66, 0x58, 0x00, 0xe2, 0x66, 0x58,
0x00, 0xe2, 0x06, 0x40, 0x00, 0xe2, 0x06, 0x40,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x01, 0x52, 0x64, 0x78, 0x01, 0x52, 0x64, 0x78,
0x02, 0x58, 0x50, 0x31, 0x02, 0x58, 0x50, 0x31,
...@@ -43,47 +43,62 @@ static uint8_t seqprog[] = { ...@@ -43,47 +43,62 @@ static uint8_t seqprog[] = {
0xff, 0xad, 0x4f, 0x78, 0xff, 0xad, 0x4f, 0x78,
0x50, 0x4b, 0x4a, 0x68, 0x50, 0x4b, 0x4a, 0x68,
0xbf, 0x3a, 0x74, 0x08, 0xbf, 0x3a, 0x74, 0x08,
0x14, 0xea, 0x36, 0x59, 0x14, 0xea, 0x4e, 0x59,
0x14, 0xea, 0x04, 0x00, 0x14, 0xea, 0x04, 0x00,
0x08, 0xa8, 0x51, 0x03, 0x08, 0xa8, 0x51, 0x03,
0xff, 0xae, 0x3f, 0x68, 0xff, 0xae, 0x3f, 0x68,
0x00, 0xe2, 0x38, 0x5b, 0x00, 0xe2, 0x50, 0x5b,
0x00, 0xe2, 0x3e, 0x40, 0x00, 0xe2, 0x3e, 0x40,
0x00, 0xea, 0x2a, 0x59, 0x00, 0xea, 0x42, 0x59,
0x01, 0xea, 0x00, 0x30, 0x01, 0xea, 0x00, 0x30,
0x80, 0xf9, 0x5e, 0x68, 0x80, 0xf9, 0x5e, 0x68,
0x00, 0xe2, 0x28, 0x59, 0x00, 0xe2, 0x40, 0x59,
0x11, 0xea, 0x2a, 0x59, 0x11, 0xea, 0x42, 0x59,
0x11, 0xea, 0x00, 0x00, 0x11, 0xea, 0x00, 0x00,
0x80, 0xf9, 0x28, 0x79, 0x80, 0xf9, 0x40, 0x79,
0xff, 0xea, 0xd4, 0x0d, 0xff, 0xea, 0xd4, 0x0d,
0x22, 0xea, 0x2a, 0x59, 0x22, 0xea, 0x42, 0x59,
0x22, 0xea, 0x00, 0x00, 0x22, 0xea, 0x00, 0x00,
0x10, 0x16, 0x70, 0x78, 0x10, 0x16, 0x70, 0x78,
0x01, 0x0b, 0xa2, 0x32, 0x01, 0x0b, 0xa2, 0x32,
0x10, 0x16, 0x2c, 0x00, 0x10, 0x16, 0x2c, 0x00,
0x18, 0xad, 0xe0, 0x78, 0x18, 0xad, 0xfe, 0x78,
0x04, 0xad, 0xac, 0x68, 0x04, 0xad, 0xca, 0x68,
0x80, 0xad, 0x64, 0x78, 0x80, 0xad, 0x64, 0x78,
0x10, 0xad, 0x7a, 0x78, 0x10, 0xad, 0x98, 0x78,
0xe7, 0xad, 0x5a, 0x0d, 0xff, 0x88, 0x83, 0x68,
0xe7, 0xad, 0x5a, 0x09, 0xe7, 0xad, 0x5a, 0x09,
0x00, 0xe2, 0x88, 0x58, 0x02, 0x8c, 0x59, 0x32,
0x02, 0x28, 0x19, 0x33,
0x02, 0xa8, 0x50, 0x36,
0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00,
0x40, 0x3a, 0x64, 0x68,
0x50, 0x4b, 0x64, 0x68,
0x22, 0xea, 0x42, 0x59,
0x22, 0xea, 0x00, 0x00,
0xe7, 0xad, 0x5a, 0x09,
0x02, 0x8c, 0x59, 0x32,
0x1a, 0xea, 0x4e, 0x59,
0x1a, 0xea, 0x04, 0x00,
0xff, 0xea, 0xd4, 0x0d,
0xe7, 0xad, 0x5a, 0x09,
0x00, 0xe2, 0xa6, 0x58,
0xff, 0xea, 0x56, 0x02, 0xff, 0xea, 0x56, 0x02,
0x04, 0x7c, 0x78, 0x32, 0x04, 0x7c, 0x78, 0x32,
0x20, 0x16, 0x64, 0x78, 0x20, 0x16, 0x64, 0x78,
0x04, 0x38, 0x79, 0x32, 0x04, 0x38, 0x79, 0x32,
0x80, 0x37, 0x6f, 0x16, 0x80, 0x37, 0x6f, 0x16,
0xff, 0x2d, 0x97, 0x60, 0xff, 0x2d, 0xb5, 0x60,
0xff, 0x29, 0x97, 0x60, 0xff, 0x29, 0xb5, 0x60,
0x40, 0x51, 0xa7, 0x78, 0x40, 0x51, 0xc5, 0x78,
0xff, 0x4f, 0x97, 0x68, 0xff, 0x4f, 0xb5, 0x68,
0xff, 0x4d, 0xc1, 0x19, 0xff, 0x4d, 0xc1, 0x19,
0x00, 0x4e, 0xd5, 0x19, 0x00, 0x4e, 0xd5, 0x19,
0x00, 0xe2, 0xa6, 0x50, 0x00, 0xe2, 0xc4, 0x50,
0x01, 0x4c, 0xc1, 0x31, 0x01, 0x4c, 0xc1, 0x31,
0x00, 0x50, 0xd5, 0x19, 0x00, 0x50, 0xd5, 0x19,
0x00, 0xe2, 0xa6, 0x48, 0x00, 0xe2, 0xc4, 0x48,
0x80, 0x18, 0x64, 0x78, 0x80, 0x18, 0x64, 0x78,
0x02, 0x4a, 0x1d, 0x30, 0x02, 0x4a, 0x1d, 0x30,
0x10, 0xea, 0x18, 0x00, 0x10, 0xea, 0x18, 0x00,
...@@ -103,24 +118,24 @@ static uint8_t seqprog[] = { ...@@ -103,24 +118,24 @@ static uint8_t seqprog[] = {
0xff, 0xea, 0x4a, 0x03, 0xff, 0xea, 0x4a, 0x03,
0xff, 0xea, 0x4e, 0x03, 0xff, 0xea, 0x4e, 0x03,
0x01, 0x10, 0xd4, 0x31, 0x01, 0x10, 0xd4, 0x31,
0x10, 0xa8, 0xd5, 0x68, 0x10, 0xa8, 0xf3, 0x68,
0x3d, 0xa9, 0xc5, 0x29, 0x3d, 0xa9, 0xc5, 0x29,
0xfe, 0xe2, 0xc4, 0x09, 0xfe, 0xe2, 0xc4, 0x09,
0x01, 0xea, 0xc6, 0x01, 0x01, 0xea, 0xc6, 0x01,
0x02, 0xe2, 0xc8, 0x31, 0x02, 0xe2, 0xc8, 0x31,
0x02, 0xec, 0x50, 0x31, 0x02, 0xec, 0x50, 0x31,
0x02, 0xa0, 0xda, 0x31, 0x02, 0xa0, 0xda, 0x31,
0xff, 0xa9, 0xd4, 0x70, 0xff, 0xa9, 0xf2, 0x70,
0x02, 0xa0, 0x48, 0x37, 0x02, 0xa0, 0x48, 0x37,
0xff, 0x21, 0xdd, 0x70, 0xff, 0x21, 0xfb, 0x70,
0x02, 0x22, 0x51, 0x31, 0x02, 0x22, 0x51, 0x31,
0x02, 0xa0, 0x4c, 0x33, 0x02, 0xa0, 0x4c, 0x33,
0x02, 0xa0, 0x44, 0x36, 0x02, 0xa0, 0x44, 0x36,
0x02, 0xa0, 0x40, 0x32, 0x02, 0xa0, 0x40, 0x32,
0x02, 0xa0, 0x44, 0x36, 0x02, 0xa0, 0x44, 0x36,
0x04, 0x47, 0xe5, 0x68, 0x04, 0x47, 0x03, 0x69,
0x40, 0x16, 0x10, 0x69, 0x40, 0x16, 0x2e, 0x69,
0xff, 0x2d, 0x15, 0x61, 0xff, 0x2d, 0x33, 0x61,
0xff, 0x29, 0x65, 0x70, 0xff, 0x29, 0x65, 0x70,
0x01, 0x37, 0xc1, 0x31, 0x01, 0x37, 0xc1, 0x31,
0x02, 0x28, 0x55, 0x32, 0x02, 0x28, 0x55, 0x32,
...@@ -133,23 +148,20 @@ static uint8_t seqprog[] = { ...@@ -133,23 +148,20 @@ static uint8_t seqprog[] = {
0x01, 0x50, 0xa1, 0x1a, 0x01, 0x50, 0xa1, 0x1a,
0xff, 0x4e, 0x9d, 0x1a, 0xff, 0x4e, 0x9d, 0x1a,
0xff, 0x4f, 0x9f, 0x22, 0xff, 0x4f, 0x9f, 0x22,
0xff, 0x8d, 0x09, 0x71, 0xff, 0x8d, 0x27, 0x71,
0x80, 0xac, 0x08, 0x71, 0x80, 0xac, 0x26, 0x71,
0x20, 0x16, 0x08, 0x69, 0x20, 0x16, 0x26, 0x69,
0x02, 0x8c, 0x51, 0x31, 0x02, 0x8c, 0x51, 0x31,
0x00, 0xe2, 0xf2, 0x40, 0x00, 0xe2, 0x10, 0x41,
0x01, 0xac, 0x08, 0x31, 0x01, 0xac, 0x08, 0x31,
0x09, 0xea, 0x5a, 0x01, 0x09, 0xea, 0x5a, 0x01,
0x02, 0x8c, 0x51, 0x32, 0x02, 0x8c, 0x51, 0x32,
0xff, 0xea, 0x1a, 0x07, 0xff, 0xea, 0x1a, 0x07,
0x04, 0x24, 0xf9, 0x30, 0x04, 0x24, 0xf9, 0x30,
0x1d, 0xea, 0x20, 0x41, 0x1d, 0xea, 0x38, 0x41,
0x02, 0x2c, 0x51, 0x31, 0x02, 0x2c, 0x51, 0x31,
0x04, 0xa0, 0xf9, 0x30, 0x04, 0xa0, 0xf9, 0x30,
0x19, 0xea, 0x20, 0x59, 0x19, 0xea, 0x38, 0x41,
0x02, 0x8c, 0x59, 0x32,
0x02, 0x28, 0x19, 0x33,
0x02, 0xa8, 0x50, 0x36,
0x06, 0xea, 0x08, 0x81, 0x06, 0xea, 0x08, 0x81,
0x01, 0xe2, 0x5a, 0x35, 0x01, 0xe2, 0x5a, 0x35,
0x02, 0xf2, 0xf0, 0x35, 0x02, 0xf2, 0xf0, 0x35,
...@@ -167,23 +179,23 @@ static uint8_t seqprog[] = { ...@@ -167,23 +179,23 @@ static uint8_t seqprog[] = {
0x02, 0x20, 0xb9, 0x30, 0x02, 0x20, 0xb9, 0x30,
0x02, 0x20, 0x51, 0x31, 0x02, 0x20, 0x51, 0x31,
0x4c, 0xa9, 0xd7, 0x28, 0x4c, 0xa9, 0xd7, 0x28,
0x10, 0xa8, 0x49, 0x79, 0x10, 0xa8, 0x61, 0x79,
0x01, 0x6b, 0xc0, 0x30, 0x01, 0x6b, 0xc0, 0x30,
0x02, 0x64, 0xc8, 0x00, 0x02, 0x64, 0xc8, 0x00,
0x40, 0x3a, 0x74, 0x04, 0x40, 0x3a, 0x74, 0x04,
0x00, 0xe2, 0x56, 0x58, 0x00, 0xe2, 0x56, 0x58,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x30, 0x3f, 0xc0, 0x09, 0x30, 0x3f, 0xc0, 0x09,
0x30, 0xe0, 0x4a, 0x61, 0x30, 0xe0, 0x62, 0x61,
0x20, 0x3f, 0x60, 0x69, 0x20, 0x3f, 0x78, 0x69,
0x10, 0x3f, 0x4a, 0x79, 0x10, 0x3f, 0x62, 0x79,
0x02, 0xea, 0x7e, 0x00, 0x02, 0xea, 0x7e, 0x00,
0x00, 0xea, 0x2a, 0x59, 0x00, 0xea, 0x42, 0x59,
0x01, 0xea, 0x00, 0x30, 0x01, 0xea, 0x00, 0x30,
0x02, 0x48, 0x51, 0x35, 0x02, 0x48, 0x51, 0x35,
0x01, 0xea, 0x7e, 0x00, 0x01, 0xea, 0x7e, 0x00,
0x11, 0xea, 0x2a, 0x59, 0x11, 0xea, 0x42, 0x59,
0x11, 0xea, 0x00, 0x00, 0x11, 0xea, 0x00, 0x00,
0x02, 0x48, 0x51, 0x35, 0x02, 0x48, 0x51, 0x35,
0x08, 0xea, 0x98, 0x00, 0x08, 0xea, 0x98, 0x00,
...@@ -193,11 +205,11 @@ static uint8_t seqprog[] = { ...@@ -193,11 +205,11 @@ static uint8_t seqprog[] = {
0x0f, 0x67, 0xc0, 0x09, 0x0f, 0x67, 0xc0, 0x09,
0x00, 0x34, 0x69, 0x02, 0x00, 0x34, 0x69, 0x02,
0x20, 0xea, 0x96, 0x00, 0x20, 0xea, 0x96, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x40, 0x3a, 0x94, 0x69, 0x40, 0x3a, 0xac, 0x69,
0x02, 0x55, 0x06, 0x68, 0x02, 0x55, 0x06, 0x68,
0x02, 0x56, 0x94, 0x69, 0x02, 0x56, 0xac, 0x69,
0xff, 0x5b, 0x94, 0x61, 0xff, 0x5b, 0xac, 0x61,
0x02, 0x20, 0x51, 0x31, 0x02, 0x20, 0x51, 0x31,
0x80, 0xea, 0xb2, 0x01, 0x80, 0xea, 0xb2, 0x01,
0x44, 0xea, 0x00, 0x00, 0x44, 0xea, 0x00, 0x00,
...@@ -205,36 +217,36 @@ static uint8_t seqprog[] = { ...@@ -205,36 +217,36 @@ static uint8_t seqprog[] = {
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0xff, 0xea, 0xb2, 0x09, 0xff, 0xea, 0xb2, 0x09,
0xff, 0xe0, 0xc0, 0x19, 0xff, 0xe0, 0xc0, 0x19,
0xff, 0xe0, 0x96, 0x79, 0xff, 0xe0, 0xae, 0x79,
0x02, 0xa4, 0x51, 0x31, 0x02, 0xa4, 0x51, 0x31,
0x00, 0xe2, 0x8c, 0x41, 0x00, 0xe2, 0xa4, 0x41,
0x02, 0x5e, 0x50, 0x31, 0x02, 0x5e, 0x50, 0x31,
0x02, 0xa8, 0xb8, 0x30, 0x02, 0xa8, 0xb8, 0x30,
0x02, 0x5c, 0x50, 0x31, 0x02, 0x5c, 0x50, 0x31,
0xff, 0xa5, 0xa7, 0x71, 0xff, 0xa5, 0xbf, 0x71,
0x02, 0xa4, 0x41, 0x31, 0x02, 0xa4, 0x41, 0x31,
0x02, 0x22, 0x51, 0x31, 0x02, 0x22, 0x51, 0x31,
0x02, 0xa0, 0x4c, 0x33, 0x02, 0xa0, 0x4c, 0x33,
0x02, 0xa0, 0x44, 0x32, 0x02, 0xa0, 0x44, 0x32,
0x00, 0xe2, 0xb0, 0x41, 0x00, 0xe2, 0xc8, 0x41,
0x10, 0xa8, 0xb1, 0x69, 0x10, 0xa8, 0xc9, 0x69,
0x3d, 0xa9, 0xc9, 0x29, 0x3d, 0xa9, 0xc9, 0x29,
0x01, 0xe4, 0xc8, 0x01, 0x01, 0xe4, 0xc8, 0x01,
0x01, 0xea, 0xca, 0x01, 0x01, 0xea, 0xca, 0x01,
0xff, 0xea, 0xda, 0x01, 0xff, 0xea, 0xda, 0x01,
0x02, 0x20, 0x51, 0x31, 0x02, 0x20, 0x51, 0x31,
0x02, 0xa6, 0x41, 0x32, 0x02, 0xa6, 0x41, 0x32,
0xff, 0x21, 0xb9, 0x61, 0xff, 0x21, 0xd1, 0x61,
0xff, 0xea, 0x46, 0x02, 0xff, 0xea, 0x46, 0x02,
0x02, 0x5c, 0x50, 0x31, 0x02, 0x5c, 0x50, 0x31,
0x40, 0xea, 0x96, 0x00, 0x40, 0xea, 0x96, 0x00,
0x02, 0x56, 0xbe, 0x6d, 0x02, 0x56, 0xda, 0x6d,
0x01, 0x55, 0xbe, 0x6d, 0x01, 0x55, 0xda, 0x6d,
0x10, 0xa8, 0xc5, 0x79, 0x10, 0xa8, 0xdd, 0x79,
0x10, 0x40, 0xce, 0x69, 0x10, 0x40, 0xe6, 0x69,
0x01, 0x56, 0xce, 0x79, 0x01, 0x56, 0xe6, 0x79,
0xff, 0xad, 0x07, 0x78, 0xff, 0xad, 0x07, 0x78,
0x13, 0xea, 0x36, 0x59, 0x13, 0xea, 0x4e, 0x59,
0x13, 0xea, 0x04, 0x00, 0x13, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x06, 0x40, 0x00, 0xe2, 0x06, 0x40,
0xbf, 0x3a, 0x74, 0x08, 0xbf, 0x3a, 0x74, 0x08,
...@@ -245,104 +257,104 @@ static uint8_t seqprog[] = { ...@@ -245,104 +257,104 @@ static uint8_t seqprog[] = {
0x40, 0xea, 0x66, 0x02, 0x40, 0xea, 0x66, 0x02,
0x08, 0x3c, 0x78, 0x00, 0x08, 0x3c, 0x78, 0x00,
0x80, 0xea, 0x62, 0x02, 0x80, 0xea, 0x62, 0x02,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0x01, 0x36, 0xc1, 0x31, 0x01, 0x36, 0xc1, 0x31,
0x9f, 0xe0, 0x3c, 0x7c, 0x9f, 0xe0, 0x54, 0x7c,
0x80, 0xe0, 0xf2, 0x71, 0x80, 0xe0, 0x0a, 0x72,
0xa0, 0xe0, 0x2a, 0x72, 0xa0, 0xe0, 0x42, 0x72,
0xc0, 0xe0, 0x20, 0x72, 0xc0, 0xe0, 0x38, 0x72,
0xe0, 0xe0, 0x5a, 0x72, 0xe0, 0xe0, 0x72, 0x72,
0x01, 0xea, 0x36, 0x59, 0x01, 0xea, 0x4e, 0x59,
0x01, 0xea, 0x04, 0x00, 0x01, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x80, 0x33, 0xf9, 0x79, 0x80, 0x33, 0x11, 0x7a,
0x03, 0xea, 0x36, 0x59, 0x03, 0xea, 0x4e, 0x59,
0x03, 0xea, 0x04, 0x00, 0x03, 0xea, 0x04, 0x00,
0xee, 0x00, 0x00, 0x6a, 0xee, 0x00, 0x18, 0x6a,
0x05, 0xea, 0xb4, 0x00, 0x05, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x02, 0xa8, 0x90, 0x32, 0x02, 0xa8, 0x90, 0x32,
0x00, 0xe2, 0x50, 0x59, 0x00, 0xe2, 0x68, 0x59,
0xef, 0xac, 0xd5, 0x19, 0xef, 0xac, 0xd5, 0x19,
0x00, 0xe2, 0x10, 0x52, 0x00, 0xe2, 0x28, 0x52,
0x09, 0x80, 0xe1, 0x30, 0x09, 0x80, 0xe1, 0x30,
0x02, 0xea, 0x36, 0x00, 0x02, 0xea, 0x36, 0x00,
0xa8, 0xea, 0x32, 0x00, 0xa8, 0xea, 0x32, 0x00,
0x00, 0xe2, 0x16, 0x42, 0x00, 0xe2, 0x2e, 0x42,
0x01, 0xac, 0xd1, 0x30, 0x01, 0xac, 0xd1, 0x30,
0x10, 0x80, 0x89, 0x31, 0x10, 0x80, 0x89, 0x31,
0x20, 0xea, 0x32, 0x00, 0x20, 0xea, 0x32, 0x00,
0xbf, 0x33, 0x67, 0x0a, 0xbf, 0x33, 0x67, 0x0a,
0x20, 0x19, 0x18, 0x6a, 0x20, 0x19, 0x30, 0x6a,
0x02, 0x4d, 0xde, 0x69, 0x02, 0x4d, 0xf6, 0x69,
0x40, 0x33, 0x67, 0x02, 0x40, 0x33, 0x67, 0x02,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x80, 0x33, 0x97, 0x6a, 0x80, 0x33, 0xaf, 0x6a,
0x01, 0x44, 0x10, 0x33, 0x01, 0x44, 0x10, 0x33,
0x08, 0xa8, 0x51, 0x03, 0x08, 0xa8, 0x51, 0x03,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x10, 0xea, 0x80, 0x00, 0x10, 0xea, 0x80, 0x00,
0x01, 0x31, 0xc5, 0x31, 0x01, 0x31, 0xc5, 0x31,
0x80, 0xe2, 0x46, 0x62, 0x80, 0xe2, 0x5e, 0x62,
0x10, 0xa8, 0x6b, 0x6a, 0x10, 0xa8, 0x83, 0x6a,
0xc0, 0xaa, 0xc5, 0x01, 0xc0, 0xaa, 0xc5, 0x01,
0x40, 0xa8, 0x37, 0x6a, 0x40, 0xa8, 0x4f, 0x6a,
0xbf, 0xe2, 0xc4, 0x09, 0xbf, 0xe2, 0xc4, 0x09,
0x20, 0xa8, 0x4b, 0x7a, 0x20, 0xa8, 0x63, 0x7a,
0x01, 0xe2, 0x88, 0x30, 0x01, 0xe2, 0x88, 0x30,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0xa0, 0x36, 0x53, 0x62, 0xa0, 0x36, 0x6b, 0x62,
0x23, 0xa8, 0x89, 0x08, 0x23, 0xa8, 0x89, 0x08,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0xa0, 0x36, 0x53, 0x62, 0xa0, 0x36, 0x6b, 0x62,
0x00, 0xa8, 0x4a, 0x42, 0x00, 0xa8, 0x62, 0x42,
0xff, 0xe2, 0x4a, 0x62, 0xff, 0xe2, 0x62, 0x62,
0x00, 0xe2, 0x6a, 0x42, 0x00, 0xe2, 0x82, 0x42,
0x40, 0xea, 0x98, 0x00, 0x40, 0xea, 0x98, 0x00,
0x01, 0xe2, 0x88, 0x30, 0x01, 0xe2, 0x88, 0x30,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0xa0, 0x36, 0x29, 0x72, 0xa0, 0x36, 0x41, 0x72,
0x40, 0xea, 0x98, 0x00, 0x40, 0xea, 0x98, 0x00,
0x01, 0x31, 0x89, 0x32, 0x01, 0x31, 0x89, 0x32,
0x08, 0xea, 0x62, 0x02, 0x08, 0xea, 0x62, 0x02,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0xe0, 0xea, 0xb6, 0x5b, 0xe0, 0xea, 0xce, 0x5b,
0x80, 0xe0, 0xa2, 0x6a, 0x80, 0xe0, 0xba, 0x6a,
0x04, 0xe0, 0x48, 0x73, 0x04, 0xe0, 0x60, 0x73,
0x02, 0xe0, 0x78, 0x73, 0x02, 0xe0, 0x90, 0x73,
0x00, 0xea, 0x00, 0x73, 0x00, 0xea, 0x18, 0x73,
0x03, 0xe0, 0x88, 0x73, 0x03, 0xe0, 0xa0, 0x73,
0x23, 0xe0, 0x7c, 0x72, 0x23, 0xe0, 0x94, 0x72,
0x08, 0xe0, 0x9e, 0x72, 0x08, 0xe0, 0xb6, 0x72,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0x07, 0xea, 0x36, 0x59, 0x07, 0xea, 0x4e, 0x59,
0x07, 0xea, 0x04, 0x00, 0x07, 0xea, 0x04, 0x00,
0x08, 0x42, 0xdf, 0x71, 0x08, 0x42, 0xf7, 0x71,
0x04, 0x42, 0x79, 0x62, 0x04, 0x42, 0x91, 0x62,
0x01, 0x43, 0x89, 0x30, 0x01, 0x43, 0x89, 0x30,
0x00, 0xe2, 0x6a, 0x42, 0x00, 0xe2, 0x82, 0x42,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0x00, 0xe2, 0x6a, 0x42, 0x00, 0xe2, 0x82, 0x42,
0x01, 0x00, 0x60, 0x32, 0x01, 0x00, 0x60, 0x32,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x4c, 0x34, 0xc1, 0x28, 0x4c, 0x34, 0xc1, 0x28,
0x01, 0x64, 0xc0, 0x31, 0x01, 0x64, 0xc0, 0x31,
0x00, 0x30, 0x2b, 0x59, 0x00, 0x30, 0x43, 0x59,
0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30,
0x01, 0xe0, 0x9c, 0x7a, 0x01, 0xe0, 0xb4, 0x7a,
0xa0, 0xea, 0xac, 0x5b, 0xa0, 0xea, 0xc4, 0x5b,
0x01, 0xa0, 0x9c, 0x62, 0x01, 0xa0, 0xb4, 0x62,
0x01, 0x84, 0x95, 0x7a, 0x01, 0x84, 0xad, 0x7a,
0x01, 0xa7, 0x9e, 0x7a, 0x01, 0xa7, 0xb6, 0x7a,
0x00, 0xe2, 0x9e, 0x42, 0x00, 0xe2, 0xb6, 0x42,
0x03, 0xea, 0x36, 0x59, 0x03, 0xea, 0x4e, 0x59,
0x03, 0xea, 0x04, 0x00, 0x03, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x9e, 0x42, 0x00, 0xe2, 0xb6, 0x42,
0x07, 0xea, 0xbe, 0x5b, 0x07, 0xea, 0xd6, 0x5b,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x3f, 0xe0, 0x6a, 0x0a, 0x3f, 0xe0, 0x6a, 0x0a,
0xc0, 0x34, 0xc1, 0x09, 0xc0, 0x34, 0xc1, 0x09,
0x00, 0x35, 0x51, 0x01, 0x00, 0x35, 0x51, 0x01,
...@@ -353,54 +365,54 @@ static uint8_t seqprog[] = { ...@@ -353,54 +365,54 @@ static uint8_t seqprog[] = {
0x01, 0xea, 0xc6, 0x01, 0x01, 0xea, 0xc6, 0x01,
0x02, 0xe2, 0xc8, 0x31, 0x02, 0xe2, 0xc8, 0x31,
0x02, 0xec, 0x40, 0x31, 0x02, 0xec, 0x40, 0x31,
0xff, 0xa1, 0xbe, 0x72, 0xff, 0xa1, 0xd6, 0x72,
0x02, 0xe8, 0xda, 0x31, 0x02, 0xe8, 0xda, 0x31,
0x02, 0xa0, 0x50, 0x31, 0x02, 0xa0, 0x50, 0x31,
0x00, 0xe2, 0xe0, 0x42, 0x00, 0xe2, 0xf8, 0x42,
0x80, 0x33, 0x67, 0x02, 0x80, 0x33, 0x67, 0x02,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0x00, 0xe2, 0x9a, 0x5b, 0x00, 0xe2, 0xb2, 0x5b,
0x01, 0x33, 0x67, 0x02, 0x01, 0x33, 0x67, 0x02,
0xe0, 0x36, 0xfb, 0x62, 0xe0, 0x36, 0x13, 0x63,
0x02, 0x33, 0x67, 0x02, 0x02, 0x33, 0x67, 0x02,
0x20, 0x46, 0xf4, 0x62, 0x20, 0x46, 0x0c, 0x63,
0xff, 0xea, 0x52, 0x09, 0xff, 0xea, 0x52, 0x09,
0xa8, 0xea, 0xac, 0x5b, 0xa8, 0xea, 0xc4, 0x5b,
0x04, 0xa8, 0xdb, 0x7a, 0x04, 0xa8, 0xf3, 0x7a,
0x01, 0x34, 0xc1, 0x31, 0x01, 0x34, 0xc1, 0x31,
0x00, 0xa9, 0xdb, 0x62, 0x00, 0xa9, 0xf3, 0x62,
0x01, 0x35, 0xc1, 0x31, 0x01, 0x35, 0xc1, 0x31,
0x00, 0xaa, 0xe5, 0x72, 0x00, 0xaa, 0xfd, 0x72,
0x01, 0xa9, 0x52, 0x11, 0x01, 0xa9, 0x52, 0x11,
0xff, 0xa9, 0xd0, 0x6a, 0xff, 0xa9, 0xe8, 0x6a,
0x00, 0xe2, 0xf4, 0x42, 0x00, 0xe2, 0x0c, 0x43,
0x10, 0x33, 0x67, 0x02, 0x10, 0x33, 0x67, 0x02,
0x04, 0xa8, 0xf5, 0x7a, 0x04, 0xa8, 0x0d, 0x7b,
0xfb, 0xa8, 0x51, 0x0b, 0xfb, 0xa8, 0x51, 0x0b,
0xff, 0xea, 0x66, 0x0a, 0xff, 0xea, 0x66, 0x0a,
0x01, 0x9c, 0xef, 0x6a, 0x01, 0x9c, 0x07, 0x6b,
0x02, 0xa8, 0x90, 0x32, 0x02, 0xa8, 0x90, 0x32,
0x00, 0xe2, 0x50, 0x59, 0x00, 0xe2, 0x68, 0x59,
0x10, 0xa8, 0x9f, 0x7a, 0x10, 0xa8, 0xb7, 0x7a,
0xff, 0xea, 0xbe, 0x5b, 0xff, 0xea, 0xd6, 0x5b,
0x00, 0xe2, 0x9e, 0x42, 0x00, 0xe2, 0xb6, 0x42,
0x04, 0xea, 0x36, 0x59, 0x04, 0xea, 0x4e, 0x59,
0x04, 0xea, 0x04, 0x00, 0x04, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x9e, 0x42, 0x00, 0xe2, 0xb6, 0x42,
0x04, 0xea, 0x36, 0x59, 0x04, 0xea, 0x4e, 0x59,
0x04, 0xea, 0x04, 0x00, 0x04, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x08, 0xa8, 0x97, 0x7a, 0x08, 0xa8, 0xaf, 0x7a,
0xc0, 0x33, 0x0b, 0x7b, 0xc0, 0x33, 0x23, 0x7b,
0x80, 0x33, 0x97, 0x6a, 0x80, 0x33, 0xaf, 0x6a,
0xff, 0x88, 0x0b, 0x6b, 0xff, 0x88, 0x23, 0x6b,
0x40, 0x33, 0x97, 0x6a, 0x40, 0x33, 0xaf, 0x6a,
0x10, 0xa8, 0x11, 0x7b, 0x10, 0xa8, 0x29, 0x7b,
0x0a, 0xea, 0x36, 0x59, 0x0a, 0xea, 0x4e, 0x59,
0x0a, 0xea, 0x04, 0x00, 0x0a, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x30, 0x5b, 0x00, 0xe2, 0x48, 0x5b,
0x00, 0xe2, 0x64, 0x43, 0x00, 0xe2, 0x7c, 0x43,
0x50, 0x4b, 0x18, 0x6b, 0x50, 0x4b, 0x30, 0x6b,
0xbf, 0x3a, 0x74, 0x08, 0xbf, 0x3a, 0x74, 0x08,
0x01, 0xe0, 0xf4, 0x31, 0x01, 0xe0, 0xf4, 0x31,
0xff, 0xea, 0xc0, 0x09, 0xff, 0xea, 0xc0, 0x09,
...@@ -410,25 +422,25 @@ static uint8_t seqprog[] = { ...@@ -410,25 +422,25 @@ static uint8_t seqprog[] = {
0x01, 0xfa, 0xc0, 0x35, 0x01, 0xfa, 0xc0, 0x35,
0x02, 0xa8, 0x84, 0x32, 0x02, 0xa8, 0x84, 0x32,
0x02, 0xea, 0xb4, 0x00, 0x02, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x02, 0x42, 0x51, 0x31, 0x02, 0x42, 0x51, 0x31,
0xff, 0xae, 0x65, 0x68, 0xff, 0xae, 0x65, 0x68,
0xff, 0x88, 0x3d, 0x6b, 0xff, 0x88, 0x55, 0x6b,
0x01, 0x9c, 0x39, 0x6b, 0x01, 0x9c, 0x51, 0x6b,
0x02, 0x9c, 0x41, 0x6b, 0x02, 0x9c, 0x59, 0x6b,
0x01, 0x84, 0x41, 0x7b, 0x01, 0x84, 0x59, 0x7b,
0x02, 0x28, 0x19, 0x33, 0x02, 0x28, 0x19, 0x33,
0x02, 0xa8, 0x50, 0x36, 0x02, 0xa8, 0x50, 0x36,
0xff, 0x88, 0x41, 0x73, 0xff, 0x88, 0x59, 0x73,
0x00, 0xe2, 0x14, 0x5b, 0x00, 0xe2, 0x2c, 0x5b,
0x02, 0xa8, 0x5c, 0x33, 0x02, 0xa8, 0x5c, 0x33,
0x02, 0x2c, 0x19, 0x33, 0x02, 0x2c, 0x19, 0x33,
0x02, 0xa8, 0x58, 0x32, 0x02, 0xa8, 0x58, 0x32,
0x04, 0x9c, 0x39, 0x07, 0x04, 0x9c, 0x39, 0x07,
0xc0, 0x33, 0x97, 0x6a, 0xc0, 0x33, 0xaf, 0x6a,
0x04, 0xa8, 0x51, 0x03, 0x04, 0xa8, 0x51, 0x03,
0x20, 0xa8, 0x65, 0x6b, 0x20, 0xa8, 0x7d, 0x6b,
0x02, 0xa8, 0x40, 0x31, 0x02, 0xa8, 0x40, 0x31,
0xc0, 0x34, 0xc1, 0x09, 0xc0, 0x34, 0xc1, 0x09,
0x00, 0x35, 0x51, 0x01, 0x00, 0x35, 0x51, 0x01,
...@@ -443,56 +455,56 @@ static uint8_t seqprog[] = { ...@@ -443,56 +455,56 @@ static uint8_t seqprog[] = {
0xf7, 0x57, 0xae, 0x08, 0xf7, 0x57, 0xae, 0x08,
0x08, 0xea, 0x98, 0x00, 0x08, 0xea, 0x98, 0x00,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0xee, 0x00, 0x6e, 0x6b, 0xee, 0x00, 0x86, 0x6b,
0x02, 0xea, 0xb4, 0x00, 0x02, 0xea, 0xb4, 0x00,
0x00, 0xe2, 0x96, 0x5b, 0x00, 0xe2, 0xae, 0x5b,
0x09, 0x4c, 0x70, 0x7b, 0x09, 0x4c, 0x88, 0x7b,
0x08, 0x4c, 0x06, 0x68, 0x08, 0x4c, 0x06, 0x68,
0x0b, 0xea, 0x36, 0x59, 0x0b, 0xea, 0x4e, 0x59,
0x0b, 0xea, 0x04, 0x00, 0x0b, 0xea, 0x04, 0x00,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0x20, 0x33, 0xdf, 0x79, 0x20, 0x33, 0xf7, 0x79,
0x00, 0xe2, 0x80, 0x5b, 0x00, 0xe2, 0x98, 0x5b,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x01, 0x84, 0x85, 0x7b, 0x01, 0x84, 0x9d, 0x7b,
0x01, 0x9c, 0x39, 0x07, 0x01, 0x9c, 0x39, 0x07,
0x08, 0x60, 0x20, 0x33, 0x08, 0x60, 0x20, 0x33,
0x08, 0x80, 0x31, 0x37, 0x08, 0x80, 0x31, 0x37,
0xdf, 0x33, 0x67, 0x0a, 0xdf, 0x33, 0x67, 0x0a,
0xee, 0x00, 0x92, 0x6b, 0xee, 0x00, 0xaa, 0x6b,
0x05, 0xea, 0xb4, 0x00, 0x05, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x00, 0xe2, 0x50, 0x59, 0x00, 0xe2, 0x68, 0x59,
0x00, 0xe2, 0x9e, 0x42, 0x00, 0xe2, 0xb6, 0x42,
0x01, 0xea, 0x6c, 0x02, 0x01, 0xea, 0x6c, 0x02,
0xc0, 0xea, 0x66, 0x06, 0xc0, 0xea, 0x66, 0x06,
0xff, 0x42, 0xa6, 0x6b, 0xff, 0x42, 0xbe, 0x6b,
0x01, 0x41, 0x9a, 0x6b, 0x01, 0x41, 0xb2, 0x6b,
0x02, 0x41, 0x9a, 0x7b, 0x02, 0x41, 0xb2, 0x7b,
0xff, 0x42, 0xa6, 0x6b, 0xff, 0x42, 0xbe, 0x6b,
0x01, 0x41, 0x9a, 0x6b, 0x01, 0x41, 0xb2, 0x6b,
0x02, 0x41, 0x9a, 0x7b, 0x02, 0x41, 0xb2, 0x7b,
0xff, 0x42, 0xa6, 0x7b, 0xff, 0x42, 0xbe, 0x7b,
0x04, 0x4c, 0x9a, 0x6b, 0x04, 0x4c, 0xb2, 0x6b,
0xe0, 0x41, 0x6c, 0x0e, 0xe0, 0x41, 0x6c, 0x0e,
0x01, 0x44, 0xd4, 0x31, 0x01, 0x44, 0xd4, 0x31,
0xff, 0x42, 0xae, 0x7b, 0xff, 0x42, 0xc6, 0x7b,
0x04, 0x4c, 0xae, 0x6b, 0x04, 0x4c, 0xc6, 0x6b,
0xe0, 0x41, 0x6c, 0x0a, 0xe0, 0x41, 0x6c, 0x0a,
0xe0, 0x36, 0xdf, 0x61, 0xe0, 0x36, 0xf7, 0x61,
0xff, 0xea, 0xca, 0x09, 0xff, 0xea, 0xca, 0x09,
0x01, 0xe2, 0xc8, 0x31, 0x01, 0xe2, 0xc8, 0x31,
0x01, 0x46, 0xda, 0x35, 0x01, 0x46, 0xda, 0x35,
0x01, 0x44, 0xd4, 0x35, 0x01, 0x44, 0xd4, 0x35,
0x10, 0xea, 0x80, 0x00, 0x10, 0xea, 0x80, 0x00,
0x01, 0xe2, 0x62, 0x36, 0x01, 0xe2, 0x62, 0x36,
0x04, 0xa6, 0xc6, 0x7b, 0x04, 0xa6, 0xde, 0x7b,
0xff, 0xea, 0x5a, 0x09, 0xff, 0xea, 0x5a, 0x09,
0xff, 0xea, 0x4c, 0x0d, 0xff, 0xea, 0x4c, 0x0d,
0x01, 0xa6, 0xe4, 0x6b, 0x01, 0xa6, 0xfc, 0x6b,
0x10, 0xad, 0x64, 0x78, 0x10, 0xad, 0x64, 0x78,
0x80, 0xad, 0xdc, 0x6b, 0x80, 0xad, 0xf4, 0x6b,
0x08, 0xad, 0x64, 0x68, 0x08, 0xad, 0x64, 0x68,
0x04, 0x84, 0xf9, 0x30, 0x04, 0x84, 0xf9, 0x30,
0x00, 0xea, 0x08, 0x81, 0x00, 0xea, 0x08, 0x81,
...@@ -509,7 +521,7 @@ static uint8_t seqprog[] = { ...@@ -509,7 +521,7 @@ static uint8_t seqprog[] = {
0x08, 0xb0, 0xe0, 0x30, 0x08, 0xb0, 0xe0, 0x30,
0x04, 0xb0, 0xe0, 0x30, 0x04, 0xb0, 0xe0, 0x30,
0x03, 0xb0, 0xf0, 0x30, 0x03, 0xb0, 0xf0, 0x30,
0x01, 0x78, 0xf2, 0x7b, 0x01, 0x78, 0x0a, 0x7c,
0x01, 0xa7, 0x4e, 0x11, 0x01, 0xa7, 0x4e, 0x11,
0x01, 0xb0, 0x06, 0x33, 0x01, 0xb0, 0x06, 0x33,
0x7f, 0x83, 0xe9, 0x08, 0x7f, 0x83, 0xe9, 0x08,
...@@ -520,9 +532,9 @@ static uint8_t seqprog[] = { ...@@ -520,9 +532,9 @@ static uint8_t seqprog[] = {
0x00, 0x86, 0x0d, 0x23, 0x00, 0x86, 0x0d, 0x23,
0x00, 0x87, 0x0f, 0x23, 0x00, 0x87, 0x0f, 0x23,
0x01, 0x84, 0xc5, 0x31, 0x01, 0x84, 0xc5, 0x31,
0x01, 0xa7, 0x08, 0x7c, 0x01, 0xa7, 0x20, 0x7c,
0x04, 0xe2, 0xc4, 0x01, 0x04, 0xe2, 0xc4, 0x01,
0x80, 0x83, 0x0f, 0x7c, 0x80, 0x83, 0x27, 0x7c,
0x02, 0xe2, 0xc4, 0x01, 0x02, 0xe2, 0xc4, 0x01,
0xff, 0xea, 0x4c, 0x09, 0xff, 0xea, 0x4c, 0x09,
0x01, 0xe2, 0x36, 0x30, 0x01, 0xe2, 0x36, 0x30,
...@@ -534,243 +546,246 @@ static uint8_t seqprog[] = { ...@@ -534,243 +546,246 @@ static uint8_t seqprog[] = {
0x0b, 0x90, 0xe1, 0x30, 0x0b, 0x90, 0xe1, 0x30,
0x01, 0x98, 0x4f, 0x09, 0x01, 0x98, 0x4f, 0x09,
0xfd, 0x9c, 0x49, 0x09, 0xfd, 0x9c, 0x49, 0x09,
0x80, 0x9b, 0x25, 0x7c, 0x80, 0x9b, 0x3d, 0x7c,
0x02, 0xa4, 0x48, 0x01, 0x02, 0xa4, 0x48, 0x01,
0x01, 0xa7, 0x28, 0x7c, 0x01, 0xa7, 0x40, 0x7c,
0x04, 0xa4, 0x48, 0x01, 0x04, 0xa4, 0x48, 0x01,
0x01, 0xa4, 0x36, 0x30, 0x01, 0xa4, 0x36, 0x30,
0xa8, 0xea, 0x32, 0x00, 0xa8, 0xea, 0x32, 0x00,
0xfd, 0x9c, 0x39, 0x0b, 0xfd, 0x9c, 0x39, 0x0b,
0x05, 0x9b, 0x07, 0x33, 0x05, 0x9b, 0x07, 0x33,
0x80, 0x83, 0x35, 0x6c, 0x80, 0x83, 0x4d, 0x6c,
0x02, 0xea, 0x4c, 0x05, 0x02, 0xea, 0x4c, 0x05,
0xff, 0xea, 0x4c, 0x0d, 0xff, 0xea, 0x4c, 0x0d,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x02, 0xa6, 0xc8, 0x6b, 0x02, 0xa6, 0xe0, 0x6b,
0x80, 0xf9, 0xf2, 0x05, 0x80, 0xf9, 0xf2, 0x05,
0xc0, 0x33, 0x43, 0x7c, 0xc0, 0x33, 0x5b, 0x7c,
0x03, 0xea, 0x36, 0x59, 0x03, 0xea, 0x4e, 0x59,
0x03, 0xea, 0x04, 0x00, 0x03, 0xea, 0x04, 0x00,
0x20, 0x33, 0x67, 0x7c, 0x20, 0x33, 0x7f, 0x7c,
0x01, 0x84, 0x4d, 0x6c, 0x01, 0x84, 0x65, 0x6c,
0x06, 0xea, 0x36, 0x59, 0x06, 0xea, 0x4e, 0x59,
0x06, 0xea, 0x04, 0x00, 0x06, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x6a, 0x44, 0x00, 0xe2, 0x82, 0x44,
0x01, 0x00, 0x60, 0x32, 0x01, 0x00, 0x60, 0x32,
0xee, 0x00, 0x56, 0x6c, 0xee, 0x00, 0x6e, 0x6c,
0x05, 0xea, 0xb4, 0x00, 0x05, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x2a, 0x59, 0x33, 0xea, 0x42, 0x59,
0x33, 0xea, 0x00, 0x00, 0x33, 0xea, 0x00, 0x00,
0x80, 0x3d, 0x7a, 0x00, 0x80, 0x3d, 0x7a, 0x00,
0xfc, 0x42, 0x58, 0x7c, 0xfc, 0x42, 0x70, 0x7c,
0x7f, 0x3d, 0x7a, 0x08, 0x7f, 0x3d, 0x7a, 0x08,
0x00, 0x30, 0x2b, 0x59, 0x00, 0x30, 0x43, 0x59,
0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30,
0x09, 0xea, 0x36, 0x59, 0x09, 0xea, 0x4e, 0x59,
0x09, 0xea, 0x04, 0x00, 0x09, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x01, 0x9c, 0x4d, 0x6c, 0x01, 0x9c, 0x65, 0x6c,
0x00, 0xe2, 0x1a, 0x5c, 0x00, 0xe2, 0x32, 0x5c,
0x20, 0x33, 0x67, 0x02, 0x20, 0x33, 0x67, 0x02,
0x01, 0x00, 0x60, 0x32, 0x01, 0x00, 0x60, 0x32,
0x02, 0xa6, 0x72, 0x7c, 0x02, 0xa6, 0x8a, 0x7c,
0x00, 0xe2, 0x36, 0x5c, 0x00, 0xe2, 0x4e, 0x5c,
0x00, 0xe2, 0x56, 0x58, 0x00, 0xe2, 0x56, 0x58,
0x00, 0xe2, 0x66, 0x58, 0x00, 0xe2, 0x66, 0x58,
0x00, 0xe2, 0x3a, 0x58, 0x00, 0xe2, 0x3a, 0x58,
0x00, 0x30, 0x2b, 0x59, 0x00, 0x30, 0x43, 0x59,
0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30,
0x20, 0x19, 0x72, 0x6c, 0x20, 0x19, 0x8a, 0x6c,
0x00, 0xe2, 0xa2, 0x5c, 0x00, 0xe2, 0xba, 0x5c,
0x04, 0x19, 0x8c, 0x6c, 0x04, 0x19, 0xa4, 0x6c,
0x02, 0x19, 0x32, 0x00, 0x02, 0x19, 0x32, 0x00,
0x01, 0x84, 0x8d, 0x7c, 0x01, 0x84, 0xa5, 0x7c,
0x01, 0x1b, 0x86, 0x7c, 0x01, 0x1b, 0x9e, 0x7c,
0x01, 0x1a, 0x8c, 0x6c, 0x01, 0x1a, 0xa4, 0x6c,
0x00, 0xe2, 0x3c, 0x44, 0x00, 0xe2, 0x54, 0x44,
0x80, 0x4b, 0x92, 0x6c, 0x80, 0x4b, 0xaa, 0x6c,
0x01, 0x4c, 0x8e, 0x7c, 0x01, 0x4c, 0xa6, 0x7c,
0x03, 0x42, 0x3c, 0x6c, 0x03, 0x42, 0x54, 0x6c,
0x00, 0xe2, 0xc2, 0x5b, 0x00, 0xe2, 0xda, 0x5b,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0x04, 0x33, 0xdf, 0x79, 0x04, 0x33, 0xf7, 0x79,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x08, 0x5d, 0xaa, 0x6c, 0x08, 0x5d, 0xc2, 0x6c,
0x00, 0xe2, 0x56, 0x58, 0x00, 0xe2, 0x56, 0x58,
0x00, 0x30, 0x2b, 0x59, 0x00, 0x30, 0x43, 0x59,
0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30,
0x02, 0x1b, 0x9a, 0x7c, 0x02, 0x1b, 0xb2, 0x7c,
0x08, 0x5d, 0xa8, 0x7c, 0x08, 0x5d, 0xc0, 0x7c,
0x03, 0x68, 0x00, 0x37, 0x03, 0x68, 0x00, 0x37,
0x01, 0x84, 0x09, 0x07, 0x01, 0x84, 0x09, 0x07,
0x80, 0x1b, 0xb4, 0x7c, 0x80, 0x1b, 0xcc, 0x7c,
0x80, 0x84, 0xb5, 0x6c, 0x80, 0x84, 0xcd, 0x6c,
0xff, 0x85, 0x0b, 0x1b, 0xff, 0x85, 0x0b, 0x1b,
0xff, 0x86, 0x0d, 0x23, 0xff, 0x86, 0x0d, 0x23,
0xff, 0x87, 0x0f, 0x23, 0xff, 0x87, 0x0f, 0x23,
0xf8, 0x1b, 0x08, 0x0b, 0xf8, 0x1b, 0x08, 0x0b,
0xff, 0xea, 0x4e, 0x09, 0xff, 0xea, 0x4e, 0x09,
0x04, 0x1b, 0xbc, 0x7c, 0x04, 0x1b, 0xd4, 0x7c,
0x01, 0xa7, 0x4e, 0x01, 0x01, 0xa7, 0x4e, 0x01,
0xff, 0xea, 0x06, 0x0b, 0xff, 0xea, 0x06, 0x0b,
0x03, 0x68, 0x00, 0x37, 0x03, 0x68, 0x00, 0x37,
0x00, 0xe2, 0xa6, 0x58, 0x00, 0xe2, 0xc4, 0x58,
0x10, 0xea, 0x18, 0x00, 0x10, 0xea, 0x18, 0x00,
0xf9, 0xd9, 0xb2, 0x0d, 0xf9, 0xd9, 0xb2, 0x0d,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x01, 0x52, 0x48, 0x31, 0x01, 0x52, 0x48, 0x31,
0x20, 0xa4, 0xe0, 0x7c, 0x20, 0xa4, 0xfc, 0x7c,
0x20, 0x5b, 0xe0, 0x7c, 0x20, 0x5b, 0xfc, 0x7c,
0x80, 0xf9, 0xee, 0x7c, 0x80, 0xf9, 0x0a, 0x7d,
0x02, 0xea, 0xb4, 0x00,
0x11, 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x10,
0x04, 0x19, 0xda, 0x7c, 0x04, 0x19, 0x16, 0x7d,
0xdf, 0x19, 0x32, 0x08, 0xdf, 0x19, 0x32, 0x08,
0x01, 0x4c, 0xd6, 0x7c, 0x60, 0x5b, 0xf4, 0x6c,
0x01, 0x4c, 0xf0, 0x7c,
0x20, 0x19, 0x32, 0x00, 0x20, 0x19, 0x32, 0x00,
0x11, 0x00, 0x00, 0x10, 0x01, 0xd9, 0xb2, 0x05,
0x02, 0xea, 0xb4, 0x00, 0x02, 0xea, 0xb4, 0x00,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x10, 0x5b, 0xf2, 0x6c, 0x10, 0x5b, 0x0e, 0x6d,
0x08, 0x5b, 0xfc, 0x6c, 0x08, 0x5b, 0x18, 0x6d,
0x20, 0x5b, 0xec, 0x6c, 0x20, 0x5b, 0x08, 0x6d,
0x02, 0x5b, 0x1c, 0x6d, 0x02, 0x5b, 0x38, 0x6d,
0x0e, 0xea, 0x36, 0x59, 0x0e, 0xea, 0x4e, 0x59,
0x0e, 0xea, 0x04, 0x00, 0x0e, 0xea, 0x04, 0x00,
0x80, 0xf9, 0xdc, 0x6c, 0x80, 0xf9, 0xf8, 0x6c,
0xdf, 0x5c, 0xb8, 0x08, 0xdf, 0x5c, 0xb8, 0x08,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x01, 0x9c, 0xf3, 0x6d,
0x00, 0xe2, 0x32, 0x5c,
0x00, 0xe2, 0x42, 0x5d,
0x01, 0xae, 0x5d, 0x1b, 0x01, 0xae, 0x5d, 0x1b,
0x01, 0x9c, 0xd7, 0x6d,
0x00, 0xe2, 0x1a, 0x5c,
0x00, 0xe2, 0x26, 0x5d,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x00, 0xe2, 0x14, 0x5b, 0x00, 0xe2, 0x2c, 0x5b,
0xf3, 0xac, 0xd5, 0x19, 0xf3, 0xac, 0xd5, 0x19,
0x00, 0xe2, 0x0a, 0x55, 0x00, 0xe2, 0x26, 0x55,
0x80, 0xac, 0x0b, 0x6d, 0x80, 0xac, 0x27, 0x6d,
0x0f, 0xea, 0x36, 0x59, 0x0f, 0xea, 0x4e, 0x59,
0x0f, 0xea, 0x04, 0x00, 0x0f, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x12, 0x45, 0x00, 0xe2, 0x2e, 0x45,
0x04, 0x8c, 0xe1, 0x30, 0x04, 0x8c, 0xe1, 0x30,
0x01, 0xea, 0xf2, 0x00, 0x01, 0xea, 0xf2, 0x00,
0x02, 0xea, 0x36, 0x00, 0x02, 0xea, 0x36, 0x00,
0xa8, 0xea, 0x32, 0x00, 0xa8, 0xea, 0x32, 0x00,
0xff, 0xad, 0x19, 0x7d, 0xff, 0xad, 0x35, 0x7d,
0x14, 0xea, 0x36, 0x59, 0x14, 0xea, 0x4e, 0x59,
0x14, 0xea, 0x04, 0x00, 0x14, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x88, 0x5d, 0x00, 0xe2, 0xa4, 0x5d,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x09, 0x80, 0xe1, 0x30, 0x09, 0x80, 0xe1, 0x30,
0x02, 0xea, 0x36, 0x00, 0x02, 0xea, 0x36, 0x00,
0xa8, 0xea, 0x32, 0x00, 0xa8, 0xea, 0x32, 0x00,
0x00, 0xe2, 0x80, 0x5d, 0x00, 0xe2, 0x9c, 0x5d,
0x01, 0xd9, 0xb2, 0x05, 0x01, 0xd9, 0xb2, 0x05,
0x02, 0xa6, 0x36, 0x7d, 0x02, 0xa6, 0x52, 0x7d,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x20, 0x5b, 0x44, 0x6d, 0x20, 0x5b, 0x60, 0x6d,
0xfc, 0x42, 0x30, 0x7d, 0xfc, 0x42, 0x4c, 0x7d,
0x10, 0x40, 0x32, 0x6d, 0x10, 0x40, 0x4e, 0x6d,
0x20, 0x4d, 0x34, 0x7d, 0x20, 0x4d, 0x50, 0x7d,
0x08, 0x5d, 0x44, 0x6d, 0x08, 0x5d, 0x60, 0x6d,
0x02, 0xa6, 0xc8, 0x6b, 0x02, 0xa6, 0xe0, 0x6b,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x20, 0x5b, 0x44, 0x6d, 0x20, 0x5b, 0x60, 0x6d,
0x01, 0x1b, 0x64, 0x6d, 0x01, 0x1b, 0x80, 0x6d,
0xfc, 0x42, 0x40, 0x7d, 0xfc, 0x42, 0x5c, 0x7d,
0x10, 0x40, 0x42, 0x6d, 0x10, 0x40, 0x5e, 0x6d,
0x20, 0x4d, 0x64, 0x78, 0x20, 0x4d, 0x64, 0x78,
0x08, 0x5d, 0x64, 0x78, 0x08, 0x5d, 0x64, 0x78,
0x02, 0x19, 0x32, 0x00, 0x02, 0x19, 0x32, 0x00,
0x01, 0x5b, 0x40, 0x31, 0x01, 0x5b, 0x40, 0x31,
0x00, 0xe2, 0xa2, 0x5c, 0x00, 0xe2, 0xba, 0x5c,
0x00, 0xe2, 0x80, 0x5b, 0x00, 0xe2, 0x98, 0x5b,
0x20, 0xea, 0xb6, 0x00, 0x20, 0xea, 0xb6, 0x00,
0x00, 0xe2, 0xc2, 0x5b, 0x00, 0xe2, 0xda, 0x5b,
0x20, 0x5c, 0xb8, 0x00, 0x20, 0x5c, 0xb8, 0x00,
0x04, 0x19, 0x5a, 0x6d, 0x04, 0x19, 0x76, 0x6d,
0x01, 0x1a, 0x5a, 0x6d, 0x01, 0x1a, 0x76, 0x6d,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x01, 0x1a, 0x64, 0x78, 0x01, 0x1a, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0x20, 0xa0, 0xbe, 0x7d, 0x20, 0xa0, 0xda, 0x7d,
0xff, 0xae, 0x5d, 0x1b, 0xff, 0xae, 0x5d, 0x1b,
0x08, 0xa8, 0x25, 0x6b, 0x08, 0xa8, 0x3d, 0x6b,
0x02, 0xea, 0xb4, 0x04, 0x02, 0xea, 0xb4, 0x04,
0x01, 0x9c, 0x39, 0x03, 0x01, 0x9c, 0x39, 0x03,
0x40, 0x5b, 0x74, 0x6d, 0x40, 0x5b, 0x90, 0x6d,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x40, 0x5b, 0x74, 0x6d, 0x40, 0x5b, 0x90, 0x6d,
0x04, 0x5d, 0xd6, 0x7d, 0x04, 0x5d, 0xf4, 0x7d,
0x01, 0x1a, 0xd6, 0x7d, 0x01, 0x1a, 0xf4, 0x7d,
0x20, 0x4d, 0x64, 0x78, 0x20, 0x4d, 0x64, 0x78,
0x40, 0x5b, 0xbe, 0x7d, 0x40, 0x5b, 0xda, 0x7d,
0x04, 0x5d, 0xd6, 0x7d, 0x04, 0x5d, 0xf4, 0x7d,
0x01, 0x1a, 0xd6, 0x7d, 0x01, 0x1a, 0xf4, 0x7d,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0xff, 0xae, 0x5d, 0x1b, 0xff, 0xae, 0x5d, 0x1b,
0x08, 0xa8, 0x25, 0x6b, 0x08, 0xa8, 0x3d, 0x6b,
0x02, 0xea, 0xb4, 0x04, 0x02, 0xea, 0xb4, 0x04,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x01, 0x1b, 0x64, 0x78, 0x01, 0x1b, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0x02, 0xea, 0xb4, 0x04, 0x02, 0xea, 0xb4, 0x04,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x01, 0x1b, 0x9c, 0x6d, 0x01, 0x1b, 0xb8, 0x6d,
0x40, 0x5b, 0xaa, 0x7d, 0x40, 0x5b, 0xc6, 0x7d,
0x01, 0x1b, 0x9c, 0x6d, 0x01, 0x1b, 0xb8, 0x6d,
0x02, 0x19, 0x32, 0x00, 0x02, 0x19, 0x32, 0x00,
0x01, 0x1a, 0x64, 0x78, 0x01, 0x1a, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0xff, 0xea, 0x10, 0x03, 0xff, 0xea, 0x10, 0x03,
0x08, 0xa8, 0x51, 0x03, 0x08, 0xa8, 0x51, 0x03,
0x00, 0xe2, 0x24, 0x43, 0x00, 0xe2, 0x3c, 0x43,
0x01, 0x1a, 0xa6, 0x7d, 0x01, 0x1a, 0xc2, 0x7d,
0x40, 0x5b, 0xa2, 0x7d, 0x40, 0x5b, 0xbe, 0x7d,
0x01, 0x1a, 0x90, 0x6d, 0x01, 0x1a, 0xac, 0x6d,
0xfc, 0x42, 0x64, 0x78, 0xfc, 0x42, 0x64, 0x78,
0x01, 0x1a, 0xaa, 0x6d, 0x01, 0x1a, 0xc6, 0x6d,
0x10, 0xea, 0x36, 0x59, 0x10, 0xea, 0x4e, 0x59,
0x10, 0xea, 0x04, 0x00, 0x10, 0xea, 0x04, 0x00,
0xfc, 0x42, 0x64, 0x78, 0xfc, 0x42, 0x64, 0x78,
0x10, 0x40, 0xb0, 0x6d, 0x10, 0x40, 0xcc, 0x6d,
0x20, 0x4d, 0x64, 0x78, 0x20, 0x4d, 0x64, 0x78,
0x40, 0x5b, 0x90, 0x6d, 0x40, 0x5b, 0xac, 0x6d,
0x01, 0x1a, 0x64, 0x78, 0x01, 0x1a, 0x64, 0x78,
0x01, 0xae, 0x5d, 0x1b, 0x01, 0xae, 0x5d, 0x1b,
0x30, 0x3f, 0xc0, 0x09, 0x30, 0x3f, 0xc0, 0x09,
0x30, 0xe0, 0x64, 0x60, 0x30, 0xe0, 0x64, 0x60,
0x40, 0x4b, 0x64, 0x68, 0x40, 0x4b, 0x64, 0x68,
0xff, 0xea, 0x52, 0x01, 0xff, 0xea, 0x52, 0x01,
0xee, 0x00, 0xc4, 0x6d, 0xee, 0x00, 0xe0, 0x6d,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0xff, 0xae, 0x5d, 0x1b, 0xff, 0xae, 0x5d, 0x1b,
0x02, 0xea, 0xb4, 0x00, 0x02, 0xea, 0xb4, 0x00,
0x20, 0xea, 0x9a, 0x00, 0x20, 0xea, 0x9a, 0x00,
0xf3, 0x42, 0xd0, 0x6d, 0xf3, 0x42, 0xec, 0x6d,
0x12, 0xea, 0x36, 0x59, 0x12, 0xea, 0x4e, 0x59,
0x12, 0xea, 0x04, 0x00, 0x12, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x0d, 0xea, 0x36, 0x59, 0x0d, 0xea, 0x4e, 0x59,
0x0d, 0xea, 0x04, 0x00, 0x0d, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xde, 0x41, 0x00, 0xe2, 0xf6, 0x41,
0x11, 0xea, 0x36, 0x59, 0x01, 0xae, 0x5d, 0x1b,
0x11, 0xea, 0x4e, 0x59,
0x11, 0xea, 0x04, 0x00, 0x11, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x14, 0x5b, 0x00, 0xe2, 0x2c, 0x5b,
0x08, 0x5a, 0xb4, 0x00, 0x08, 0x5a, 0xb4, 0x00,
0x00, 0xe2, 0xfc, 0x5d, 0x00, 0xe2, 0x1a, 0x5e,
0xa8, 0xea, 0x32, 0x00, 0xa8, 0xea, 0x32, 0x00,
0x00, 0xe2, 0x24, 0x59, 0x00, 0xe2, 0x3c, 0x59,
0x80, 0x1a, 0xea, 0x7d, 0x80, 0x1a, 0x08, 0x7e,
0x00, 0xe2, 0xfc, 0x5d, 0x00, 0xe2, 0x1a, 0x5e,
0x80, 0x19, 0x32, 0x00, 0x80, 0x19, 0x32, 0x00,
0x40, 0x5b, 0xf0, 0x6d, 0x40, 0x5b, 0x0e, 0x6e,
0x08, 0x5a, 0xf0, 0x7d, 0x08, 0x5a, 0x0e, 0x7e,
0x20, 0x4d, 0x64, 0x78, 0x20, 0x4d, 0x64, 0x78,
0x02, 0x84, 0x09, 0x03, 0x02, 0x84, 0x09, 0x03,
0x40, 0x5b, 0xbe, 0x7d, 0x40, 0x5b, 0xda, 0x7d,
0xff, 0xae, 0x5d, 0x1b, 0xff, 0xae, 0x5d, 0x1b,
0x08, 0xa8, 0x25, 0x6b,
0x80, 0xf9, 0xf2, 0x01, 0x80, 0xf9, 0xf2, 0x01,
0x08, 0xa8, 0x3d, 0x6b,
0x02, 0xea, 0xb4, 0x04, 0x02, 0xea, 0xb4, 0x04,
0x01, 0x38, 0xe1, 0x30, 0x01, 0x38, 0xe1, 0x30,
0x05, 0x39, 0xe3, 0x98, 0x05, 0x39, 0xe3, 0x98,
...@@ -987,109 +1002,115 @@ static struct patch { ...@@ -987,109 +1002,115 @@ static struct patch {
{ ahd_patch0_func, 48, 1, 1 }, { ahd_patch0_func, 48, 1, 1 },
{ ahd_patch2_func, 51, 1, 2 }, { ahd_patch2_func, 51, 1, 2 },
{ ahd_patch0_func, 52, 1, 1 }, { ahd_patch0_func, 52, 1, 1 },
{ ahd_patch2_func, 149, 6, 1 }, { ahd_patch2_func, 65, 1, 2 },
{ ahd_patch1_func, 155, 2, 1 }, { ahd_patch0_func, 66, 1, 1 },
{ ahd_patch4_func, 157, 1, 1 }, { ahd_patch2_func, 69, 1, 2 },
{ ahd_patch2_func, 166, 1, 2 }, { ahd_patch0_func, 70, 1, 1 },
{ ahd_patch0_func, 167, 1, 1 }, { ahd_patch1_func, 73, 1, 2 },
{ ahd_patch5_func, 168, 2, 2 }, { ahd_patch0_func, 74, 1, 1 },
{ ahd_patch0_func, 170, 6, 3 }, { ahd_patch2_func, 161, 6, 1 },
{ ahd_patch2_func, 173, 1, 2 }, { ahd_patch1_func, 167, 2, 1 },
{ ahd_patch0_func, 174, 1, 1 }, { ahd_patch4_func, 169, 1, 1 },
{ ahd_patch2_func, 177, 1, 2 }, { ahd_patch2_func, 178, 1, 2 },
{ ahd_patch0_func, 178, 1, 1 }, { ahd_patch0_func, 179, 1, 1 },
{ ahd_patch6_func, 180, 2, 1 }, { ahd_patch5_func, 180, 2, 2 },
{ ahd_patch4_func, 188, 16, 2 }, { ahd_patch0_func, 182, 6, 3 },
{ ahd_patch0_func, 204, 1, 1 }, { ahd_patch2_func, 185, 1, 2 },
{ ahd_patch7_func, 224, 2, 1 }, { ahd_patch0_func, 186, 1, 1 },
{ ahd_patch1_func, 228, 1, 2 }, { ahd_patch2_func, 189, 1, 2 },
{ ahd_patch0_func, 229, 1, 1 }, { ahd_patch0_func, 190, 1, 1 },
{ ahd_patch6_func, 232, 2, 1 }, { ahd_patch6_func, 192, 2, 1 },
{ ahd_patch1_func, 246, 1, 2 }, { ahd_patch4_func, 200, 16, 2 },
{ ahd_patch0_func, 247, 1, 1 }, { ahd_patch0_func, 216, 1, 1 },
{ ahd_patch1_func, 250, 1, 2 }, { ahd_patch7_func, 236, 2, 1 },
{ ahd_patch0_func, 251, 1, 1 }, { ahd_patch1_func, 240, 1, 2 },
{ ahd_patch2_func, 254, 1, 2 }, { ahd_patch0_func, 241, 1, 1 },
{ ahd_patch0_func, 255, 1, 1 }, { ahd_patch6_func, 244, 2, 1 },
{ ahd_patch1_func, 310, 1, 2 }, { ahd_patch1_func, 258, 1, 2 },
{ ahd_patch0_func, 311, 1, 1 }, { ahd_patch0_func, 259, 1, 1 },
{ ahd_patch2_func, 319, 1, 2 }, { ahd_patch1_func, 262, 1, 2 },
{ ahd_patch0_func, 320, 1, 1 }, { ahd_patch0_func, 263, 1, 1 },
{ ahd_patch2_func, 323, 1, 2 }, { ahd_patch2_func, 266, 1, 2 },
{ ahd_patch0_func, 324, 1, 1 }, { ahd_patch0_func, 267, 1, 1 },
{ ahd_patch1_func, 331, 1, 2 }, { ahd_patch1_func, 322, 1, 2 },
{ ahd_patch0_func, 323, 1, 1 },
{ ahd_patch2_func, 331, 1, 2 },
{ ahd_patch0_func, 332, 1, 1 }, { ahd_patch0_func, 332, 1, 1 },
{ ahd_patch8_func, 351, 1, 1 }, { ahd_patch2_func, 335, 1, 2 },
{ ahd_patch8_func, 354, 1, 1 }, { ahd_patch0_func, 336, 1, 1 },
{ ahd_patch8_func, 356, 1, 1 }, { ahd_patch1_func, 343, 1, 2 },
{ ahd_patch0_func, 344, 1, 1 },
{ ahd_patch8_func, 363, 1, 1 },
{ ahd_patch8_func, 366, 1, 1 },
{ ahd_patch8_func, 368, 1, 1 }, { ahd_patch8_func, 368, 1, 1 },
{ ahd_patch1_func, 378, 1, 2 }, { ahd_patch8_func, 380, 1, 1 },
{ ahd_patch0_func, 379, 1, 1 },
{ ahd_patch1_func, 381, 1, 2 },
{ ahd_patch0_func, 382, 1, 1 },
{ ahd_patch1_func, 390, 1, 2 }, { ahd_patch1_func, 390, 1, 2 },
{ ahd_patch0_func, 391, 1, 1 }, { ahd_patch0_func, 391, 1, 1 },
{ ahd_patch2_func, 404, 1, 2 }, { ahd_patch1_func, 393, 1, 2 },
{ ahd_patch0_func, 405, 1, 1 }, { ahd_patch0_func, 394, 1, 1 },
{ ahd_patch9_func, 435, 1, 1 }, { ahd_patch1_func, 402, 1, 2 },
{ ahd_patch1_func, 442, 1, 2 }, { ahd_patch0_func, 403, 1, 1 },
{ ahd_patch0_func, 443, 1, 1 }, { ahd_patch2_func, 416, 1, 2 },
{ ahd_patch2_func, 455, 1, 2 }, { ahd_patch0_func, 417, 1, 1 },
{ ahd_patch0_func, 456, 1, 1 }, { ahd_patch9_func, 447, 1, 1 },
{ ahd_patch10_func, 461, 6, 2 }, { ahd_patch1_func, 454, 1, 2 },
{ ahd_patch0_func, 467, 1, 1 }, { ahd_patch0_func, 455, 1, 1 },
{ ahd_patch11_func, 490, 1, 1 }, { ahd_patch2_func, 467, 1, 2 },
{ ahd_patch12_func, 499, 1, 1 }, { ahd_patch0_func, 468, 1, 1 },
{ ahd_patch13_func, 500, 1, 2 }, { ahd_patch10_func, 473, 6, 2 },
{ ahd_patch0_func, 501, 1, 1 }, { ahd_patch0_func, 479, 1, 1 },
{ ahd_patch14_func, 506, 1, 1 }, { ahd_patch11_func, 502, 1, 1 },
{ ahd_patch13_func, 507, 1, 1 }, { ahd_patch12_func, 511, 1, 1 },
{ ahd_patch15_func, 520, 1, 2 }, { ahd_patch13_func, 512, 1, 2 },
{ ahd_patch0_func, 521, 1, 1 }, { ahd_patch0_func, 513, 1, 1 },
{ ahd_patch1_func, 543, 1, 2 }, { ahd_patch14_func, 518, 1, 1 },
{ ahd_patch0_func, 544, 1, 1 }, { ahd_patch13_func, 519, 1, 1 },
{ ahd_patch1_func, 547, 1, 2 }, { ahd_patch15_func, 532, 1, 2 },
{ ahd_patch0_func, 548, 1, 1 }, { ahd_patch0_func, 533, 1, 1 },
{ ahd_patch2_func, 553, 1, 2 }, { ahd_patch1_func, 555, 1, 2 },
{ ahd_patch0_func, 554, 1, 1 }, { ahd_patch0_func, 556, 1, 1 },
{ ahd_patch2_func, 558, 1, 2 }, { ahd_patch1_func, 559, 1, 2 },
{ ahd_patch0_func, 559, 1, 1 }, { ahd_patch0_func, 560, 1, 1 },
{ ahd_patch1_func, 560, 1, 2 }, { ahd_patch2_func, 565, 1, 2 },
{ ahd_patch0_func, 561, 1, 1 }, { ahd_patch0_func, 566, 1, 1 },
{ ahd_patch2_func, 572, 1, 2 }, { ahd_patch2_func, 570, 1, 2 },
{ ahd_patch0_func, 571, 1, 1 },
{ ahd_patch1_func, 572, 1, 2 },
{ ahd_patch0_func, 573, 1, 1 }, { ahd_patch0_func, 573, 1, 1 },
{ ahd_patch16_func, 577, 1, 1 }, { ahd_patch2_func, 584, 1, 2 },
{ ahd_patch17_func, 582, 1, 1 }, { ahd_patch0_func, 585, 1, 1 },
{ ahd_patch18_func, 583, 2, 1 }, { ahd_patch16_func, 589, 1, 1 },
{ ahd_patch17_func, 587, 1, 2 }, { ahd_patch17_func, 594, 1, 1 },
{ ahd_patch0_func, 588, 1, 1 }, { ahd_patch18_func, 595, 2, 1 },
{ ahd_patch2_func, 591, 1, 2 }, { ahd_patch17_func, 599, 1, 2 },
{ ahd_patch0_func, 592, 1, 1 }, { ahd_patch0_func, 600, 1, 1 },
{ ahd_patch2_func, 610, 1, 2 }, { ahd_patch2_func, 603, 1, 2 },
{ ahd_patch0_func, 611, 1, 1 }, { ahd_patch0_func, 604, 1, 1 },
{ ahd_patch19_func, 612, 12, 1 }, { ahd_patch2_func, 622, 1, 2 },
{ ahd_patch1_func, 628, 1, 2 }, { ahd_patch0_func, 623, 1, 1 },
{ ahd_patch0_func, 629, 1, 1 }, { ahd_patch19_func, 624, 14, 1 },
{ ahd_patch19_func, 630, 1, 1 },
{ ahd_patch1_func, 642, 1, 2 }, { ahd_patch1_func, 642, 1, 2 },
{ ahd_patch0_func, 643, 1, 1 }, { ahd_patch0_func, 643, 1, 1 },
{ ahd_patch1_func, 650, 1, 2 }, { ahd_patch19_func, 644, 1, 1 },
{ ahd_patch0_func, 651, 1, 1 }, { ahd_patch1_func, 656, 1, 2 },
{ ahd_patch16_func, 674, 1, 1 }, { ahd_patch0_func, 657, 1, 1 },
{ ahd_patch16_func, 712, 1, 1 }, { ahd_patch1_func, 664, 1, 2 },
{ ahd_patch1_func, 723, 1, 2 }, { ahd_patch0_func, 665, 1, 1 },
{ ahd_patch0_func, 724, 1, 1 }, { ahd_patch16_func, 688, 1, 1 },
{ ahd_patch1_func, 741, 1, 2 }, { ahd_patch16_func, 726, 1, 1 },
{ ahd_patch0_func, 742, 1, 1 }, { ahd_patch1_func, 737, 1, 2 },
{ ahd_patch1_func, 744, 1, 2 }, { ahd_patch0_func, 738, 1, 1 },
{ ahd_patch0_func, 745, 1, 1 }, { ahd_patch1_func, 755, 1, 2 },
{ ahd_patch1_func, 747, 1, 2 }, { ahd_patch0_func, 756, 1, 1 },
{ ahd_patch0_func, 748, 1, 1 }, { ahd_patch1_func, 758, 1, 2 },
{ ahd_patch20_func, 750, 1, 2 }, { ahd_patch0_func, 759, 1, 1 },
{ ahd_patch0_func, 751, 2, 1 }, { ahd_patch1_func, 762, 1, 2 },
{ ahd_patch21_func, 754, 4, 2 }, { ahd_patch0_func, 763, 1, 1 },
{ ahd_patch0_func, 758, 1, 1 }, { ahd_patch20_func, 765, 1, 2 },
{ ahd_patch21_func, 766, 11, 1 } { ahd_patch0_func, 766, 2, 1 },
{ ahd_patch21_func, 769, 4, 2 },
{ ahd_patch0_func, 773, 1, 1 },
{ ahd_patch21_func, 781, 11, 1 }
}; };
static struct cs { static struct cs {
...@@ -1100,14 +1121,14 @@ static struct cs { ...@@ -1100,14 +1121,14 @@ static struct cs {
{ 13, 14 }, { 13, 14 },
{ 29, 42 }, { 29, 42 },
{ 56, 59 }, { 56, 59 },
{ 86, 112 }, { 101, 127 },
{ 113, 144 }, { 128, 156 },
{ 146, 149 }, { 158, 161 },
{ 157, 165 }, { 169, 177 },
{ 188, 237 }, { 200, 249 },
{ 674, 690 }, { 688, 704 },
{ 690, 704 }, { 704, 718 },
{ 714, 718 } { 728, 732 }
}; };
static const int num_critical_sections = sizeof(critical_sections) static const int num_critical_sections = sizeof(critical_sections)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment