Index: sys/dev/ce/ceddk.h =================================================================== --- sys/dev/ce/ceddk.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Middle-level code for Cronyx Tau32-PCI adapters. - * - * Copyright (C) 2004 Cronyx Engineering - * Copyright (C) 2004 Roman Kurakin - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations a permission to use, - * modify and redistribute this software in source and binary forms, - * as long as this message is kept with the software, all derivative - * works or modified versions. - * - * $Cronyx: ceddk.h,v 1.2.6.1 2005/11/09 13:01:39 rik Exp $ - * $FreeBSD$ - */ - -#define TAU32_UserContext_Add void *sys; -#define TAU32_UserRequest_Add void *sys; TAU32_UserRequest *next; - -#include - -#define NCHAN TAU32_CHANNELS -#ifndef NBRD -# define NBRD 6 -#endif -#if NBRD != 6 -# error "NBRD != 6" -#endif - -#define BUFSZ 1664 - -typedef struct _ce_buf_item_t { - TAU32_UserRequest req; - unsigned char buf [BUFSZ+4]; - unsigned long phys; -} ce_buf_item_t; - -typedef struct _ce_buf_t { - ce_buf_item_t tx_item[TAU32_IO_QUEUE]; - ce_buf_item_t rx_item[TAU32_IO_QUEUE]; -} ce_buf_t; - -typedef struct { - unsigned long bpv; /* bipolar violations */ - unsigned long fse; /* frame sync errors */ - unsigned long crce; /* CRC errors */ - unsigned long rcrce; /* remote CRC errors (E-bit) */ - unsigned long uas; /* unavailable seconds */ - unsigned long les; /* line errored seconds */ - unsigned long es; /* errored seconds */ - unsigned long bes; /* bursty errored seconds */ - unsigned long ses; /* severely errored seconds */ - unsigned long oofs; /* out of frame seconds */ - unsigned long css; /* controlled slip seconds */ - unsigned long dm; /* degraded minutes */ -} ce_gstat_t; - -typedef struct _ce_chan_t { - unsigned char num; - unsigned char type; -#define T_NONE 0 /* no channel */ -#define T_E1 3 /* E1 */ -#define T_DATA 6 /* no physical interface */ - - struct _ce_board_t *board; - unsigned char dtr; - unsigned char rts; - ce_buf_item_t *tx_item; - ce_buf_item_t *rx_item; - TAU32_UserRequest *rx_queue; - TAU32_UserRequest *tx_queue; - unsigned char debug; - unsigned char debug_shadow; - void (*transmit) (struct _ce_chan_t*, void*, int); - void (*receive) (struct _ce_chan_t*, unsigned char*, int); - void (*error) (struct _ce_chan_t*, int); -#define CE_FRAME 1 -#define CE_CRC 2 -#define CE_UNDERRUN 3 -#define CE_OVERRUN 4 -#define CE_OVERFLOW 5 - int tx_pending; - int rx_pending; - unsigned long rintr; - unsigned long tintr; - ulong64 ibytes; - ulong64 obytes; - unsigned long ipkts; - unsigned long opkts; - unsigned long underrun; - unsigned long overrun; - unsigned long frame; - unsigned long crc; - - unsigned short status; /* E1/G.703 line status bit mask */ -#define ESTS_NOALARM 0x0001 /* no alarm present */ -#define ESTS_FARLOF 0x0002 /* receiving far loss of framing */ -#define ESTS_AIS 0x0008 /* receiving all ones */ -#define ESTS_LOF 0x0020 /* loss of framing */ -#define ESTS_LOS 0x0040 /* loss of signal */ -#define ESTS_AIS16 0x0100 /* receiving all ones in timeslot 16 */ -#define ESTS_FARLOMF 0x0200 /* receiving alarm in timeslot 16 */ -#define ESTS_LOMF 0x0400 /* loss of multiframe sync */ -#define ESTS_TSTREQ 0x0800 /* test code detected */ -#define ESTS_TSTERR 0x1000 /* test error */ - - unsigned long totsec; /* total seconds elapsed */ - unsigned long cursec; /* current seconds elapsed */ - unsigned long degsec; /* degraded seconds */ - unsigned long degerr; /* errors during degraded seconds */ - ce_gstat_t currnt; /* current 15-min interval data */ - ce_gstat_t total; /* total statistics data */ - ce_gstat_t interval [48]; /* 12 hour period data */ - - unsigned int acc_status; - unsigned long config; - unsigned long baud; - unsigned long ts; - unsigned long ts_mask; - unsigned char dir; - unsigned char lloop; - unsigned char rloop; - unsigned char higain; - unsigned char phony; - unsigned char scrambler; - unsigned char unfram; - unsigned char monitor; - unsigned char crc4; - unsigned char use16; - unsigned char gsyn; /* G.703 clock mode */ -#define GSYN_INT 0 /* internal transmit clock source */ -#define GSYN_RCV 1 /* transmit clock source = receive */ -#define GSYN_RCV0 2 /* tclk = rclk from channel 0 */ -#define GSYN_RCV1 3 /* ...from channel 1 */ - unsigned long mtu; - void *sys; -} ce_chan_t; - -#define CONFREQSZ 128 -typedef struct _ce_conf_req { - TAU32_UserRequest req[CONFREQSZ+10]; - TAU32_UserRequest *queue; - int pending; -} ce_conf_req; - -typedef struct _ce_board_t { - TAU32_UserContext ddk; - ce_chan_t chan[NCHAN]; - int num; - int mux; -#define TAU32_BASE_NAME "Tau-PCI-32" -#define TAU32_LITE_NAME "Tau-PCI-32/Lite" -#define TAU32_ADPCM_NAME "Tau-PCI-32/ADPCM" -#define TAU32_UNKNOWN_NAME "Unknown Tau-PCI-32" - char name [32]; - ce_conf_req cr; - TAU32_CrossMatrix dxc; - unsigned long pmask; - void *sys; -} ce_board_t; - -void ce_set_dtr (ce_chan_t *c, int on); -void ce_set_rts (ce_chan_t *c, int on); -int ce_get_cd (ce_chan_t *c); -int ce_get_cts (ce_chan_t *c); -int ce_get_dsr (ce_chan_t *c); - -int ce_transmit_space (ce_chan_t *c); -int ce_send_packet (ce_chan_t *c, unsigned char *buf, int len, void *tag); -void ce_start_chan (ce_chan_t *c, int tx, int rx, ce_buf_t *cb, unsigned long phys); -void ce_stop_chan (ce_chan_t *c); -void ce_register_transmit (ce_chan_t *c, void (*func) (ce_chan_t*, void*, int)); -void ce_register_receive (ce_chan_t *c, void (*func) (ce_chan_t*, - unsigned char*, int)); -void ce_register_error (ce_chan_t *c, void (*func) (ce_chan_t*, int)); - -void TAU32_CALLBACK_TYPE - ce_error_callback(TAU32_UserContext *pContext, int Item, - unsigned NotifyBits); -void TAU32_CALLBACK_TYPE - ce_status_callback(TAU32_UserContext *pContext, int Item, - unsigned NotifyBits); - -void ce_set_baud (ce_chan_t *c, unsigned long baud); -void ce_set_lloop (ce_chan_t *c, unsigned char on); -void ce_set_rloop (ce_chan_t *c, unsigned char on); -void ce_set_higain (ce_chan_t *c, unsigned char on); -void ce_set_unfram (ce_chan_t *c, unsigned char on); -void ce_set_ts (ce_chan_t *c, unsigned long ts); -void ce_set_phony (ce_chan_t *c, unsigned char on); -void ce_set_scrambler (ce_chan_t *c, unsigned char on); -void ce_set_monitor (ce_chan_t *c, unsigned char on); -void ce_set_use16 (ce_chan_t *c, unsigned char on); -void ce_set_crc4 (ce_chan_t *c, unsigned char on); -void ce_set_gsyn (ce_chan_t *c, int syn); -#define CABLE_TP 11 -int ce_get_cable (ce_chan_t *c); -void ce_set_dir (ce_chan_t *c, int dir); -void ce_e1_timer (ce_chan_t *c); -void ce_init_board (ce_board_t *b); Index: sys/dev/ce/ceddk.c =================================================================== --- sys/dev/ce/ceddk.c +++ /dev/null @@ -1,1521 +0,0 @@ -/* - * Middle-level code for Cronyx Tau32-PCI adapters. - * - * Copyright (C) 2004 Cronyx Engineering - * Copyright (C) 2004 Roman Kurakin - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations a permission to use, - * modify and redistribute this software in source and binary forms, - * as long as this message is kept with the software, all derivative - * works or modified versions. - * - * $Cronyx: ceddk.c,v 1.2.6.2 2005/11/17 16:04:13 rik Exp $ - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include - -#undef CE_DDK_DEBUG_ENABLED -#ifdef CE_DDK_DEBUG_ENABLED -#ifdef __FreeBSD__ -# define CE_DDK_DEBUG(b,c,s) \ - do { \ - if (c) { \ - printf("ce%d-%d: ",(b)->num,(c)->num); \ - } else { \ - printf("ce%d-*: ",(b)->num); \ - } \ - printf s; \ - } while (0) -#else -# define CE_DDK_DEBUG(b,c,s) do {} while (0) -#endif -#else -# define CE_DDK_DEBUG(b,c,s) do {} while (0) -#endif - -#if 0 -#define ENTER() \ - static int enter=0; \ - do { \ - enter++; \ - printf ("%s: >> enter (%16llx) %d\n", __FUNCTION__, rdtsc (), enter); \ - } while (0) - -#define EXIT(val...) \ - do { \ - enter--; \ - printf ("%s: << exit (%16llx) %d line %d\n", __FUNCTION__, rdtsc (), enter, __LINE__); \ - return val; \ - } while (0) -#else -#define ENTER() \ - do {} while (0) - -#define EXIT(val...) \ - do {return val;} while (0) -#endif - -#define CE_ENQUEUE(list,item) \ - do { \ - TAU32_UserRequest **last; \ - last = &(list); \ - while (*last) { \ - last = &(*last)->next; \ - } \ - (*last) = (item); \ - (item)->next = NULL; \ - } while (0) - -#define CE_ENQUEUE_HEAD(list,item) \ - do { \ - (item)->next = list; \ - list = item; \ - } while (0) - -#define CE_DEQUEUE(list,item) \ - do { \ - item = list; \ - if (list) { \ - list = (item)->next; \ - } \ - } while (0) - -#define CE_PREREQUEST(b,c,list,item) \ - do { \ - item = list; \ - if (!item) { \ - CE_DDK_DEBUG (b, c, ("Fatal error, no free structs " \ - "for UserRequest (%s:%d)\n", \ - __FUNCTION__, __LINE__)); \ - } \ - } while (0) - -#define CE_DUMP_QUEUE(list) \ - do { \ - TAU32_UserRequest *item; \ - int i = 0; \ - item = list; \ - while (item) { \ - printf ("item%d: %p\n", i, item); \ - item = item->next; \ - i++; \ - } \ - } while (0) - -#define CE_FIND_ITEM(list,item,flag) \ - do { \ - TAU32_UserRequest *citem; \ - flag = 0; \ - for (citem = list; citem; citem = citem->next) { \ - if (citem == item) { \ - flag = 1; \ - break; \ - } \ - } \ - } while (0) - -#define CE_LAST_ITEM(list,item) \ - do { \ - TAU32_UserRequest **last; \ - last = &(list); \ - while ((*last) && (*last)->next) { \ - last = &(*last)->next; \ - } \ - (item) = (*last); \ - } while (0) - -#define CE_ASSERT(a) \ - do { \ - if (!(a)) { \ - printf ("ASSERT: %d %s\n", __LINE__, #a); \ - __asm __volatile ("int $3"); \ - } \ - } while (0) - -static void _ce_set_ts (ce_chan_t *c, unsigned long ts); -static void _ce_submit_configure_e1 (ce_chan_t *c, char *rname); - -#ifdef CE_DDK_DEBUG_ENABLED -static char *ce_err2str (unsigned long err) -{ - switch (err) { - case TAU32_SUCCESSFUL: - return "Successful"; - case TAU32_ERROR_ALLOCATION: - return "Allocation error, not enough tx/rx descriptors"; - case TAU32_ERROR_BUS: - return "PEB could not access to host memory by PCI bus for load/store information"; - case TAU32_ERROR_FAIL: - return "PEB action request failed"; - case TAU32_ERROR_TIMEOUT: - return "PEB action request timeout"; - case TAU32_ERROR_CANCELLED: - return "request has been canceled"; - case TAU32_ERROR_TX_UNDERFLOW: - return "transmission underflow"; - case TAU32_ERROR_TX_PROTOCOL: - return "TX_PROTOCOL"; - case TAU32_ERROR_RX_OVERFLOW: - return "RX_OVERFLOW"; - case TAU32_ERROR_RX_ABORT: - return "RX_ABORT"; - case TAU32_ERROR_RX_CRC: - return "RX_CRC"; - case TAU32_ERROR_RX_SHORT: - return "RX_SHORT"; - case TAU32_ERROR_RX_SYNC: - return "RX_SYNC"; - case TAU32_ERROR_RX_FRAME: - return "RX_FRAME"; - case TAU32_ERROR_RX_LONG: - return "RX_LONG"; - case TAU32_ERROR_RX_SPLIT: - return "frame has splitted between two requests due rx-gap allocation"; - case TAU32_ERROR_RX_UNFIT: - return "frame can't be fit into request buffer"; - case TAU32_ERROR_TSP: - return "ERROR_TSP"; - case TAU32_ERROR_RSP: - return "ERROR_RSP"; - case TAU32_ERROR_INT_OVER_TX: - return "ERROR INT OVER TX"; - case TAU32_ERROR_INT_OVER_RX: - return "ERROR INT OVER RX"; - case TAU32_ERROR_INT_STORM: - return "irq storm"; - case TAU32_ERROR_INT_E1LOST: - return "ERROR_E1LOST"; - default: - return ("Unknown error"); - } -} -#endif - -void ce_set_dtr (ce_chan_t *c, int on) -{ - c->dtr = on?1:0; -} - -void ce_set_rts (ce_chan_t *c, int on) -{ - c->rts = on?1:0; -} - -static void TAU32_CALLBACK_TYPE ce_on_receive - (TAU32_UserContext *pContext, TAU32_UserRequest *req) -{ - ce_buf_item_t *item = (ce_buf_item_t *)req; - ce_chan_t *c; - ce_board_t *b; - unsigned int error; - int len; - - ENTER (); - if (!req || !req->sys) { - EXIT (); - } - - c = (ce_chan_t *)req->sys; - b = c->board; - - len = req->Io.Rx.Received; - error = req->ErrorCode; - - c->rintr++; - if (error == TAU32_SUCCESSFUL) { - if (req->Io.Rx.FrameEnd) { - c->ipkts++; - } else { - CE_DDK_DEBUG (b, c, ("No FrameEnd\n")); - /* probably do something in some cases*/ - } - c->ibytes += len; - if (c->receive) - c->receive (c, item->buf, len); - } else if (error & TAU32_ERROR_BUS) { - c->overrun++; - if (c->error) - c->error (c, CE_OVERRUN); - } else { - CE_DDK_DEBUG (b, c, ("Another receive error: %x\n", error)); - /* Do some processing */ - } - - CE_ASSERT (!req->pInternal); - CE_ENQUEUE (c->rx_queue, req); - while (c->rx_queue) { - CE_DEQUEUE (c->rx_queue, req); - CE_ASSERT (req); - item = (ce_buf_item_t *)req; - req->Command = TAU32_Rx_Data; - req->Io.Rx.Channel = c->num; - req->pCallback = ce_on_receive; - req->Io.Rx.BufferLength = BUFSZ+4; - req->Io.Rx.PhysicalDataAddress = item->phys; - if (!TAU32_SubmitRequest (b->ddk.pControllerObject, req)) { - CE_DDK_DEBUG (b, c, ("RX submition failure\n")); - c->rx_pending--; - CE_ENQUEUE_HEAD (c->rx_queue, req); - break; - } - } - EXIT (); -} - -static void TAU32_CALLBACK_TYPE ce_on_transmit - (TAU32_UserContext *pContext, TAU32_UserRequest *req) -{ - int len; - unsigned int error; - ce_chan_t *c; - ENTER (); - - if (!req || !req->sys) { - EXIT (); - } - - c = (ce_chan_t *)req->sys; - - len = req->Io.Tx.Transmitted; - error = req->ErrorCode; - - c->tintr++; - if (error == TAU32_SUCCESSFUL) { - c->obytes += len; - c->opkts++; - } else if (error & TAU32_ERROR_BUS) { - c->underrun++; - if (c->error) - c->error (c, CE_UNDERRUN); - } else { - CE_DDK_DEBUG (c->board, c, ("Another transmit error: %x\n", - error)); - /* Do some processing */ - } - - CE_ENQUEUE (c->tx_queue, req); - c->tx_pending--; - - if (c->transmit) - c->transmit (c, 0, len); - EXIT (); -} - -int ce_transmit_space (ce_chan_t *c) -{ - return c->tx_pending < (TAU32_IO_QUEUE); -} - -int ce_send_packet (ce_chan_t *c, unsigned char *buf, int len, void *tag) -{ - TAU32_UserRequest *req; - ce_buf_item_t *item; - - ENTER (); - - if (!ce_transmit_space (c)) { - EXIT (-1); - } - - if (len <= 0 || len > BUFSZ) { - EXIT (-2); - } - - CE_DEQUEUE (c->tx_queue, req); - CE_ASSERT (req); - item = (ce_buf_item_t *)req; - - if (buf != item->buf) - memcpy (item->buf, buf, len); - - CE_ASSERT (!req->pInternal); - - req->Command = TAU32_Tx_Data | TAU32_Tx_FrameEnd; - req->Io.Tx.Channel = c->num; - req->pCallback = ce_on_transmit; - req->Io.Tx.DataLength = len; - req->Io.Tx.PhysicalDataAddress = item->phys; - c->tx_pending++; - if (!TAU32_SubmitRequest (c->board->ddk.pControllerObject, req)) { - CE_DDK_DEBUG (c->board, c, ("Can't submit packet for " - "transmission\n")); - CE_ENQUEUE_HEAD (c->tx_queue, req); - c->tx_pending--; - EXIT (-3); - } - EXIT (0); -} - -static void TAU32_CALLBACK_TYPE ce_on_config - (TAU32_UserContext *pContext, TAU32_UserRequest *req) -{ - ce_board_t *b = (ce_board_t *) pContext; - ENTER (); - b->cr.pending--; - if (req->ErrorCode) - CE_DDK_DEBUG (b, (ce_chan_t*)0, ("Config request failure: %lx\n", - req->ErrorCode)); - EXIT (); -} - -static void TAU32_CALLBACK_TYPE ce_on_config_stop - (TAU32_UserContext *pContext, TAU32_UserRequest *req) -{ - int i, first; - TAU32_UserRequest *rreq; - ce_board_t *b = (ce_board_t *) pContext; - ce_chan_t *c = b->chan + req->Io.ChannelNumber; - - ENTER (); - /* Stop all requests */ - CE_ASSERT (0);/* Buggy */ - CE_LAST_ITEM (c->rx_queue, rreq); - /* A little hacky, try to guess which is a first */ - first = rreq ? (c->rx_item - (ce_buf_item_t *)rreq) + 1 : 0; - for (i = 0; i < TAU32_IO_QUEUE; i++) { - int is_pending; - rreq = &c->rx_item[(i + first) % TAU32_IO_QUEUE].req; - CE_FIND_ITEM (c->rx_queue, rreq, is_pending); - if (!is_pending) - continue; - TAU32_CancelRequest (b->ddk.pControllerObject, rreq, 1); - rreq->Command = TAU32_Rx_Data; - rreq->Io.Rx.Channel = c->num; - rreq->Io.Rx.BufferLength = BUFSZ+4; - rreq->Io.Rx.PhysicalDataAddress = ((ce_buf_item_t *)rreq)->phys; - c->rx_pending++; - if (!TAU32_SubmitRequest (b->ddk.pControllerObject, rreq)) { - CE_ASSERT (0);/* Buggy */ - c->rx_pending--; - break; - } - } - - c->tx_pending = 0; -/* c->rx_pending = 0;*/ - EXIT (); -} - -static int ce_cfg_submit (ce_board_t *b) -{ - TAU32_UserRequest *req; - ENTER (); - - CE_DEQUEUE (b->cr.queue, req); - CE_ASSERT (req); - CE_ASSERT (!req->pInternal); - - req->pCallback = ce_on_config; - b->cr.pending++; - - CE_DDK_DEBUG (b, (ce_chan_t *)0, ("config request pending: %d\n", - b->cr.pending)); - - if (!TAU32_SubmitRequest (b->ddk.pControllerObject, req)) { - CE_ENQUEUE_HEAD (b->cr.queue, req); - CE_DDK_DEBUG (b, (ce_chan_t *)0, ("Fail to submit config request\n")); - b->cr.pending--; - EXIT (0); - } - - EXIT (1); -} - -void ce_init_board (ce_board_t *b) -{ - int i; - - b->cr.queue = NULL; - - for (i = 0; i < CONFREQSZ; i++) { - CE_ENQUEUE (b->cr.queue, b->cr.req + i); - } - - b->chan[0].config = TAU32_ais_on_loss; - - /* lloop = off, rloop = off */ - b->chan[0].config |= TAU32_LineNormal; - b->chan[0].lloop = 0; - b->chan[0].rloop = 0; - - /* unfram=off, scrambler=off, use16=off, crc4=off, - higain=off, monitor=off*/ - b->chan[0].config |= (b->ddk.Interfaces == 2 ? TAU32_framed_cas_cross : - TAU32_framed_cas_set); - b->chan[0].unfram = 0; - b->chan[0].scrambler = 0; - b->chan[0].use16 = 0; - b->chan[0].crc4 = 0; - b->chan[0].higain = 0; - b->chan[0].monitor = 0; - - if (b->ddk.Interfaces == 2) { - b->chan[1].config = TAU32_ais_on_loss; - /* lloop = off, rloop = off */ - b->chan[1].config |= TAU32_LineNormal; - /* unfram=off, scrambler=off, use16=off, crc4=off, - higain=off, monitor=off*/ - b->chan[1].config |= TAU32_framed_cas_cross; - b->chan[1].unfram = 0; - b->chan[1].scrambler = 0; - b->chan[1].use16 = 0; - b->chan[1].crc4 = 0; - b->chan[1].higain = 0; - b->chan[1].monitor = 0; - } - - for (i = 0; i < NCHAN; i++) { - /* Chan0 ts=1-15,17-31, Chan1 ts=1-2 */ - b->chan[i].type = i < b->ddk.Interfaces ? T_E1 : T_DATA; - b->chan[i].ts = (i == 0 ? 0xfffefffe : - (i != 1 ? 0 : - (b->ddk.Interfaces == 2 ? 0x6: 0))); - b->chan[i].dir = (b->ddk.Interfaces == 2) ? (i%2) : 0; - b->chan[i].mtu = 1504; - } -#if 0 - /* c->num == 0 */ - req = b->cr.queue; - /* We must have some here */ - CE_ASSERT (req); - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_A; - req->Io.InterfaceConfig.Config = b->chan[0].config; - req->Io.InterfaceConfig.UnframedTsMask = 0; - if (!ce_cfg_submit (b)) { - CE_DDK_DEBUG (b, b->chan + 0, - ("Submit request failure, line %d\n", - __LINE__)); - } - /* c->num == 1 */ - if (b->ddk.Interfaces == 2) { - req = b->cr.queue; - /* We must have some here */ - CE_ASSERT (req); - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_B; - req->Io.InterfaceConfig.Config = b->chan[1].config; - req->Io.InterfaceConfig.UnframedTsMask = 0; - if (!ce_cfg_submit (b)) { - CE_DDK_DEBUG (b, b->chan + 1, - ("Submit request failure, line %d\n", - __LINE__)); - } - } -#endif - /* Set default cross matrix */ - for (i = 0; i < 32; i++) { - /* -X-> Peb */ - b->dxc[i] = TAU32_CROSS_OFF; - /* Link2 -> Link1 */ - b->dxc[i + 32] = i + 64; - /* Link1 -> Link2 */ - b->dxc[i + 64] = i + 32; - } - - /* We have only mux mode for now. Later we will also have cross mode */ - b->mux = 1; -} - -void ce_start_chan (ce_chan_t *c, int tx, int rx, ce_buf_t *cb, - unsigned long phys) -{ - int i; - ce_board_t *b = c->board; - -/* c->config = TAU32_ais_on_loss | TAU32_framed_cas_cross;*/ - - if (cb) { - CE_DDK_DEBUG (b, c, ("ce_buf_t virt:%p phys:%p\n", cb, - (void *)phys)); - c->tx_item = cb->tx_item; - c->rx_item = cb->rx_item; - c->tx_queue = NULL; - c->rx_queue = NULL; - for (i = 0; i < TAU32_IO_QUEUE; i++) { - c->tx_item[i].phys = phys + - ((char *)(c->tx_item[i].buf)-(char *)cb); - c->rx_item[i].phys = phys + - ((char *)(c->rx_item[i].buf)-(char *)cb); - cb->tx_item[i].req.sys = c; - cb->rx_item[i].req.sys = c; - CE_DDK_DEBUG (b, c, ("tx_item[%d].buf virt:%p phys:%p\n", - i, c->tx_item[i].buf, - (void *)c->tx_item[i].phys)); - CE_DDK_DEBUG (b, c, ("rx_item[%d].buf virt:%p phys:%p\n", - i, c->rx_item[i].buf, - (void *)c->rx_item[i].phys)); - CE_ENQUEUE (c->rx_queue, &c->rx_item[i].req); - CE_ENQUEUE (c->tx_queue, &c->tx_item[i].req); - } - c->tx_pending = 0; - c->rx_pending = 0; - } - - /* submit rx */ - while (1) { - ce_buf_item_t *item; - TAU32_UserRequest *req; - - CE_DEQUEUE (c->rx_queue, req); - if (!req) - break; - item = (ce_buf_item_t *) req; - CE_ASSERT (c->rx_pending < TAU32_IO_QUEUE); - req->Command = TAU32_Rx_Data; - req->Io.Rx.Channel = c->num; - req->pCallback = ce_on_receive; - req->Io.Rx.BufferLength = c->mtu + (c->phony ? 0 : 4); - req->Io.Rx.PhysicalDataAddress = item->phys; - c->rx_pending++; - if (!TAU32_SubmitRequest (b->ddk.pControllerObject, req)) { - CE_DDK_DEBUG (b, c, ("Faild to submit rx request\n")); - /*XXXRIK: shouldn't happen, but ... */ - CE_ASSERT (0); - c->rx_pending--; - break; - } - } - - if (tx | rx) { - TAU32_UserRequest *req; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_Commit | - (tx ? TAU32_Tx_Start : 0) | - (rx ? TAU32_Rx_Start : 0); - req->Io.ChannelNumber = c->num; - if (!ce_cfg_submit (b)) { - CE_DDK_DEBUG (b, c, ("Can't start chan\n")); - /* Do some error processing */ - return; - } - } - - /* If we run just after ce_board_init we have prope values. - * Else I hope you didn't set ts to incorrect value. - */ - _ce_set_ts (c, c->ts); - if (c->num < b->ddk.Interfaces) { - /* The same for other modes. We don't check them. - * We hope that config is correctly set. Just as we have - * after ce_board_init. If channel was stoped we hope that - * it's config was not broken just after it and we didn't - * brake it before start. - */ - _ce_submit_configure_e1 (c, "start_init"); - } -} - -void ce_stop_chan (ce_chan_t *c) -{ - ce_board_t *b = c->board; - TAU32_UserRequest *req; - CE_DEQUEUE (b->cr.queue, req); - - /* XXXRIK: This function should be for completeness, but for now I - * don't use it. I just started to write and haven't finished it yet. - * It is VERY BUGGY!!! Do not use it. If you really need - * it ask me to fix it or rewrite it by yourself. - * Note: most buggy part of it in ce_on_config_stop! - */ - if (!req) { - CE_DDK_DEBUG (b, c, ("Fatal error, no free structs for " - "UserRequest (%s:%d)\n", __FUNCTION__, __LINE__)); - return; - } -// req->Command = TAU32_Configure_Commit | -// TAU32_Tx_Stop | TAU32_Rx_Stop; - req->Command = 0; - req->Io.ChannelNumber = c->num; - req->pCallback = ce_on_config_stop; - b->cr.pending++; - - if (!TAU32_SubmitRequest (b->ddk.pControllerObject, req)) { - CE_ENQUEUE_HEAD (b->cr.queue, req); - CE_DDK_DEBUG (b, c, ("Can't stop chan\n")); - b->cr.pending--; - } -} - -void ce_register_transmit (ce_chan_t *c, - void (*func) (ce_chan_t*, void*, int)) -{ - c->transmit = func; -} - -void ce_register_receive (ce_chan_t *c, - void (*func) (ce_chan_t*, unsigned char*, int)) -{ - c->receive = func; -} - -void ce_register_error (ce_chan_t *c, - void (*func) (ce_chan_t*, int)) -{ - c->error = func; -} - -void TAU32_CALLBACK_TYPE ce_error_callback (TAU32_UserContext *pContext, - int Item, unsigned NotifyBits) -{ - ce_board_t *b = (ce_board_t *) pContext; - ENTER (); - if (NotifyBits & (TAU32_ERROR_FAIL | TAU32_ERROR_TIMEOUT - | TAU32_ERROR_INT_OVER_TX | TAU32_ERROR_INT_OVER_RX - | TAU32_ERROR_INT_STORM)) { - /* Fatal: adapter failure, need reset & restart */ - /* RIKXXX: probably I should add CE_FAILURE for ce_error */ - CE_DDK_DEBUG (b, (ce_chan_t *)0, ("Err, disable interrupts: %s\n", - ce_err2str (NotifyBits))); -/* TAU32_DisableInterrupts (b->ddk.pControllerObject);*/ - EXIT (); - } - if (Item >= 0) { - /* channel error */ - ce_chan_t *c = b->chan + Item; - if (NotifyBits & TAU32_ERROR_TX_UNDERFLOW) { - c->underrun++; - if (c->error) - c->error (c, CE_UNDERRUN); - } - if (NotifyBits & TAU32_ERROR_RX_OVERFLOW) { - c->overrun++; - if (c->error) - c->error (c, CE_OVERFLOW); - } - if (NotifyBits & (TAU32_ERROR_RX_FRAME | TAU32_ERROR_RX_ABORT | - TAU32_ERROR_RX_SHORT | TAU32_ERROR_RX_LONG | - TAU32_ERROR_RX_SYNC | TAU32_ERROR_RX_SPLIT | - TAU32_ERROR_RX_UNFIT)) { - c->frame++; - CE_DDK_DEBUG (b, c, ("Frame error: %x\n", NotifyBits)); - if (c->error) - c->error (c, CE_FRAME); - } - if(NotifyBits & TAU32_ERROR_RX_CRC) { - c->crc++; - if (c->error) - c->error (c, CE_CRC); - } - } else { - CE_DDK_DEBUG (b, (ce_chan_t *)0, ("Another error: %x\n", - NotifyBits)); - /* Adapter error, do smth */ - } - EXIT (); -} - -void TAU32_CALLBACK_TYPE ce_status_callback(TAU32_UserContext *pContext, - int Item, unsigned NotifyBits) -{ - ce_board_t *b = (ce_board_t *) pContext; - ENTER (); - if(Item >= 0) { - /* e1 status */ - ce_chan_t *c = b->chan + Item; - c->acc_status |= b->ddk.InterfacesInfo[Item].Status; -/* CE_DDK_DEBUG (b, c, ("Current status: %x\n", c->acc_status));*/ - } else { - CE_DDK_DEBUG (b, (ce_chan_t *)0, ("Another status: %x\n", NotifyBits)); - /* Adapter status, do smth. */ - } - EXIT (); -} - -int ce_get_cd (ce_chan_t *c) -{ - unsigned int e1status = c->board->ddk.InterfacesInfo[c->dir].Status; - - return (c->ts && !(e1status & (TAU32_RCL | TAU32_E1OFF))); -} - -int ce_get_cts (ce_chan_t *c) -{ - return 0; -} - -int ce_get_dsr (ce_chan_t *c) -{ - return 0; -} - -void ce_e1_timer (ce_chan_t *c) -{ - unsigned bpv, fas, crc4, ebit, pcv, oof, css; - unsigned int acc_status; - ce_board_t *b = c->board; - TAU32_E1_State *state; - - if (c->num >= b->ddk.Interfaces) - return; - - state = &b->ddk.InterfacesInfo[c->num]; - acc_status = c->acc_status; - - /* Clear acc_status */ - c->acc_status = b->ddk.InterfacesInfo[c->num].Status; - - /* Count seconds. - * During the first second after the channel startup - * the status registers are not stable yet, - * we will so skip the first second. */ - ++c->cursec; - if (! c->totsec && c->cursec <= 1) - return; - - c->status = 0; - - /* Compute the SNMP-compatible channel status. */ - oof = 0; - - if (acc_status & TAU32_RCL) - c->status |= ESTS_LOS; /* loss of signal */ - if (acc_status & TAU32_RUA1) - c->status |= ESTS_AIS; /* receiving all ones */ - - /* Get error counters. */ - bpv = state->RxViolations; - fas = 0; - crc4 = 0; - ebit = 0; - css = 0; - - if (! c->unfram) { - if (! c->use16 && (acc_status & TAU32_RSA1)) - c->status |= ESTS_AIS16; /* signaling all ones */ - if (! c->use16 && (acc_status & TAU32_RDMA)) - c->status |= ESTS_FARLOMF; /* alarm in timeslot 16 */ - if (acc_status & TAU32_RRA) - c->status |= ESTS_FARLOF; /* far loss of framing */ - - if (acc_status & TAU32_RFAS) { - c->status |= ESTS_LOF; /* loss of framing */ - ++oof; /* out of framing */ - } - if ((! c->use16 && (acc_status & TAU32_RCAS)) || - (c->crc4 && (acc_status & TAU32_RCRC4))) { - c->status |= ESTS_LOMF; /* loss of multiframing */ - ++oof; /* out of framing */ - } - fas = state->FasErrors; - crc4 = state->Crc4Errors; - ebit = state->FarEndBlockErrors; - - /* Controlled slip second -- any slip event. */ - css = state->TransmitSlips + state->ReceiveSlips; - } - - /* Clear state */ - state->RxViolations = 0; - state->FasErrors = 0; - state->Crc4Errors = 0; - state->FarEndBlockErrors = 0; - state->TransmitSlips = 0; - state->ReceiveSlips = 0; - - if (c->status & ESTS_LOS) - c->status = ESTS_LOS; - else if (c->status & ESTS_AIS) - c->status = ESTS_AIS; - else if (c->status & ESTS_LOF) - c->status = ESTS_LOF; - else if (c->status & ESTS_LOMF) - c->status &= ~(ESTS_FARLOMF | ESTS_AIS16); - - if (! c->status) - c->status = ESTS_NOALARM; - - c->currnt.bpv += bpv; - c->currnt.fse += fas; - if (c->crc4) { - c->currnt.crce += crc4; - c->currnt.rcrce += ebit; - } - - /* Path code violation is frame sync error if CRC4 disabled, - * or CRC error if CRC4 enabled. */ - pcv = fas; - if (c->crc4) - pcv += crc4; - - /* Unavaiable second -- receiving all ones, or - * loss of carrier, or loss of signal. */ - if (acc_status & (TAU32_RUA1 | TAU32_RCL)) - /* Unavailable second -- no other counters. */ - ++c->currnt.uas; - else { - /* Line errored second -- any BPV. */ - if (bpv) - ++c->currnt.les; - - /* Errored second -- any PCV, or out of frame sync, - * or any slip events. */ - if (pcv || oof || css) - ++c->currnt.es; - - /* Severely errored framing second -- out of frame sync. */ - if (oof) - ++c->currnt.oofs; - - /* Severely errored seconds -- - * 832 or more PCVs, or 2048 or more BPVs. */ - if (bpv >= 2048 || pcv >= 832) - ++c->currnt.ses; - else { - /* Bursty errored seconds -- - * no SES and more than 1 PCV. */ - if (pcv > 1) - ++c->currnt.bes; - - /* Collect data for computing - * degraded minutes. */ - ++c->degsec; - c->degerr += bpv + pcv; - } - } - - /* Degraded minutes -- having error rate more than 10e-6, - * not counting unavailable and severely errored seconds. */ - if (c->cursec % 60 == 0) { - if (c->degerr > c->degsec * 2048 / 1000) - ++c->currnt.dm; - c->degsec = 0; - c->degerr = 0; - } - - /* Rotate statistics every 15 minutes. */ - if (c->cursec > 15*60) { - int i; - - for (i=47; i>0; --i) - c->interval[i] = c->interval[i-1]; - c->interval[0] = c->currnt; - - /* Accumulate total statistics. */ - c->total.bpv += c->currnt.bpv; - c->total.fse += c->currnt.fse; - c->total.crce += c->currnt.crce; - c->total.rcrce += c->currnt.rcrce; - c->total.uas += c->currnt.uas; - c->total.les += c->currnt.les; - c->total.es += c->currnt.es; - c->total.bes += c->currnt.bes; - c->total.ses += c->currnt.ses; - c->total.oofs += c->currnt.oofs; - c->total.css += c->currnt.css; - c->total.dm += c->currnt.dm; - c->currnt.bpv = 0; - c->currnt.fse = 0; - c->currnt.crce = 0; - c->currnt.rcrce = 0; - c->currnt.uas = 0; - c->currnt.les = 0; - c->currnt.es = 0; - c->currnt.bes = 0; - c->currnt.ses = 0; - c->currnt.oofs = 0; - c->currnt.css = 0; - c->currnt.dm = 0; - - c->totsec += c->cursec; - c->cursec = 0; - } -} - -void ce_set_baud (ce_chan_t *c, unsigned long baud) -{ - TAU32_UserRequest *req; - ce_board_t *b = c->board; - unsigned long cfg = c->config & ~TAU32_framing_mode_mask; - unsigned long ts; - unsigned long kbps = (baud + 32000) / 64000 * 64; - - if (!c->unfram || c->num != 0 || - baud == c->baud || b->cr.pending >= CONFREQSZ) - return; - - if (!kbps || kbps > 1024) { - ts = 0xffffffffUL; - cfg |= TAU32_unframed_2048; - } else if (kbps > 512) { - ts = 0x0000ffffUL; - cfg |= TAU32_unframed_1024; - } else if (kbps > 256) { - ts = 0x000000ffUL; - cfg |= TAU32_unframed_512; - } else if (kbps > 128) { - ts = 0x0000000fUL; - cfg |= TAU32_unframed_256; - } else if (kbps > 64) { - ts = 0x00000003UL; - cfg |= TAU32_unframed_128; - } else { - ts = 0x00000001UL; - cfg |= TAU32_unframed_64; - } - - /* _ce_set_ts () will set proper baud */ - _ce_set_ts (c, ts); - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = ts; - if (ce_cfg_submit (b)) { - c->baud = baud; - c->ts = ts; - c->config = cfg; - } -} - -void ce_set_lloop (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~(TAU32_line_mode_mask | TAU32_ais_on_loss); - ce_board_t *b = c->board; - - if (c->num >= b->ddk.Interfaces || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->lloop) - return; - - cfg |= on ? TAU32_LineLoopInt : (TAU32_LineNormal | TAU32_ais_on_loss); - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit lloop\n")); - if (ce_cfg_submit (b)) { - c->lloop = on ? 1 : 0; - c->config = cfg; - } -} - -void ce_set_rloop (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~TAU32_line_mode_mask; - ce_board_t *b = c->board; - - if (c->num >= b->ddk.Interfaces || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->rloop) - return; - - cfg |= on ? TAU32_LineLoopExt : TAU32_LineNormal; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit rloop\n")); - if (ce_cfg_submit (b)) { - c->rloop = on ? 1 : 0; - c->config = cfg; - } -} - -void ce_set_higain (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~TAU32_higain; - ce_board_t *b = c->board; - - if (c->num >= b->ddk.Interfaces || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->higain) - return; - - cfg |= on ? TAU32_higain : 0; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit higain\n")); - if (ce_cfg_submit (b)) { - c->higain = on ? 1 : 0; - c->config = cfg; - } -} - -static void _ce_set_ts (ce_chan_t *c, unsigned long ts) -{ - TAU32_UserRequest *req; - ce_board_t *b = c->board; - unsigned long mask = 0, omask = 0; - int nts = 0, ots = 0, pts = 0; - int i, k; - - if (b->cr.pending >= CONFREQSZ) - return; - - /* - * pts - number of busy "peb" ts - * ots - current (old) busy ts - * nts - new busy ts - */ - for (i = 0; i < 32; i++) { - if (c->ts & (1ul << i)) - ots++; - if (ts & (1ul << i)) - nts++; - if (b->dxc[i] != TAU32_CROSS_OFF) - pts++; - } - - CE_DDK_DEBUG (b, c, ("pts: %d ots: %d nts: %d ts: %lx\n", pts, ots, nts, - ts)); - /* 32 - all busy + my old busy == free */ - if (32 - pts + ots - nts < 0) - return; - - /* Ok. We have enougth "peb" ts. Clean old. */ - /* We start from zero, cause this is peb cells */ - for (i = 0; i < 32; i++) { - int tin = b->dxc[i]; - int t = tin % 32; - if (tin < (c->dir?64:32) || tin > (c->dir?95:63)) - continue; - if (c->ts & (1ul << t)) { - b->dxc[tin] = TAU32_CROSS_OFF; - b->dxc[i] = TAU32_CROSS_OFF; - if (b->dxc[t + 32] == TAU32_CROSS_OFF && - b->dxc[t + 64] == TAU32_CROSS_OFF) { - b->dxc[t + 32] = t + 64; - b->dxc[t + 64] = t + 32; - } - omask |= (1ul << t); - } - } - - k = 0; - /* Set */ - for (i = 0; i < 32; i++) { - if ((ts & (1ul << i)) == 0) - continue; - while (b->dxc[k] != TAU32_CROSS_OFF) { - k++; - /* Paranoic */ - if (k >= 32) { - CE_DDK_DEBUG (b, c, ("TS count overflow\n")); - return; - } - } - b->dxc[k] = (c->dir?64:32) + i; - b->dxc[(c->dir?64:32) + i] = k; - if (b->dxc[(c->dir?32:64) + i] == (c->dir?64:32) + i) - b->dxc[(c->dir?32:64) + i] = TAU32_CROSS_OFF; - mask |= (1ul << k); - } - - c->ts = ts; - c->baud = nts*64000; - - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - - req->Command = TAU32_Timeslots_Channel | TAU32_Configure_Commit; - req->Io.ChannelNumber = c->num; - req->Io.ChannelConfig.AssignedTsMask = mask; - - if (c->phony) { - b->pmask &= ~omask; - b->pmask |= mask; - } - - CE_DDK_DEBUG (b, c, ("ts=%lx mask=%lx omask=%lx pmask=%lx\n", c->ts, - mask, omask, b->pmask)); - CE_DDK_DEBUG (b, c, ("Crossmatrix table:\n")); - -#ifdef CE_DDK_DEBUG_ENABLED - for (i = 0; i < 32*3; i++) { - printf ("%3d\t%s", b->dxc[i], (i%8==7)?"\n":""); - printf ("%s",(i%32==31)?"\n":""); - } -#endif - - CE_DDK_DEBUG (b, c, ("Submit tsmask\n")); - if (!ce_cfg_submit (b)) { - CE_DDK_DEBUG (b, c, ("Fail to submit tsmask\n")); - /* Do some error processing */ - return; - } - - CE_DDK_DEBUG (b, c, ("SetCrossMatrix\n")); - if (!TAU32_SetCrossMatrix(b->ddk.pControllerObject, b->dxc, b->pmask)) { - CE_DDK_DEBUG (b, c, ("Faild to SetCrossMatrix\n")); - /* Do some error processing */ - return; - } -} - -void ce_set_ts (ce_chan_t *c, unsigned long ts) -{ - ce_board_t *b = c->board; - ce_chan_t *x; - - if (c->ts == ts || b->chan->unfram) - return; - - ts &= ~(1ul); - - if (!b->chan[c->dir].use16) - ts &= ~(1ul << 16); - - for (x = b->chan; x < b->chan + NCHAN; x++) { - if (x == c || x->dir != c->dir) - continue; - ts &= ~x->ts; - } - - _ce_set_ts (c, ts); -} - -void ce_set_unfram (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - ce_board_t *b = c->board; - unsigned long cfg = c->config & ~TAU32_framing_mode_mask; - unsigned long i; - - if (c->num != 0 || b->cr.pending + 2*32 + 3>= CONFREQSZ) - return; - - on = on ? 1 : 0; - - if (on == c->unfram) - return; - - if (on) { - ce_set_dir (c, 0); - for (i = 1; i < TAU32_CHANNELS; i++) { - ce_set_ts (b->chan + i, 0); - ce_set_phony (b->chan + i, 0); - } - ce_set_use16 (b->chan + 0, 0); - ce_set_use16 (b->chan + 1, 0); - /* Get current value, previous ce_set request may change it */ - cfg = c->config & ~TAU32_framing_mode_mask; - cfg |= TAU32_unframed_2048; - c->unfram = on; - _ce_set_ts (b->chan, ~0ul); - c->config = cfg; - /* XXXRIK: Do extra checks on config queue size*/ - if (b->ddk.Interfaces) { - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_B; - req->Io.InterfaceConfig.Config = TAU32_LineOff; - req->Io.InterfaceConfig.UnframedTsMask = 0; - CE_DDK_DEBUG (b, c, ("unfram: B line off\n")); - ce_cfg_submit (b); - } - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit unfram\n")); - ce_cfg_submit (b); - } else { - cfg |= TAU32_framed_cas_cross; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = TAU32_E1_ALL; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = 0; - CE_DDK_DEBUG (b, c, ("Submit framed\n")); - ce_cfg_submit (b); - ce_set_ts (c, 0); - } - c->unfram = on; -} - -void ce_set_phony (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - ce_board_t *b = c->board; - unsigned long mask = 0; - int i; - - if ((c->phony && on) || (c->phony == 0 && on == 0) || - b->cr.pending >= CONFREQSZ) - return; - - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - - req->Command = TAU32_Configure_Channel; - req->Io.InterfaceConfig.Config = on ? TAU32_TMA : - (TAU32_HDLC | TAU32_fr_rx_splitcheck | TAU32_fr_rx_fitcheck); - req->Io.ChannelNumber = c->num; - CE_DDK_DEBUG (b, c, ("Submit phony\n")); - if (!ce_cfg_submit (b)) { - /* Do some error processing */ - return; - } - - for (i = 0; i < 32; i++) { - int t = b->dxc[i] % 32; - if (b->dxc[i] < (c->dir?64:32) || b->dxc[i] > (c->dir?95:63)) - continue; - if (c->ts & (1ul << t)) - mask |= (1ul << t); - } - - CE_DDK_DEBUG (b, c, ("phony mask:%lx\n", mask)); - - if (on) { - b->pmask |= mask; - } else { - b->pmask &= ~mask; - } - - c->phony = on ? 1 : 0; - - CE_DDK_DEBUG (b, c, ("Submit (setcrosmatrix) phony\n")); - if (!TAU32_SetCrossMatrix(b->ddk.pControllerObject, b->dxc, b->pmask)) { - /* Do some error processing */ - return; - } -} - -void ce_set_scrambler (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~TAU32_scrambler; - ce_board_t *b = c->board; - - if (c->num != 0 || c->unfram == 0 || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->scrambler) - return; - - cfg |= on ? TAU32_scrambler : 0; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit scrambler\n")); - if (ce_cfg_submit (b)) { - c->scrambler = on ? 1 : 0; - c->config = cfg; - } -} - -void ce_set_monitor (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~TAU32_monitor; - ce_board_t *b = c->board; - - if (c->num >= b->ddk.Interfaces || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->monitor) - return; - - cfg |= on ? TAU32_monitor : 0; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit monitor\n")); - if (ce_cfg_submit (b)) { - c->monitor = on ? 1 : 0; - c->config = cfg; - } -} - -static void _ce_submit_configure_e1 (ce_chan_t *c, char *rname) -{ - TAU32_UserRequest *req; - ce_board_t *b = c->board; - - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num == 0 ? TAU32_E1_A : TAU32_E1_B; - req->Io.InterfaceConfig.Config = c->config; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit %s\n", rname ? rname : "")); - if (!ce_cfg_submit (b)) { - CE_DDK_DEBUG (b, c, ("Fail to submit %s\n", rname?rname:"")); - /* Do some error processing */ - return; - } -} - -void ce_set_use16 (ce_chan_t *c, unsigned char on) -{ - ce_board_t *b = c->board; - ce_chan_t *x; - unsigned long cfg[2]; - int use[2]; - - if (c->num >= b->ddk.Interfaces || b->cr.pending + 2 >= CONFREQSZ) - return; - - cfg[0] = b->chan[0].config & ~TAU32_framing_mode_mask; - cfg[1] = b->chan[1].config & ~TAU32_framing_mode_mask; - - on = on ? 1 : 0; - - if (c->use16 == on || b->chan->unfram) - return; - - use[0] = b->chan[0].use16; - use[1] = b->chan[1].use16; - - /* Correct value */ - use[c->num] = on; - - if (b->ddk.Interfaces == 1) { - cfg[0] |= on ? TAU32_framed_cas_set : TAU32_framed_no_cas; - } else { - if (use[0] == 0 && use[1] == 0) { - cfg[0] |= TAU32_framed_cas_cross; - cfg[1] |= TAU32_framed_cas_cross; - } else if (use[0] == 0) { - cfg[0] |= TAU32_framed_cas_set; - cfg[1] |= TAU32_framed_no_cas; - } else if (use[1] == 0) { - cfg[0] |= TAU32_framed_no_cas; - cfg[1] |= TAU32_framed_cas_set; - } else { - cfg[0] |= TAU32_framed_no_cas; - cfg[1] |= TAU32_framed_no_cas; - } - } - - c->use16 = on; - - for (x = b->chan; !on && x < b->chan + NCHAN; x++) { - if (x->dir == c->num && x->ts & (1ul<<16)) { - ce_set_ts (x, x->ts); - break; - } - } - - if (cfg[0] != b->chan[0].config) { - b->chan[0].config = cfg[0]; - _ce_submit_configure_e1 (b->chan + 0, "use16"); - } - - if (cfg[1] != b->chan[1].config) { - b->chan[1].config = cfg[1]; - _ce_submit_configure_e1 (b->chan + 1, "use16"); - } -} - -void ce_set_crc4 (ce_chan_t *c, unsigned char on) -{ - TAU32_UserRequest *req; - unsigned long cfg = c->config & ~TAU32_crc4_mf; - ce_board_t *b = c->board; - - if (c->num >= b->ddk.Interfaces || b->cr.pending >= CONFREQSZ) - return; - on = on ? 1 : 0; - if (on == c->crc4 || b->chan->unfram) - return; - - cfg |= on ? TAU32_crc4_mf : 0; - CE_PREREQUEST (b, c, b->cr.queue, req); - if (!req) - return; - req->Command = TAU32_Configure_E1; - req->Io.InterfaceConfig.Interface = c->num ? TAU32_E1_B : TAU32_E1_A; - req->Io.InterfaceConfig.Config = cfg; - req->Io.InterfaceConfig.UnframedTsMask = c->ts; - CE_DDK_DEBUG (b, c, ("Submit crc4\n")); - if (ce_cfg_submit (b)) { - c->crc4 = on ? 1 : 0; - c->config = cfg; - } -} - -void ce_set_gsyn (ce_chan_t *c, int syn) -{ - ce_board_t *b = c->board; - unsigned int mode; - - if (c->num >= b->ddk.Interfaces) - return; - - if (syn == GSYN_RCV) - syn = c->num ? GSYN_RCV1 : GSYN_RCV0; - - switch (syn) { - default: mode = TAU32_SYNC_INTERNAL; break; - case GSYN_RCV0: mode = TAU32_SYNC_RCV_A; break; - case GSYN_RCV1: mode = TAU32_SYNC_RCV_B; break; - } - - CE_DDK_DEBUG (b, c, ("Set Sync Mode\n")); - if (TAU32_SetSyncMode (b->ddk.pControllerObject, mode)) { - b->chan->gsyn = syn; - if (b->ddk.Interfaces > 1) - (b->chan + 1)->gsyn = syn; - } -} - -int ce_get_cable (ce_chan_t *c) -{ - ce_board_t *b = c->board; - if (c->num >= b->ddk.Interfaces) - return 0; - - return CABLE_TP; -} - -void ce_set_dir (ce_chan_t *c, int dir) -{ - ce_board_t *b = c->board; - unsigned long ts; - if (b->cr.pending + 1>= CONFREQSZ || c->dir == dir) - return; - - ts = c->ts; - ce_set_ts (c, 0); - c->dir = dir; - ce_set_ts (c, ts); -} Index: sys/dev/ce/if_ce.c =================================================================== --- sys/dev/ce/if_ce.c +++ /dev/null @@ -1,1815 +0,0 @@ -/* - * Cronyx-Tau32-PCI adapter driver for FreeBSD. - * - * Copyright (C) 2003-2005 Cronyx Engineering. - * Copyright (C) 2003-2005 Kurakin Roman, - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations a permission to use, - * modify and redistribute this software in source and binary forms, - * as long as this message is kept with the software, all derivative - * works or modified versions. - * - * $Cronyx: if_ce.c,v 1.9.2.8 2005/11/21 14:17:44 rik Exp $ - */ - -#include -__FBSDID("$FreeBSD$"); - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef PCIR_BAR -#define PCIR_BAR(x) (PCIR_MAPS + (x) * 4) -#endif - -/* define as our previous return value */ -#ifndef BUS_PROBE_DEFAULT -#define BUS_PROBE_DEFAULT 0 -#endif - -#define CE_DEBUG(d,s) ({if (d->chan->debug) {\ - printf ("%s: ", d->name); printf s;}}) -#define CE_DEBUG2(d,s) ({if (d->chan->debug>1) {\ - printf ("%s: ", d->name); printf s;}}) - -#define CE_LOCK_NAME "ceX" - -#define CE_LOCK(_bd) mtx_lock (&(_bd)->ce_mtx) -#define CE_UNLOCK(_bd) mtx_unlock (&(_bd)->ce_mtx) -#define CE_LOCK_ASSERT(_bd) mtx_assert (&(_bd)->ce_mtx, MA_OWNED) - -#define CDEV_MAJOR 185 - -static int ce_probe __P((device_t)); -static int ce_attach __P((device_t)); -static int ce_detach __P((device_t)); - -static device_method_t ce_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, ce_probe), - DEVMETHOD(device_attach, ce_attach), - DEVMETHOD(device_detach, ce_detach), - - DEVMETHOD_END -}; - -typedef struct _ce_dma_mem_t { - unsigned long phys; - void *virt; - size_t size; - bus_dma_tag_t dmat; - bus_dmamap_t mapp; -} ce_dma_mem_t; - -typedef struct _drv_t { - char name [8]; - int running; - ce_board_t *board; - ce_chan_t *chan; - struct ifqueue rqueue; - char nodename [NG_NODESIZ]; - hook_p hook; - hook_p debug_hook; - node_p node; - struct ifqueue queue; - struct ifqueue hi_queue; - short timeout; - struct callout timeout_handle; - struct cdev *devt; - ce_dma_mem_t dmamem; -} drv_t; - -typedef struct _bdrv_t { - ce_board_t *board; - struct resource *ce_res; - struct resource *ce_irq; - void *ce_intrhand; - ce_dma_mem_t dmamem; - drv_t channel [NCHAN]; - struct mtx ce_mtx; -} bdrv_t; - -static driver_t ce_driver = { - "ce", - ce_methods, - sizeof(bdrv_t), -}; - -static devclass_t ce_devclass; - -static void ce_receive (ce_chan_t *c, unsigned char *data, int len); -static void ce_transmit (ce_chan_t *c, void *attachment, int len); -static void ce_error (ce_chan_t *c, int data); -static void ce_up (drv_t *d); -static void ce_start (drv_t *d); -static void ce_down (drv_t *d); -static void ce_watchdog (drv_t *d); -static void ce_watchdog_timer (void *arg); -static struct ng_type typestruct; - -static ce_board_t *adapter [NBRD]; -static drv_t *channel [NBRD*NCHAN]; -static struct callout led_timo [NBRD]; -static struct callout timeout_handle; - -static int ce_destroy = 0; - -static int ce_open (struct cdev *dev, int oflags, int devtype, struct thread *td); -static int ce_close (struct cdev *dev, int fflag, int devtype, struct thread *td); -static int ce_ioctl (struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td); -static struct cdevsw ce_cdevsw = { - .d_version = D_VERSION, - .d_open = ce_open, - .d_close = ce_close, - .d_ioctl = ce_ioctl, - .d_name = "ce", -}; - -/* - * Make an mbuf from data. - */ -static struct mbuf *makembuf (void *buf, unsigned len) -{ - struct mbuf *m; - - MGETHDR (m, M_NOWAIT, MT_DATA); - if (! m) - return 0; - if (!(MCLGET(m, M_NOWAIT))) { - m_freem (m); - return 0; - } - m->m_pkthdr.len = m->m_len = len; - bcopy (buf, mtod (m, caddr_t), len); - return m; -} - -static int ce_probe (device_t dev) -{ - if ((pci_get_vendor (dev) == TAU32_PCI_VENDOR_ID) && - (pci_get_device (dev) == TAU32_PCI_DEVICE_ID)) { - device_set_desc (dev, "Cronyx-Tau32-PCI serial adapter"); - return BUS_PROBE_DEFAULT; - } - return ENXIO; -} - -static void ce_timeout (void *arg) -{ - drv_t *d; - int s, i, k; - - for (i = 0; i < NBRD; ++i) { - if (adapter[i] == NULL) - continue; - for (k = 0; k < NCHAN; ++k) { - s = splimp (); - if (ce_destroy) { - splx (s); - return; - } - d = channel[i * NCHAN + k]; - if (!d) { - splx (s); - continue; - } - CE_LOCK ((bdrv_t *)d->board->sys); - switch (d->chan->type) { - case T_E1: - ce_e1_timer (d->chan); - break; - default: - break; - } - CE_UNLOCK ((bdrv_t *)d->board->sys); - splx (s); - } - } - s = splimp (); - if (!ce_destroy) - callout_reset (&timeout_handle, hz, ce_timeout, 0); - splx (s); -} - -static void ce_led_off (void *arg) -{ - ce_board_t *b = arg; - bdrv_t *bd = (bdrv_t *) b->sys; - int s; - s = splimp (); - if (ce_destroy) { - splx (s); - return; - } - CE_LOCK (bd); - TAU32_LedSet (b->ddk.pControllerObject, 0); - CE_UNLOCK (bd); - splx (s); -} - -static void ce_intr (void *arg) -{ - bdrv_t *bd = arg; - ce_board_t *b = bd->board; - int s; - int i; - int error; - - s = splimp (); - if (ce_destroy) { - splx (s); - return; - } - CE_LOCK (bd); - /* Turn LED on. */ - TAU32_LedSet (b->ddk.pControllerObject, 1); - - TAU32_HandleInterrupt (b->ddk.pControllerObject); - - /* Turn LED off 50 msec later. */ - callout_reset (&led_timo[b->num], hz/20, ce_led_off, b); - CE_UNLOCK (bd); - splx (s); - - /* Pass packets in a lock-free state */ - for (i = 0; i < NCHAN && b->chan[i].type; i++) { - drv_t *d = b->chan[i].sys; - struct mbuf *m; - if (!d || !d->running) - continue; - while (_IF_QLEN(&d->rqueue)) { - IF_DEQUEUE (&d->rqueue,m); - if (!m) - continue; - if (d->hook) { - NG_SEND_DATA_ONLY (error, d->hook, m); - } else { - IF_DRAIN (&d->rqueue); - } - } - } -} - -static void -ce_bus_dmamap_addr (void *arg, bus_dma_segment_t *segs, int nseg, int error) -{ - unsigned long *addr; - - if (error) - return; - - KASSERT(nseg == 1, ("too many DMA segments, %d should be 1", nseg)); - addr = arg; - *addr = segs->ds_addr; -} - -#ifndef BUS_DMA_ZERO -#define BUS_DMA_ZERO 0 -#endif - -static int -ce_bus_dma_mem_alloc (int bnum, int cnum, ce_dma_mem_t *dmem) -{ - int error; - - error = bus_dma_tag_create (NULL, 16, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, dmem->size, 1, - dmem->size, 0, - NULL, NULL, - &dmem->dmat); - if (error) { - if (cnum >= 0) printf ("ce%d-%d: ", bnum, cnum); - else printf ("ce%d: ", bnum); - printf ("couldn't allocate tag for dma memory\n"); - return 0; - } - error = bus_dmamem_alloc (dmem->dmat, (void **)&dmem->virt, - BUS_DMA_NOWAIT | BUS_DMA_ZERO, &dmem->mapp); - if (error) { - if (cnum >= 0) printf ("ce%d-%d: ", bnum, cnum); - else printf ("ce%d: ", bnum); - printf ("couldn't allocate mem for dma memory\n"); - bus_dma_tag_destroy (dmem->dmat); - return 0; - } - error = bus_dmamap_load (dmem->dmat, dmem->mapp, dmem->virt, - dmem->size, ce_bus_dmamap_addr, &dmem->phys, 0); - if (error) { - if (cnum >= 0) printf ("ce%d-%d: ", bnum, cnum); - else printf ("ce%d: ", bnum); - printf ("couldn't load mem map for dma memory\n"); - bus_dmamem_free (dmem->dmat, dmem->virt, dmem->mapp); - bus_dma_tag_destroy (dmem->dmat); - return 0; - } - bzero (dmem->virt, dmem->size); - return 1; -} - -static void -ce_bus_dma_mem_free (ce_dma_mem_t *dmem) -{ - bus_dmamap_unload (dmem->dmat, dmem->mapp); - bus_dmamem_free (dmem->dmat, dmem->virt, dmem->mapp); - bus_dma_tag_destroy (dmem->dmat); -} - -/* - * Called if the probe succeeded. - */ -static int ce_attach (device_t dev) -{ - bdrv_t *bd = device_get_softc (dev); - int unit = device_get_unit (dev); - char *ce_ln = CE_LOCK_NAME; - vm_offset_t vbase; - int rid, error; - ce_board_t *b; - ce_chan_t *c; - drv_t *d; - int s; - - gone_in_dev(dev, 14, "Cronyx Tau32"); - b = malloc (sizeof(ce_board_t), M_DEVBUF, M_WAITOK); - if (!b) { - printf ("ce%d: couldn't allocate memory\n", unit); - return (ENXIO); - } - bzero (b, sizeof(ce_board_t)); - - b->ddk.sys = &b; - - pci_enable_busmaster (dev); - - bd->dmamem.size = TAU32_ControllerObjectSize; - if (! ce_bus_dma_mem_alloc (unit, -1, &bd->dmamem)) { - free (b, M_DEVBUF); - return (ENXIO); - } - b->ddk.pControllerObject = bd->dmamem.virt; - - bd->board = b; - b->sys = bd; - rid = PCIR_BAR(0); - bd->ce_res = bus_alloc_resource (dev, SYS_RES_MEMORY, &rid, - 0, ~0, 1, RF_ACTIVE); - if (! bd->ce_res) { - printf ("ce%d: cannot map memory\n", unit); - ce_bus_dma_mem_free (&bd->dmamem); - free (b, M_DEVBUF); - return (ENXIO); - } - vbase = (vm_offset_t) rman_get_virtual (bd->ce_res); - - b->ddk.PciBar1VirtualAddress = (void *)vbase; - b->ddk.ControllerObjectPhysicalAddress = bd->dmamem.phys; - b->ddk.pErrorNotifyCallback = ce_error_callback; - b->ddk.pStatusNotifyCallback = ce_status_callback; - b->num = unit; - - TAU32_BeforeReset(&b->ddk); - pci_write_config (dev, TAU32_PCI_RESET_ADDRESS, TAU32_PCI_RESET_ON, 4); - pci_write_config (dev, TAU32_PCI_RESET_ADDRESS, TAU32_PCI_RESET_OFF, 4); - - if(!TAU32_Initialize(&b->ddk, 0)) - { - printf ("ce%d: init adapter error 0x%08x, bus dead bits 0x%08lx\n", - unit, b->ddk.InitErrors, b->ddk.DeadBits); - bus_release_resource (dev, SYS_RES_MEMORY, PCIR_BAR(0), bd->ce_res); - ce_bus_dma_mem_free (&bd->dmamem); - free (b, M_DEVBUF); - return (ENXIO); - } - - s = splimp (); - - ce_init_board (b); - - rid = 0; - bd->ce_irq = bus_alloc_resource (dev, SYS_RES_IRQ, &rid, 0, ~0, 1, - RF_SHAREABLE | RF_ACTIVE); - if (! bd->ce_irq) { - printf ("ce%d: cannot map interrupt\n", unit); - bus_release_resource (dev, SYS_RES_MEMORY, PCIR_BAR(0), bd->ce_res); - ce_bus_dma_mem_free (&bd->dmamem); - free (b, M_DEVBUF); - splx (s); - return (ENXIO); - } - callout_init (&led_timo[unit], 1); - error = bus_setup_intr (dev, bd->ce_irq, - INTR_TYPE_NET|INTR_MPSAFE, - NULL, ce_intr, bd, &bd->ce_intrhand); - if (error) { - printf ("ce%d: cannot set up irq\n", unit); - bus_release_resource (dev, SYS_RES_IRQ, 0, bd->ce_irq); - bus_release_resource (dev, SYS_RES_MEMORY, - PCIR_BAR(0), bd->ce_res); - ce_bus_dma_mem_free (&bd->dmamem); - free (b, M_DEVBUF); - splx (s); - return (ENXIO); - } - - switch (b->ddk.Model) { - case 1: strcpy (b->name, TAU32_BASE_NAME); break; - case 2: strcpy (b->name, TAU32_LITE_NAME); break; - case 3: strcpy (b->name, TAU32_ADPCM_NAME); break; - default: strcpy (b->name, TAU32_UNKNOWN_NAME); break; - } - - printf ("ce%d: %s\n", unit, b->name); - - for (c = b->chan; c < b->chan + NCHAN; ++c) { - c->num = (c - b->chan); - c->board = b; - - d = &bd->channel[c->num]; - d->dmamem.size = sizeof(ce_buf_t); - if (! ce_bus_dma_mem_alloc (unit, c->num, &d->dmamem)) - continue; - - channel [b->num * NCHAN + c->num] = d; - sprintf (d->name, "ce%d.%d", b->num, c->num); - d->board = b; - d->chan = c; - c->sys = d; - } - - for (c = b->chan; c < b->chan + NCHAN; ++c) { - if (c->sys == NULL) - continue; - d = c->sys; - - callout_init (&d->timeout_handle, 1); - if (ng_make_node_common (&typestruct, &d->node) != 0) { - printf ("%s: cannot make common node\n", d->name); - d->node = NULL; - continue; - } - NG_NODE_SET_PRIVATE (d->node, d); - sprintf (d->nodename, "%s%d", NG_CE_NODE_TYPE, - c->board->num * NCHAN + c->num); - if (ng_name_node (d->node, d->nodename)) { - printf ("%s: cannot name node\n", d->nodename); - NG_NODE_UNREF (d->node); - continue; - } - d->queue.ifq_maxlen = ifqmaxlen; - d->hi_queue.ifq_maxlen = ifqmaxlen; - d->rqueue.ifq_maxlen = ifqmaxlen; - mtx_init (&d->queue.ifq_mtx, "ce_queue", NULL, MTX_DEF); - mtx_init (&d->hi_queue.ifq_mtx, "ce_queue_hi", NULL, MTX_DEF); - mtx_init (&d->rqueue.ifq_mtx, "ce_rqueue", NULL, MTX_DEF); - ce_start_chan (c, 1, 1, d->dmamem.virt, d->dmamem.phys); - - /* Register callback functions. */ - ce_register_transmit (c, &ce_transmit); - ce_register_receive (c, &ce_receive); - ce_register_error (c, &ce_error); - d->devt = make_dev (&ce_cdevsw, b->num*NCHAN+c->num, UID_ROOT, - GID_WHEEL, 0600, "ce%d", b->num*NCHAN+c->num); - } - - ce_ln[2] = '0' + unit; - mtx_init (&bd->ce_mtx, ce_ln, MTX_NETWORK_LOCK, MTX_DEF|MTX_RECURSE); - CE_LOCK (bd); - TAU32_EnableInterrupts(b->ddk.pControllerObject); - adapter[unit] = b; - CE_UNLOCK (bd); - splx (s); - - return 0; -} - -static int ce_detach (device_t dev) -{ - bdrv_t *bd = device_get_softc (dev); - ce_board_t *b = bd->board; - ce_chan_t *c; - int s; - - KASSERT (mtx_initialized (&bd->ce_mtx), ("ce mutex not initialized")); - s = splimp (); - CE_LOCK (bd); - /* Check if the device is busy (open). */ - for (c = b->chan; c < b->chan + NCHAN; ++c) { - drv_t *d = (drv_t*) c->sys; - - /* XXX Non existen chan! */ - if (! d || ! d->chan) - continue; - if (d->running) { - CE_UNLOCK (bd); - splx (s); - return EBUSY; - } - } - - /* Ok, we can unload driver */ - /* At first we should disable interrupts */ - ce_destroy = 1; - TAU32_DisableInterrupts(b->ddk.pControllerObject); - - callout_stop (&led_timo[b->num]); - - for (c = b->chan; c < b->chan + NCHAN; ++c) { - drv_t *d = (drv_t*) c->sys; - - if (! d || ! d->chan) - continue; - callout_stop (&d->timeout_handle); - if (d->node) { - ng_rmnode_self (d->node); - NG_NODE_UNREF (d->node); - d->node = NULL; - } - IF_DRAIN (&d->rqueue); - mtx_destroy (&d->queue.ifq_mtx); - mtx_destroy (&d->hi_queue.ifq_mtx); - mtx_destroy (&d->rqueue.ifq_mtx); - destroy_dev (d->devt); - } - - CE_UNLOCK (bd); - splx (s); - - callout_drain (&led_timo[b->num]); - - /* Disable the interrupt request. */ - bus_teardown_intr (dev, bd->ce_irq, bd->ce_intrhand); - bus_release_resource (dev, SYS_RES_IRQ, 0, bd->ce_irq); - TAU32_DestructiveHalt (b->ddk.pControllerObject, 0); - bus_release_resource (dev, SYS_RES_MEMORY, PCIR_BAR(0), bd->ce_res); - - for (c = b->chan; c < b->chan + NCHAN; ++c) { - drv_t *d = (drv_t*) c->sys; - - if (! d || ! d->chan) - continue; - callout_drain (&d->timeout_handle); - channel [b->num * NCHAN + c->num] = NULL; - /* Deallocate buffers. */ - ce_bus_dma_mem_free (&d->dmamem); - } - adapter [b->num] = NULL; - ce_bus_dma_mem_free (&bd->dmamem); - free (b, M_DEVBUF); - mtx_destroy (&bd->ce_mtx); - return 0; -} - - -/* - * Stop the interface. Called on splimp(). - */ -static void ce_down (drv_t *d) -{ - CE_DEBUG (d, ("ce_down\n")); - /* Interface is going down -- stop it. */ - ce_set_dtr (d->chan, 0); - ce_set_rts (d->chan, 0); - - d->running = 0; - callout_stop (&d->timeout_handle); -} - -/* - * Start the interface. Called on splimp(). - */ -static void ce_up (drv_t *d) -{ - CE_DEBUG (d, ("ce_up\n")); - ce_set_dtr (d->chan, 1); - ce_set_rts (d->chan, 1); - - d->running = 1; -} - -/* - * Start output on the interface. Get another datagram to send - * off of the interface queue, and copy it to the interface - * before starting the output. - */ -static void ce_send (drv_t *d) -{ - struct mbuf *m; - u_short len; - - CE_DEBUG2 (d, ("ce_send\n")); - - /* No output if the interface is down. */ - if (! d->running) - return; - - while (ce_transmit_space (d->chan)) { - /* Get the packet to send. */ - IF_DEQUEUE (&d->hi_queue, m); - if (! m) - IF_DEQUEUE (&d->queue, m); - if (! m) - return; - len = m_length (m, NULL); - if (len >= BUFSZ) - printf ("%s: too long packet: %d bytes: ", - d->name, len); - else if (! m->m_next) - ce_send_packet (d->chan, (u_char*) mtod (m, caddr_t), len, 0); - else { - ce_buf_item_t *item = (ce_buf_item_t*)d->chan->tx_queue; - m_copydata (m, 0, len, item->buf); - ce_send_packet (d->chan, item->buf, len, 0); - } - m_freem (m); - /* Set up transmit timeout, if the transmit ring is not empty.*/ - d->timeout = 10; - } -} - -/* - * Start output on the interface. - * Always called on splimp(). - */ -static void ce_start (drv_t *d) -{ - if (d->running) { - if (! d->chan->dtr) - ce_set_dtr (d->chan, 1); - if (! d->chan->rts) - ce_set_rts (d->chan, 1); - ce_send (d); - callout_reset (&d->timeout_handle, hz, ce_watchdog_timer, d); - } -} - -/* - * Handle transmit timeouts. - * Recover after lost transmit interrupts. - * Always called on splimp(). - */ -static void ce_watchdog (drv_t *d) -{ - CE_DEBUG (d, ("device timeout\n")); - if (d->running) { - ce_set_dtr (d->chan, 0); - ce_set_rts (d->chan, 0); -/* ce_stop_chan (d->chan);*/ -/* ce_start_chan (d->chan, 1, 1, 0, 0);*/ - ce_set_dtr (d->chan, 1); - ce_set_rts (d->chan, 1); - ce_start (d); - } -} - -static void ce_watchdog_timer (void *arg) -{ - drv_t *d = arg; - bdrv_t *bd = d->board->sys; - - CE_LOCK(bd); - if (d->timeout == 1) - ce_watchdog (d); - if (d->timeout) - d->timeout--; - callout_reset (&d->timeout_handle, hz, ce_watchdog_timer, d); - CE_UNLOCK(bd); -} - -static void ce_transmit (ce_chan_t *c, void *attachment, int len) -{ - drv_t *d = c->sys; - - d->timeout = 0; - ce_start (d); -} - -static void ce_receive (ce_chan_t *c, unsigned char *data, int len) -{ - drv_t *d = c->sys; - struct mbuf *m; - - if (! d->running) - return; - - m = makembuf (data, len); - if (! m) { - CE_DEBUG (d, ("no memory for packet\n")); - return; - } - if (c->debug > 1) - m_print (m, 0); - m->m_pkthdr.rcvif = 0; - IF_ENQUEUE(&d->rqueue, m); -} - -static void ce_error (ce_chan_t *c, int data) -{ - drv_t *d = c->sys; - - switch (data) { - case CE_FRAME: - CE_DEBUG (d, ("frame error\n")); - break; - case CE_CRC: - CE_DEBUG (d, ("crc error\n")); - break; - case CE_OVERRUN: - CE_DEBUG (d, ("overrun error\n")); - break; - case CE_OVERFLOW: - CE_DEBUG (d, ("overflow error\n")); - break; - case CE_UNDERRUN: - CE_DEBUG (d, ("underrun error\n")); - d->timeout = 0; - ce_start (d); - break; - default: - CE_DEBUG (d, ("error #%d\n", data)); - break; - } -} - -/* - * You also need read, write, open, close routines. - * This should get you started - */ -static int ce_open (struct cdev *dev, int oflags, int devtype, struct thread *td) -{ - int unit = dev2unit (dev); - drv_t *d; - - if (unit >= NBRD*NCHAN || ! (d = channel[unit])) - return ENXIO; - CE_DEBUG2 (d, ("ce_open\n")); - return 0; -} - -/* - * Only called on the LAST close. - */ -static int ce_close (struct cdev *dev, int fflag, int devtype, struct thread *td) -{ - drv_t *d = channel [dev2unit (dev)]; - - CE_DEBUG2 (d, ("ce_close\n")); - return 0; -} - -static int ce_modem_status (ce_chan_t *c) -{ - drv_t *d = c->sys; - bdrv_t *bd = d->board->sys; - int status, s; - - status = d->running ? TIOCM_LE : 0; - s = splimp (); - CE_LOCK (bd); - if (ce_get_cd (c)) status |= TIOCM_CD; - if (ce_get_cts (c)) status |= TIOCM_CTS; - if (ce_get_dsr (c)) status |= TIOCM_DSR; - if (c->dtr) status |= TIOCM_DTR; - if (c->rts) status |= TIOCM_RTS; - CE_UNLOCK (bd); - splx (s); - return status; -} - -static int ce_ioctl (struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) -{ - drv_t *d = channel [dev2unit (dev)]; - bdrv_t *bd = d->board->sys; - ce_chan_t *c = d->chan; - struct serial_statistics *st; - struct e1_statistics *opte1; - int error, s; - char mask[16]; - - switch (cmd) { - case SERIAL_GETREGISTERED: - CE_DEBUG2 (d, ("ioctl: getregistered\n")); - bzero (mask, sizeof(mask)); - for (s=0; srintr = c->rintr; - st->tintr = c->tintr; - st->mintr = 0; - st->ibytes = c->ibytes; - st->ipkts = c->ipkts; - st->obytes = c->obytes; - st->opkts = c->opkts; - st->ierrs = c->overrun + c->frame + c->crc; - st->oerrs = c->underrun; - return 0; - - case SERIAL_GETESTAT: - CE_DEBUG2 (d, ("ioctl: getestat\n")); - if (c->type != T_E1) - return EINVAL; - opte1 = (struct e1_statistics*) data; - - opte1->status = 0; - if (c->status & ESTS_NOALARM) - opte1->status |= E1_NOALARM; - if (c->status & ESTS_LOS) - opte1->status |= E1_LOS; - if (c->status & ESTS_LOF) - opte1->status |= E1_LOF; - if (c->status & ESTS_AIS) - opte1->status |= E1_AIS; - if (c->status & ESTS_LOMF) - opte1->status |= E1_LOMF; - if (c->status & ESTS_AIS16) - opte1->status |= E1_AIS16; - if (c->status & ESTS_FARLOF) - opte1->status |= E1_FARLOF; - if (c->status & ESTS_FARLOMF) - opte1->status |= E1_FARLOMF; - if (c->status & ESTS_TSTREQ) - opte1->status |= E1_TSTREQ; - if (c->status & ESTS_TSTERR) - opte1->status |= E1_TSTERR; - - opte1->cursec = c->cursec; - opte1->totsec = c->totsec + c->cursec; - - opte1->currnt.bpv = c->currnt.bpv; - opte1->currnt.fse = c->currnt.fse; - opte1->currnt.crce = c->currnt.crce; - opte1->currnt.rcrce = c->currnt.rcrce; - opte1->currnt.uas = c->currnt.uas; - opte1->currnt.les = c->currnt.les; - opte1->currnt.es = c->currnt.es; - opte1->currnt.bes = c->currnt.bes; - opte1->currnt.ses = c->currnt.ses; - opte1->currnt.oofs = c->currnt.oofs; - opte1->currnt.css = c->currnt.css; - opte1->currnt.dm = c->currnt.dm; - - opte1->total.bpv = c->total.bpv + c->currnt.bpv; - opte1->total.fse = c->total.fse + c->currnt.fse; - opte1->total.crce = c->total.crce + c->currnt.crce; - opte1->total.rcrce = c->total.rcrce + c->currnt.rcrce; - opte1->total.uas = c->total.uas + c->currnt.uas; - opte1->total.les = c->total.les + c->currnt.les; - opte1->total.es = c->total.es + c->currnt.es; - opte1->total.bes = c->total.bes + c->currnt.bes; - opte1->total.ses = c->total.ses + c->currnt.ses; - opte1->total.oofs = c->total.oofs + c->currnt.oofs; - opte1->total.css = c->total.css + c->currnt.css; - opte1->total.dm = c->total.dm + c->currnt.dm; - for (s=0; s<48; ++s) { - opte1->interval[s].bpv = c->interval[s].bpv; - opte1->interval[s].fse = c->interval[s].fse; - opte1->interval[s].crce = c->interval[s].crce; - opte1->interval[s].rcrce = c->interval[s].rcrce; - opte1->interval[s].uas = c->interval[s].uas; - opte1->interval[s].les = c->interval[s].les; - opte1->interval[s].es = c->interval[s].es; - opte1->interval[s].bes = c->interval[s].bes; - opte1->interval[s].ses = c->interval[s].ses; - opte1->interval[s].oofs = c->interval[s].oofs; - opte1->interval[s].css = c->interval[s].css; - opte1->interval[s].dm = c->interval[s].dm; - } - return 0; - - case SERIAL_CLRSTAT: - CE_DEBUG2 (d, ("ioctl: clrstat\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - c->rintr = 0; - c->tintr = 0; - c->ibytes = 0; - c->obytes = 0; - c->ipkts = 0; - c->opkts = 0; - c->overrun = 0; - c->frame = 0; - c->crc = 0; - c->underrun = 0; - bzero (&c->currnt, sizeof (c->currnt)); - bzero (&c->total, sizeof (c->total)); - bzero (c->interval, sizeof (c->interval)); - return 0; - - case SERIAL_GETLOOP: - CE_DEBUG2 (d, ("ioctl: getloop\n")); - if (c->type != T_E1) - return EINVAL; - *(int*)data = c->lloop; - return 0; - - case SERIAL_SETLOOP: - CE_DEBUG2 (d, ("ioctl: setloop\n")); - if (c->type != T_E1) - return EINVAL; - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_lloop (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETRLOOP: - CE_DEBUG2 (d, ("ioctl: getrloop\n")); - if (c->type != T_E1) - return EINVAL; - *(int*)data = c->rloop; - return 0; - - case SERIAL_SETRLOOP: - CE_DEBUG2 (d, ("ioctl: setloop\n")); - if (c->type != T_E1) - return EINVAL; - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_rloop (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETDEBUG: - CE_DEBUG2 (d, ("ioctl: getdebug\n")); - *(int*)data = d->chan->debug; - return 0; - - case SERIAL_SETDEBUG: - CE_DEBUG2 (d, ("ioctl: setdebug\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - d->chan->debug = *(int*)data; - return 0; - - case SERIAL_GETBAUD: - CE_DEBUG2 (d, ("ioctl: getbaud\n")); - *(long*)data = c->baud; - return 0; - - case SERIAL_SETBAUD: - CE_DEBUG2 (d, ("ioctl: setbaud\n")); - if (c->type != T_E1 || !c->unfram) - return EINVAL; - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_baud (c, *(long*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETTIMESLOTS: - CE_DEBUG2 (d, ("ioctl: gettimeslots\n")); - if ((c->type != T_E1 || c->unfram) && c->type != T_DATA) - return EINVAL; - *(u_long*)data = c->ts; - return 0; - - case SERIAL_SETTIMESLOTS: - CE_DEBUG2 (d, ("ioctl: settimeslots\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if ((c->type != T_E1 || c->unfram) && c->type != T_DATA) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - ce_set_ts (c, *(u_long*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETHIGAIN: - CE_DEBUG2 (d, ("ioctl: gethigain\n")); - if (c->type != T_E1) - return EINVAL; - *(int*)data = c->higain; - return 0; - - case SERIAL_SETHIGAIN: - CE_DEBUG2 (d, ("ioctl: sethigain\n")); - if (c->type != T_E1) - return EINVAL; - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_higain (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETPHONY: - CE_DEBUG2 (d, ("ioctl: getphony\n")); - *(int*)data = c->phony; - return 0; - - case SERIAL_SETPHONY: - CE_DEBUG2 (d, ("ioctl: setphony\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_phony (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETUNFRAM: - CE_DEBUG2 (d, ("ioctl: getunfram\n")); - if (c->type != T_E1 || c->num != 0) - return EINVAL; - *(int*)data = c->unfram; - return 0; - - case SERIAL_SETUNFRAM: - CE_DEBUG2 (d, ("ioctl: setunfram\n")); - if (c->type != T_E1 || c->num != 0) - return EINVAL; - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_unfram (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETSCRAMBLER: - CE_DEBUG2 (d, ("ioctl: getscrambler\n")); - if (!c->unfram) - return EINVAL; - *(int*)data = c->scrambler; - return 0; - - case SERIAL_SETSCRAMBLER: - CE_DEBUG2 (d, ("ioctl: setscrambler\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if (!c->unfram) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - ce_set_scrambler (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETMONITOR: - CE_DEBUG2 (d, ("ioctl: getmonitor\n")); - if (c->type != T_E1) - return EINVAL; - *(int*)data = c->monitor; - return 0; - - case SERIAL_SETMONITOR: - CE_DEBUG2 (d, ("ioctl: setmonitor\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if (c->type != T_E1) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - ce_set_monitor (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETUSE16: - CE_DEBUG2 (d, ("ioctl: getuse16\n")); - if (c->type != T_E1 || c->unfram) - return EINVAL; - *(int*)data = c->use16; - return 0; - - case SERIAL_SETUSE16: - CE_DEBUG2 (d, ("ioctl: setuse16\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if (c->type != T_E1) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - ce_set_use16 (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETCRC4: - CE_DEBUG2 (d, ("ioctl: getcrc4\n")); - if (c->type != T_E1 || c->unfram) - return EINVAL; - *(int*)data = c->crc4; - return 0; - - case SERIAL_SETCRC4: - CE_DEBUG2 (d, ("ioctl: setcrc4\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if (c->type != T_E1 || c->unfram) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - ce_set_crc4 (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETCLK: - CE_DEBUG2 (d, ("ioctl: getclk\n")); - if (c->type != T_E1) - return EINVAL; - switch (c->gsyn) { - default: *(int*)data = E1CLK_INTERNAL; break; - case GSYN_RCV: *(int*)data = E1CLK_RECEIVE; break; - case GSYN_RCV0: *(int*)data = E1CLK_RECEIVE_CHAN0; break; - case GSYN_RCV1: *(int*)data = E1CLK_RECEIVE_CHAN1; break; - } - return 0; - - case SERIAL_SETCLK: - CE_DEBUG2 (d, ("ioctl: setclk\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - if (c->type != T_E1) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - switch (*(int*)data) { - default: ce_set_gsyn (c, GSYN_INT); break; - case E1CLK_RECEIVE: ce_set_gsyn (c, GSYN_RCV); break; - case E1CLK_RECEIVE_CHAN0: ce_set_gsyn (c, GSYN_RCV0); break; - case E1CLK_RECEIVE_CHAN1: ce_set_gsyn (c, GSYN_RCV1); break; - } - CE_UNLOCK (bd); - splx (s); - return 0; - -#if 0 - case SERIAL_RESET: - CE_DEBUG2 (d, ("ioctl: reset\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); -/* ce_reset (c->board, 0, 0);*/ - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_HARDRESET: - CE_DEBUG2 (d, ("ioctl: hardreset\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - /* hard_reset (c->board); */ - CE_UNLOCK (bd); - splx (s); - return 0; -#endif - - case SERIAL_GETCABLE: - CE_DEBUG2 (d, ("ioctl: getcable\n")); - if (c->type != T_E1) - return EINVAL; - s = splimp (); - CE_LOCK (bd); - *(int*)data = CABLE_TP; - CE_UNLOCK (bd); - splx (s); - return 0; - - case SERIAL_GETDIR: - CE_DEBUG2 (d, ("ioctl: getdir\n")); - if (c->type != T_E1 && c->type != T_DATA) - return EINVAL; - *(int*)data = c->dir; - return 0; - - case SERIAL_SETDIR: - CE_DEBUG2 (d, ("ioctl: setdir\n")); - /* Only for superuser! */ - error = priv_check (td, PRIV_DRIVER); - if (error) - return error; - s = splimp (); - CE_LOCK (bd); - ce_set_dir (c, *(int*)data); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCSDTR: /* Set DTR */ - s = splimp (); - CE_LOCK (bd); - ce_set_dtr (c, 1); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCCDTR: /* Clear DTR */ - s = splimp (); - CE_LOCK (bd); - ce_set_dtr (c, 0); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCMSET: /* Set DTR/RTS */ - s = splimp (); - CE_LOCK (bd); - ce_set_dtr (c, (*(int*)data & TIOCM_DTR) ? 1 : 0); - ce_set_rts (c, (*(int*)data & TIOCM_RTS) ? 1 : 0); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCMBIS: /* Add DTR/RTS */ - s = splimp (); - CE_LOCK (bd); - if (*(int*)data & TIOCM_DTR) ce_set_dtr (c, 1); - if (*(int*)data & TIOCM_RTS) ce_set_rts (c, 1); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCMBIC: /* Clear DTR/RTS */ - s = splimp (); - CE_LOCK (bd); - if (*(int*)data & TIOCM_DTR) ce_set_dtr (c, 0); - if (*(int*)data & TIOCM_RTS) ce_set_rts (c, 0); - CE_UNLOCK (bd); - splx (s); - return 0; - - case TIOCMGET: /* Get modem status */ - *(int*)data = ce_modem_status (c); - return 0; - } - return ENOTTY; -} - -static int ng_ce_constructor (node_p node) -{ - drv_t *d = NG_NODE_PRIVATE (node); - CE_DEBUG (d, ("Constructor\n")); - return EINVAL; -} - -static int ng_ce_newhook (node_p node, hook_p hook, const char *name) -{ - int s; - drv_t *d = NG_NODE_PRIVATE (node); - bdrv_t *bd = d->board->sys; - - CE_DEBUG (d, ("Newhook\n")); - /* Attach debug hook */ - if (strcmp (name, NG_CE_HOOK_DEBUG) == 0) { - NG_HOOK_SET_PRIVATE (hook, NULL); - d->debug_hook = hook; - return 0; - } - - /* Check for raw hook */ - if (strcmp (name, NG_CE_HOOK_RAW) != 0) - return EINVAL; - - NG_HOOK_SET_PRIVATE (hook, d); - d->hook = hook; - s = splimp (); - CE_LOCK (bd); - ce_up (d); - CE_UNLOCK (bd); - splx (s); - return 0; -} - -static char *format_timeslots (u_long s) -{ - static char buf [100]; - char *p = buf; - int i; - - for (i=1; i<32; ++i) - if ((s >> i) & 1) { - int prev = (i > 1) & (s >> (i-1)); - int next = (i < 31) & (s >> (i+1)); - - if (prev) { - if (next) - continue; - *p++ = '-'; - } else if (p > buf) - *p++ = ','; - - if (i >= 10) - *p++ = '0' + i / 10; - *p++ = '0' + i % 10; - } - *p = 0; - return buf; -} - -static int print_modems (char *s, ce_chan_t *c, int need_header) -{ - int status = ce_modem_status (c); - int length = 0; - - if (need_header) - length += sprintf (s + length, " LE DTR DSR RTS CTS CD\n"); - length += sprintf (s + length, "%4s %4s %4s %4s %4s %4s\n", - status & TIOCM_LE ? "On" : "-", - status & TIOCM_DTR ? "On" : "-", - status & TIOCM_DSR ? "On" : "-", - status & TIOCM_RTS ? "On" : "-", - status & TIOCM_CTS ? "On" : "-", - status & TIOCM_CD ? "On" : "-"); - return length; -} - -static int print_stats (char *s, ce_chan_t *c, int need_header) -{ - int length = 0; - - if (need_header) - length += sprintf (s + length, " Rintr Tintr Mintr Ibytes Ipkts Ierrs Obytes Opkts Oerrs\n"); - length += sprintf (s + length, "%7ld %7ld %7ld %8lu %7ld %7ld %8lu %7ld %7ld\n", - c->rintr, c->tintr, 0l, (unsigned long) c->ibytes, - c->ipkts, c->overrun + c->frame + c->crc, - (unsigned long) c->obytes, c->opkts, c->underrun); - return length; -} - -static char *format_e1_status (u_char status) -{ - static char buf [80]; - - if (status & E1_NOALARM) - return "Ok"; - buf[0] = 0; - if (status & E1_LOS) strcat (buf, ",LOS"); - if (status & E1_AIS) strcat (buf, ",AIS"); - if (status & E1_LOF) strcat (buf, ",LOF"); - if (status & E1_LOMF) strcat (buf, ",LOMF"); - if (status & E1_FARLOF) strcat (buf, ",FARLOF"); - if (status & E1_AIS16) strcat (buf, ",AIS16"); - if (status & E1_FARLOMF) strcat (buf, ",FARLOMF"); - if (status & E1_TSTREQ) strcat (buf, ",TSTREQ"); - if (status & E1_TSTERR) strcat (buf, ",TSTERR"); - if (buf[0] == ',') - return buf+1; - return "Unknown"; -} - -static int print_frac (char *s, int leftalign, u_long numerator, u_long divider) -{ - int n, length = 0; - - if (numerator < 1 || divider < 1) { - length += sprintf (s+length, leftalign ? "/- " : " -"); - return length; - } - n = (int) (0.5 + 1000.0 * numerator / divider); - if (n < 1000) { - length += sprintf (s+length, leftalign ? "/.%-3d" : " .%03d", n); - return length; - } - *(s + length) = leftalign ? '/' : ' '; - length ++; - - if (n >= 1000000) n = (n+500) / 1000 * 1000; - else if (n >= 100000) n = (n+50) / 100 * 100; - else if (n >= 10000) n = (n+5) / 10 * 10; - - switch (n) { - case 1000: length += printf (s+length, ".999"); return length; - case 10000: n = 9990; break; - case 100000: n = 99900; break; - case 1000000: n = 999000; break; - } - if (n < 10000) length += sprintf (s+length, "%d.%d", n/1000, n/10%100); - else if (n < 100000) length += sprintf (s+length, "%d.%d", n/1000, n/100%10); - else if (n < 1000000) length += sprintf (s+length, "%d.", n/1000); - else length += sprintf (s+length, "%d", n/1000); - - return length; -} - -static int print_e1_stats (char *s, ce_chan_t *c) -{ - struct e1_counters total; - u_long totsec; - int length = 0; - - totsec = c->totsec + c->cursec; - total.bpv = c->total.bpv + c->currnt.bpv; - total.fse = c->total.fse + c->currnt.fse; - total.crce = c->total.crce + c->currnt.crce; - total.rcrce = c->total.rcrce + c->currnt.rcrce; - total.uas = c->total.uas + c->currnt.uas; - total.les = c->total.les + c->currnt.les; - total.es = c->total.es + c->currnt.es; - total.bes = c->total.bes + c->currnt.bes; - total.ses = c->total.ses + c->currnt.ses; - total.oofs = c->total.oofs + c->currnt.oofs; - total.css = c->total.css + c->currnt.css; - total.dm = c->total.dm + c->currnt.dm; - - length += sprintf (s + length, " Unav/Degr Bpv/Fsyn CRC/RCRC Err/Lerr Sev/Bur Oof/Slp Status\n"); - - /* Unavailable seconds, degraded minutes */ - length += print_frac (s + length, 0, c->currnt.uas, c->cursec); - length += print_frac (s + length, 1, 60 * c->currnt.dm, c->cursec); - - /* Bipolar violations, frame sync errors */ - length += print_frac (s + length, 0, c->currnt.bpv, c->cursec); - length += print_frac (s + length, 1, c->currnt.fse, c->cursec); - - /* CRC errors, remote CRC errors (E-bit) */ - length += print_frac (s + length, 0, c->currnt.crce, c->cursec); - length += print_frac (s + length, 1, c->currnt.rcrce, c->cursec); - - /* Errored seconds, line errored seconds */ - length += print_frac (s + length, 0, c->currnt.es, c->cursec); - length += print_frac (s + length, 1, c->currnt.les, c->cursec); - - /* Severely errored seconds, burst errored seconds */ - length += print_frac (s + length, 0, c->currnt.ses, c->cursec); - length += print_frac (s + length, 1, c->currnt.bes, c->cursec); - - /* Out of frame seconds, controlled slip seconds */ - length += print_frac (s + length, 0, c->currnt.oofs, c->cursec); - length += print_frac (s + length, 1, c->currnt.css, c->cursec); - - length += sprintf (s + length, " %s\n", format_e1_status (c->status)); - - /* Print total statistics. */ - length += print_frac (s + length, 0, total.uas, totsec); - length += print_frac (s + length, 1, 60 * total.dm, totsec); - - length += print_frac (s + length, 0, total.bpv, totsec); - length += print_frac (s + length, 1, total.fse, totsec); - - length += print_frac (s + length, 0, total.crce, totsec); - length += print_frac (s + length, 1, total.rcrce, totsec); - - length += print_frac (s + length, 0, total.es, totsec); - length += print_frac (s + length, 1, total.les, totsec); - - length += print_frac (s + length, 0, total.ses, totsec); - length += print_frac (s + length, 1, total.bes, totsec); - - length += print_frac (s + length, 0, total.oofs, totsec); - length += print_frac (s + length, 1, total.css, totsec); - - length += sprintf (s + length, " -- Total\n"); - return length; -} - -static int print_chan (char *s, ce_chan_t *c) -{ - drv_t *d = c->sys; - int length = 0; - - length += sprintf (s + length, "ce%d", c->board->num * NCHAN + c->num); - if (d->chan->debug) - length += sprintf (s + length, " debug=%d", d->chan->debug); - - if (c->board->mux) { - length += sprintf (s + length, " cfg=C"); - } else { - length += sprintf (s + length, " cfg=A"); - } - - if (c->baud) - length += sprintf (s + length, " %ld", c->baud); - else - length += sprintf (s + length, " extclock"); - - if (c->type == T_E1) - switch (c->gsyn) { - case GSYN_INT : length += sprintf (s + length, " syn=int"); break; - case GSYN_RCV : length += sprintf (s + length, " syn=rcv"); break; - case GSYN_RCV0 : length += sprintf (s + length, " syn=rcv0"); break; - case GSYN_RCV1 : length += sprintf (s + length, " syn=rcv1"); break; - } - if (c->type == T_E1) - length += sprintf (s + length, " higain=%s", c->higain ? "on" : "off"); - - length += sprintf (s + length, " loop=%s", c->lloop ? "on" : "off"); - - if (c->type == T_E1) - length += sprintf (s + length, " ts=%s", format_timeslots (c->ts)); - length += sprintf (s + length, "\n"); - return length; -} - -static int ng_ce_rcvmsg (node_p node, item_p item, hook_p lasthook) -{ - drv_t *d = NG_NODE_PRIVATE (node); - struct ng_mesg *msg; - struct ng_mesg *resp = NULL; - int error = 0; - - CE_DEBUG (d, ("Rcvmsg\n")); - NGI_GET_MSG (item, msg); - switch (msg->header.typecookie) { - default: - error = EINVAL; - break; - - case NGM_CE_COOKIE: - printf ("Not implemented yet\n"); - error = EINVAL; - break; - - case NGM_GENERIC_COOKIE: - switch (msg->header.cmd) { - default: - error = EINVAL; - break; - - case NGM_TEXT_STATUS: { - char *s; - int l = 0; - int dl = sizeof (struct ng_mesg) + 730; - - NG_MKRESPONSE (resp, msg, dl, M_NOWAIT); - if (! resp) { - error = ENOMEM; - break; - } - s = (resp)->data; - if (d) { - l += print_chan (s + l, d->chan); - l += print_stats (s + l, d->chan, 1); - l += print_modems (s + l, d->chan, 1); - l += print_e1_stats (s + l, d->chan); - } else - l += sprintf (s + l, "Error: node not connect to channel"); - strncpy ((resp)->header.cmdstr, "status", NG_CMDSTRSIZ); - } - break; - } - break; - } - NG_RESPOND_MSG (error, node, item, resp); - NG_FREE_MSG (msg); - return error; -} - -static int ng_ce_rcvdata (hook_p hook, item_p item) -{ - drv_t *d = NG_NODE_PRIVATE (NG_HOOK_NODE(hook)); - struct mbuf *m; - struct ng_tag_prio *ptag; - bdrv_t *bd = d->board->sys; - struct ifqueue *q; - int s; - - CE_DEBUG2 (d, ("Rcvdata\n")); - NGI_GET_M (item, m); - NG_FREE_ITEM (item); - if (! NG_HOOK_PRIVATE (hook) || ! d) { - NG_FREE_M (m); - return ENETDOWN; - } - - /* Check for high priority data */ - if ((ptag = (struct ng_tag_prio *)m_tag_locate(m, NGM_GENERIC_COOKIE, - NG_TAG_PRIO, NULL)) != NULL && (ptag->priority > NG_PRIO_CUTOFF) ) - q = &d->hi_queue; - else - q = &d->queue; - - s = splimp (); - CE_LOCK (bd); - IF_LOCK (q); - if (_IF_QFULL (q)) { - IF_UNLOCK (q); - CE_UNLOCK (bd); - splx (s); - NG_FREE_M (m); - return ENOBUFS; - } - _IF_ENQUEUE (q, m); - IF_UNLOCK (q); - ce_start (d); - CE_UNLOCK (bd); - splx (s); - return 0; -} - -static int ng_ce_rmnode (node_p node) -{ - drv_t *d = NG_NODE_PRIVATE (node); - - CE_DEBUG (d, ("Rmnode\n")); - if (d && d->running) { - bdrv_t *bd = d->board->sys; - int s = splimp (); - CE_LOCK (bd); - ce_down (d); - CE_UNLOCK (bd); - splx (s); - } -#ifdef KLD_MODULE - if (node->nd_flags & NGF_REALLY_DIE) { - NG_NODE_SET_PRIVATE (node, NULL); - NG_NODE_UNREF (node); - } - NG_NODE_REVIVE(node); /* Persistent node */ -#endif - return 0; -} - -static int ng_ce_connect (hook_p hook) -{ - drv_t *d = NG_NODE_PRIVATE (NG_HOOK_NODE (hook)); - - if (d) { - CE_DEBUG (d, ("Connect\n")); - callout_reset (&d->timeout_handle, hz, ce_watchdog_timer, d); - } - - return 0; -} - -static int ng_ce_disconnect (hook_p hook) -{ - drv_t *d = NG_NODE_PRIVATE (NG_HOOK_NODE (hook)); - - if (d) { - CE_DEBUG (d, ("Disconnect\n")); - if (NG_HOOK_PRIVATE (hook)) - { - bdrv_t *bd = d->board->sys; - int s = splimp (); - CE_LOCK (bd); - ce_down (d); - CE_UNLOCK (bd); - splx (s); - } - /* If we were wait it than it reasserted now, just stop it. */ - if (!callout_drain (&d->timeout_handle)) - callout_stop (&d->timeout_handle); - } - return 0; -} - -static int ce_modevent (module_t mod, int type, void *unused) -{ - static int load_count = 0; - - - switch (type) { - case MOD_LOAD: - if (ng_newtype (&typestruct)) - printf ("Failed to register ng_ce\n"); - ++load_count; - callout_init (&timeout_handle, 1); - callout_reset (&timeout_handle, hz*5, ce_timeout, 0); - break; - case MOD_UNLOAD: - if (load_count == 1) { - printf ("Removing device entry for Tau32-PCI\n"); - ng_rmtype (&typestruct); - } - /* If we were wait it than it reasserted now, just stop it. - * Actually we shouldn't get this condition. But code could be - * changed in the future, so just be a litle paranoid. - */ - if (!callout_drain (&timeout_handle)) - callout_stop (&timeout_handle); - --load_count; - break; - case MOD_SHUTDOWN: - break; - } - return 0; -} - -static struct ng_type typestruct = { - .version = NG_ABI_VERSION, - .name = NG_CE_NODE_TYPE, - .constructor = ng_ce_constructor, - .rcvmsg = ng_ce_rcvmsg, - .shutdown = ng_ce_rmnode, - .newhook = ng_ce_newhook, - .connect = ng_ce_connect, - .rcvdata = ng_ce_rcvdata, - .disconnect = ng_ce_disconnect, -}; - - -MODULE_DEPEND (ng_ce, netgraph, NG_ABI_VERSION, NG_ABI_VERSION, NG_ABI_VERSION); -#ifdef KLD_MODULE -DRIVER_MODULE (cemod, pci, ce_driver, ce_devclass, ce_modevent, NULL); -#else -DRIVER_MODULE (ce, pci, ce_driver, ce_devclass, ce_modevent, NULL); -#endif Index: sys/dev/ce/machdep.h =================================================================== --- sys/dev/ce/machdep.h +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * Cronyx DDK: platform dependent definitions. - * - * Copyright (C) 1998-1999 Cronyx Engineering - * Author: Alexander Kvitchenko, - * - * Copyright (C) 2001-2003 Cronyx Engineering. - * Author: Roman Kurakin, - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations permission to use - * or modify this software as long as this message is kept with the software, - * all derivative works or modified versions. - * - * Cronyx Id: machdep.h,v 1.3.4.3 2003/11/27 14:21:58 rik Exp $ - * $FreeBSD$ - */ - -/* - * DOS (Borland Turbo C++ 1.0) - */ -#if defined (MSDOS) || defined (__MSDOS__) -# include -# include -# define inb(port) inportb(port) -# define inw(port) inport(port) -# define outb(port,b) outportb(port,b) -# define outw(port,w) outport(port,w) -# define GETTICKS() biostime(0,0L) -#else - -/* - * Windows NT - */ -#ifdef NDIS_MINIPORT_DRIVER -# include -# define inb(port) inp((unsigned short)(port)) -# define inw(port) inpw((unsigned short)(port)) -# define outb(port,b) outp((unsigned short)(port),b) -# define outw(port,w) outpw((unsigned short)(port),(unsigned short)(w)) -#pragma warning (disable: 4761) -#pragma warning (disable: 4242) -#pragma warning (disable: 4244) -#define ulong64 unsigned __int64 -#else - -/* - * Linux - */ -#ifdef __linux__ -# undef REALLY_SLOW_IO -# include /* should swap outb() arguments */ -# include -# include - static inline void __ddk_outb (unsigned port, unsigned char byte) - { outb (byte, port); } - static inline void __ddk_outw (unsigned port, unsigned short word) - { outw (word, port); } -# undef outb -# undef outw -# define outb(port,val) __ddk_outb(port, val) -# define outw(port,val) __ddk_outw(port, val) -# define GETTICKS() (jiffies * 200 / 11 / HZ) -#else - -/* - * FreeBSD and BSD/OS - */ -#ifdef __FreeBSD__ -# include -# include -# include -# include -# define port_t int - -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif -#endif - -#endif -#endif -#endif - -#ifndef inline -# ifdef __CC_SUPPORTS___INLINE__ -# define inline __inline__ -# else -# define inline /**/ -# endif -#endif - -#ifndef ulong64 -#define ulong64 unsigned long long -#endif Index: sys/dev/ce/ng_ce.h =================================================================== --- sys/dev/ce/ng_ce.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Defines for Cronyx Tau32-PCI adapter driver. - * - * Copyright (C) 2004 Cronyx Engineering. - * Copyright (C) 2004 Kurakin Roman, - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations a permission to use, - * modify and redistribute this software in source and binary forms, - * as long as this message is kept with the software, all derivative - * works or modified versions. - * - * $Cronyx: ng_ce.h,v 1.2 2005/04/23 20:11:57 rik Exp $ - * $FreeBSD$ - */ - -#ifndef _CE_NETGRAPH_H_ -#define _CE_NETGRAPH_H_ - -#define NG_CE_NODE_TYPE "ce" -#define NGM_CE_COOKIE 1083172653 -#define NG_CE_HOOK_RAW "rawdata" -#define NG_CE_HOOK_DEBUG "debug" - -#endif /* _CE_NETGRAPH_H_ */ Index: sys/dev/ce/tau32-ddk.c =================================================================== --- sys/dev/ce/tau32-ddk.c +++ /dev/null @@ -1,4338 +0,0 @@ -/* - * DDK (Driver Development Kit) for Cronyx Tau32-PCI adapter. - * - * Copyright (C) 2003-2006 Cronyx Engineering, http://www.cronyx.ru - * All rights reserved. - * - * Author: Leo Yuriev , http://leo.yuriev.ru - * - * This software is distributed with NO WARRANTIES, not even the implied - * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Authors grant any other persons or organisations a permission to use, - * modify and redistribute this software in source and binary forms, - * as long as this message is kept with the software, all derivative - * works or modified versions. - * - * !!! DO NOT EDIT THIS FILE, - * IT IS GENERATED AUTOMATICALY FROM DDK SOURCES !!! - * - * $Cronyx: tau32-ddk.comment,v 1.1 2006/02/01 09:15:26 ly Exp $ - * $Rik: tau32-ddk.c,v 1.8 2006/02/28 22:33:37 rik Exp $ - */ - -#include -__FBSDID("$FreeBSD$"); - -#ifndef __noinline -# ifdef __GNUC__ -# if __GNUC__ >= 3 -# define __noinline __attribute__((noinline)) -# else -# define __noinline -# endif -# else -# define __noinline __declspec(noinline) -# endif -#endif - -#ifdef __GNUC__ -# ifndef __stdcall -# define __stdcall __attribute__((stdcall)) -# endif -# ifndef __fastcall -# define __fastcall __attribute__((stdcall, regparm(3))) -# endif -# ifndef __forceinline -# if __GNUC__ >= 3 -# define __forceinline __inline__ __attribute__((always_inline)) -# else -# define __forceinline __inline__ -# endif -# endif -# ifndef ASSUME -# define ASSUME(x) {} -# endif -#else -# ifndef ASSUME -# define ASSUME(x) __assume(x) -# endif -#endif - -#if !defined(__builtin_expect) || !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -# define __builtin_expect(x,y) (x) -#endif -/* - Obfuscated by COBF (version 1.06 2004-09-09 by BB/Ly) at Tue Feb 21 20:27:00 2006 -*/ -typedef struct qjBs22{unsigned char lPHda,g5AWi;unsigned char IG7lN3, -GISTQ2;}Rf7MZ2;typedef unsigned char ZvgAS1[0140];typedef struct -bUn1g2{unsigned char CCKdO2,HZ1wC3;unsigned char XmIKi3;}Drk7M4; -typedef struct hmPCQ4 kWMzp1;typedef struct a7Wgv QDNE6;typedef struct -M32Pg1 oSdJm;typedef union GmdgD3 GFihS3;typedef struct vVvN92 aVC_r1 -;typedef void(__attribute__((cdecl)) *ypUaz)(oSdJm*WZ0in2,QDNE6* -a02Gz4);typedef void(__attribute__((cdecl)) *nEC5K2)(oSdJm*WZ0in2,int -VgzJp1,unsigned CE5Mv);typedef void(__attribute__((cdecl)) *MhiF14)( -oSdJm*WZ0in2,int b9Zs_,unsigned UYtd71,unsigned iBs7A2);typedef void( -__attribute__((cdecl)) *cLIGU1)(oSdJm*WZ0in2,aVC_r1*Psq0V3);union -GmdgD3{unsigned long c2Xt35,h5sB05;};struct vVvN92{void*bPudJ3; -unsigned long Mm5QG4;unsigned LigBO2,ZGMLO4,G4lKW2;unsigned n1IfW3, -hJ2ft1,iwn402;cLIGU1 JbjvO4;};typedef struct HLLm6{unsigned long -lpVV64;unsigned long smyqr;unsigned long QV1Pb3;unsigned long mZSLK1; -unsigned long zwLFt3;unsigned long ounCU4;unsigned long _xj3V4; -unsigned long H4ghS2;unsigned long yTR5N3[4u];}RUTWu4;struct M32Pg1{ -kWMzp1*kK4Tl;unsigned long jDVZJ2;void*Y3IxL2;nEC5K2 b_7cQ4;nEC5K2 -yjdp7;void*u6eGG1;unsigned EFekl2;int QhwfE1;int NNm8q;unsigned cJw4g2 -;unsigned long RMAeN;unsigned jfimS4;unsigned eR4Uq4;unsigned c7Vnu1; -unsigned U6oXn4;RUTWu4 io7IZ3[2];};struct a7Wgv{void*bPudJ3;unsigned -QvZLK;ypUaz JbjvO4;unsigned long j5MYx;union{unsigned jzTeK2;struct{ -unsigned LigBO2;unsigned long sxr445;unsigned long kF78X1;}NNh015; -struct{int b9Zs_;unsigned long sxr445;unsigned long W0jOn2;}gMQg82; -struct{unsigned LigBO2;unsigned long Avyuu1;unsigned Fcabx;unsigned -BLFVJ4;}uwYQG1;struct{unsigned LigBO2;unsigned long Avyuu1;unsigned -r9yJB;unsigned n1IfW3;int bc1R53;}JI0PC2;int Or9Ds4;union{Rf7MZ2 -duPf84[32];unsigned long M__vR3[32];}sN5Zi1;}NpyOc1;};void -__attribute__((cdecl))TAU32_BeforeReset(oSdJm*YRHFy);int __attribute__ -((cdecl))TAU32_Initialize(oSdJm*YRHFy,int FH0RH2);void __attribute__( -(cdecl))TAU32_DestructiveHalt(kWMzp1*kK4Tl,int mdbib4);int -__attribute__((cdecl))TAU32_IsInterruptPending(kWMzp1*kK4Tl);int -__attribute__((cdecl))TAU32_HandleInterrupt(kWMzp1*kK4Tl);extern -unsigned const TAU32_ControllerObjectSize;void __attribute__((cdecl))TAU32_EnableInterrupts -(kWMzp1*kK4Tl);void __attribute__((cdecl))TAU32_DisableInterrupts( -kWMzp1*kK4Tl);int __attribute__((cdecl))TAU32_SubmitRequest(kWMzp1* -kK4Tl,QDNE6*wkiYO4);int __attribute__((cdecl))TAU32_CancelRequest( -kWMzp1*kK4Tl,QDNE6*wkiYO4,int pTM6S);void __attribute__((cdecl))TAU32_LedBlink -(kWMzp1*kK4Tl);void __attribute__((cdecl))TAU32_LedSet(kWMzp1*kK4Tl, -int xkMXp);int __attribute__((cdecl))TAU32_SetCasIo(kWMzp1*kK4Tl,int -qUKv12);unsigned long long __attribute__((cdecl))TAU32_ProbeGeneratorFrequency -(unsigned long long rMB_y4);unsigned long long __attribute__((cdecl))TAU32_SetGeneratorFrequency -(kWMzp1*kK4Tl,unsigned long long rMB_y4);int __attribute__((cdecl))TAU32_SetSyncMode -(kWMzp1*kK4Tl,unsigned JzUUv2);int __attribute__((cdecl))TAU32_SetCrossMatrix -(kWMzp1*kK4Tl,unsigned char*eCQDF,unsigned long m45Hf);int -__attribute__((cdecl))TAU32_SetIdleCodes(kWMzp1*kK4Tl,unsigned char* -PTDns3);int __attribute__((cdecl))TAU32_UpdateIdleCodes(kWMzp1*kK4Tl, -int b9Zs_,unsigned long dJtvs,unsigned char vxVZP);int __attribute__( -(cdecl))TAU32_SetSaCross(kWMzp1*kK4Tl,Drk7M4 Uwhrn4);int __attribute__ -((cdecl))TAU32_FifoPutCasAppend(kWMzp1*kK4Tl,int b9Zs_,unsigned char* -X3ca,unsigned IOwwG2);int __attribute__((cdecl))TAU32_FifoPutCasAhead -(kWMzp1*kK4Tl,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2);int -__attribute__((cdecl))TAU32_FifoGetCas(kWMzp1*kK4Tl,int b9Zs_, -unsigned char*X3ca,unsigned IOwwG2);int __attribute__((cdecl))TAU32_FifoPutFasAppend -(kWMzp1*kK4Tl,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2);int -__attribute__((cdecl))TAU32_FifoPutFasAhead(kWMzp1*kK4Tl,int b9Zs_, -unsigned char*X3ca,unsigned IOwwG2);int __attribute__((cdecl))TAU32_FifoGetFas -(kWMzp1*kK4Tl,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2);int -__attribute__((cdecl))TAU32_SetFifoTrigger(kWMzp1*kK4Tl,int b9Zs_, -unsigned UYtd71,unsigned iBs7A2,MhiF14 IkJYR1);void __attribute__(( -cdecl))TAU32_ReadTsc(kWMzp1*kK4Tl,GFihS3*Q7gY12);unsigned long -__attribute__((cdecl))TAU32_Diag(kWMzp1*kK4Tl,unsigned Smebz2, -unsigned long a0Zcs);typedef struct mv21h{unsigned char E7Ual2,W4f921 -,kgEeY3,_Oqi51,x2RgK4,PBtXm1,TIQMZ1,AuCs73;unsigned char DDAs81, -Q1iXV3,DvwSz1,VPJzO1;unsigned char JhCor3;unsigned long wGgJV2,aW7n84 -;}j0BDS4;typedef struct ZGIPW{unsigned char E7Ual2,W4f921,kgEeY3, -_Oqi51,x2RgK4,PBtXm1,TIQMZ1,AuCs73;unsigned char DDAs81,Q1iXV3,DvwSz1 -,VPJzO1;unsigned char JhCor3;unsigned long wGgJV2,aW7n84;unsigned long -x8DWY2,oWLOw3;unsigned char mHM361[32],FNU7M3[16],jf4g9;}s5rwo1; -typedef struct Ed2jH{unsigned long fVNme,ELKAp3,KQKqV1, *PnawH; -volatile unsigned long GhexM2;unsigned long EbhBp3;MhiF14 IkJYR1; -unsigned char BC6Zd3[256];}iOPn3;__forceinline static unsigned bdVLJ3 -(volatile unsigned long*RdZoN,const unsigned char*mmXTK1,unsigned -NZbNW4);__forceinline static unsigned RtiEy4(volatile unsigned long* -RdZoN,unsigned kKiv65);__forceinline static void AUUSL3(volatile -unsigned long*RdZoN,unsigned kKiv65,unsigned vgKFx2);__forceinline -static void Ae0Cg2(unsigned Uya4h,volatile unsigned long*RdZoN, -unsigned kKiv65,unsigned vgKFx2);__forceinline static unsigned _ozJC4 -(unsigned Uya4h,volatile unsigned long*RdZoN,unsigned kKiv65); -__forceinline static unsigned lmuOy2(unsigned Uya4h,volatile unsigned -long*RdZoN,unsigned kKiv65);__noinline static void __fastcall BucKo( -volatile unsigned long*RdZoN,unsigned kKiv65,unsigned vgKFx2); -__noinline static unsigned __fastcall SlE234(volatile unsigned long* -RdZoN,unsigned kKiv65);__noinline static unsigned __fastcall dMM0e1( -volatile unsigned long*RdZoN,unsigned kKiv65);__noinline static void -__fastcall HcALQ1(volatile unsigned long*RdZoN,unsigned kKiv65, -unsigned long vgKFx2);__noinline static unsigned long __fastcall BLq4p -(volatile unsigned long*RdZoN,unsigned kKiv65);__noinline static void -__fastcall AErNL3(kWMzp1*J7Iki4);__noinline static void __fastcall -s3sCI1(volatile unsigned long*RdZoN,unsigned kKiv65,unsigned vgKFx2); -__noinline static unsigned __fastcall fFvjz3(volatile unsigned long* -RdZoN,unsigned kKiv65);__noinline static unsigned __fastcall NHDsK3( -volatile unsigned long*RdZoN,unsigned kKiv65);__noinline static void -__fastcall Rqv1w3(volatile unsigned long*RdZoN,unsigned kKiv65, -unsigned long vgKFx2);__noinline static unsigned long __fastcall -sl0aO1(volatile unsigned long*RdZoN,unsigned kKiv65);__noinline static -void __fastcall tsz3n4(kWMzp1*J7Iki4);__noinline static void -__fastcall IoSy32(kWMzp1*J7Iki4,unsigned kKiv65,unsigned vgKFx2); -__noinline static void __fastcall B1Wc_1(kWMzp1*kK4Tl);__forceinline -static int Mrgr62(unsigned gMQg82,unsigned long _xQyf,j0BDS4*Z0e1C2); -__forceinline static void UWXL71(kWMzp1*J7Iki4);static int qWaP5( -kWMzp1*J7Iki4);static void w_2xo4(kWMzp1*UXeiG3);__noinline static -void GLE_s4(kWMzp1*kK4Tl,int NNm8q);__forceinline static int Ji6_v2( -unsigned UYtd71,iOPn3*xb5nq1,unsigned char*X3ca,unsigned IOwwG2); -__forceinline static int X9u3r2(unsigned UYtd71,iOPn3*xb5nq1,unsigned -char*X3ca,unsigned IOwwG2);__forceinline static int usMAR(unsigned -UYtd71,iOPn3*xb5nq1,unsigned char*X3ca,unsigned IOwwG2);__forceinline -static void cYVI15(unsigned UYtd71,iOPn3*xb5nq1);__forceinline static -int HAuYS2(unsigned UYtd71,iOPn3*xb5nq1);__forceinline static void -vUYb92(unsigned UYtd71,unsigned vLSs_1,iOPn3*xb5nq1,kWMzp1*UXeiG3,int -b9Zs_);__forceinline static void r_RoY4(unsigned UYtd71,iOPn3*xb5nq1); -__forceinline static void CDXHr1(iOPn3*xb5nq1,unsigned iBs7A2,MhiF14 -IkJYR1);__noinline static void DhumT2(kWMzp1*kK4Tl,volatile unsigned -long*RdZoN,int aKuBh3);__noinline static unsigned long __fastcall -xjK0y2(volatile unsigned long*RdZoN);__noinline static unsigned -__fastcall WqCeB2(kWMzp1*UXeiG3);__forceinline static void h2LrH3( -volatile long*gJqKI){__asm __volatile("lock; decl %0;":"=m"(gJqKI[0]): -"m"(gJqKI[0]));}__forceinline static void wP7Tk3(volatile long*gJqKI){ -__asm __volatile("lock; decl %0;" "je 1f;" "int $3;" "1:":"=m"(gJqKI[ -0]):"m"(gJqKI[0]));}__forceinline static void uYS5N2(volatile long* -gJqKI){__asm __volatile("lock; incl %0":"=m"(gJqKI[0]):"m"(gJqKI[0])); -}__forceinline static void OeCZm2(volatile long*gJqKI){__asm -__volatile("cmpl $1, %0;" "je 1f;" "int $3;" "1:":"=m"(gJqKI[0]):"m"( -gJqKI[0]));}enum Y59T82{KZEMj4=01u<<0,qS5lW1=1u<<0x2,D1OxN4=01u<<04, -CeDcj3=01u<<6,zJyAP1=0x1u<<0x8,vC4oo=1u<<012,KZp71=0x1u<<014,eKIU_4= -0x1u<<016,p9baI3=CeDcj3|zJyAP1|vC4oo};struct SNgFR3;static int WQjAp4 -(kWMzp1*J7Iki4,QDNE6*a02Gz4,struct SNgFR3*esWTk2);static int xnb4g3( -kWMzp1*J7Iki4,QDNE6*a02Gz4,struct SNgFR3*esWTk2);__forceinline static -void fk7g83(kWMzp1*UXeiG3){GLE_s4(UXeiG3,(-01));}__forceinline static -void Vtxp55(kWMzp1*UXeiG3){GLE_s4(UXeiG3,(-1));}__forceinline static -void N5Uxq(kWMzp1*UXeiG3){GLE_s4(UXeiG3,(-1));}typedef struct a3Tyk1{ -void*pBSeu3, *WHQ_F1;}r03RA1; -#pragma pack(4) -enum t7TM23{KahAO3=0,ZbGWr3=0x1,UDBom4=02,ALDl73=3,gFcu54=05,Fv3Q52=6 -};typedef union eBDs3{struct{unsigned:0x2;unsigned tgsPg:1;unsigned -MiEVK2:0x3;unsigned vkd5K4:01;unsigned:01;unsigned k18ZY3:5;unsigned: -1;unsigned a7_mx4:0x1;unsigned in:0x1;}V9ej93;unsigned long dZK6h3;} -fjJFe;enum ooAwi4{wXT2N2=0,A93PI1=4,hQBcc1=05,Eca0e4=06,_ZUUf=0x8, -yfHHm3=011,rKQwU4=012};typedef union XW9Wk2{struct{unsigned oDDgs2: -010;unsigned aUfOe1:5;unsigned KJYtb1:1;unsigned:0x2;unsigned B3FTZ: -0x8;unsigned dQ5DX:5;unsigned iGfEm1:0x1;unsigned:2;}V9ej93;unsigned -long m4orV4;}eU6Lk2;enum c2zve{Keg62=0,_qLu61=01,bWIkq=0x2,erjzp3=3}; -enum ws_Fn2{Jry9D1=0x1,InZ58=2,zYrRf4=4,UsDI23=0x8,oKUjX2=16,tyWsL1= -32,hOtzj=64,vvbK44=128,OuIaM2=0,VHvU93=Jry9D1,g5zpH4=InZ58,RQJum= -InZ58|Jry9D1,Xlqk=hOtzj,aCIS84=hOtzj|Jry9D1,TzyBa1=Jry9D1|hOtzj|InZ58 -,OULAA3=0,T8skA=UsDI23,s9FHT4=oKUjX2,Nt0Ut1=oKUjX2|UsDI23,BhIif3= -tyWsL1,aez0x4=tyWsL1|UsDI23|vvbK44,EIMqn1=zYrRf4,WAyh21=UsDI23|tyWsL1 -|oKUjX2|zYrRf4|vvbK44};enum pSVTD{cv_9R4=128,TZPQi3=64,QnuE7=32, -DlZKQ4=16,iypdS2=0x8,psOxv1=04,WDh6T=0x2,DokQ43=1};typedef union -NClkL3{struct{unsigned rwHIy4:0x1;unsigned L221t4:0x2;unsigned t0Vn23 -:0x1;unsigned ltzXg3:02;unsigned L8vCo2:01;unsigned knaph4:01; -unsigned xk8cK4:010;unsigned D1JXh:010;unsigned LoGHc4:010;}V9ej93; -unsigned long dZK6h3;}gXydj1;typedef union gbrGo{struct{unsigned aF6cv -:6;unsigned:26;}V9ej93;unsigned long dZK6h3;}uEltX4;typedef struct -cRMcR4{gXydj1 xFtBP;unsigned long xzeKf3;unsigned long FdyFT1;uEltX4 -ZevQC2;}inWLN1;typedef struct enZxZ3{fjJFe ees1n1;unsigned long BPohy2 -;unsigned long sKHDc3;eU6Lk2 ZKJvS1[32];inWLN1 rGUtq3[32];volatile -unsigned long AC5eU1[32];volatile unsigned long ZuiJe3[32];}YHU1I; -typedef struct lgZa84{fjJFe ees1n1;inWLN1 j8_u62,DNNWJ3;volatile -unsigned long Kilil2,Z35Ro4;volatile unsigned long g2ZUd3,APQ145;} -gLUQo;typedef union famf93{struct{unsigned flmi45:0x1;unsigned Se_Ax2 -:01;unsigned:2;unsigned hnDyd2:1;unsigned:013;unsigned DIsNz1:16;} -V9ej93;unsigned long dZK6h3;}fo2Uz3;typedef struct zV8VZ1{union{ -unsigned long dZK6h3;struct{unsigned xM_3h3:1;unsigned oBxYC2:01; -unsigned aEuur1:02;unsigned P0HsD2:1;unsigned VUMo65:1;unsigned DpFo_ -:1;unsigned uOtgs4:01;unsigned cWwbw:1;unsigned:027;}V9ej93;}e6VgP3; -unsigned long y8QlL;unsigned long Be1a54;unsigned long P3rGX3; -unsigned long W1Jla4;unsigned long USKhR2;unsigned long r_aQn; -unsigned long HEFHK;union{unsigned long dZK6h3;struct{unsigned ohoqe3 -:13;unsigned buTDY1:1;unsigned KfMd1:1;unsigned I9g9T1:0x1;unsigned -yA8D32:3;unsigned YcoYR3:3;unsigned kz_Xg4:0x3;unsigned a17ei2:0x3; -unsigned vkvip:0x4;}V9ej93;}x2akp;union{unsigned long dZK6h3;struct{ -unsigned PmhvS2:1;unsigned bwTTK3:0x1;unsigned jh_B04:1;unsigned -Aj3Sz3:0x1;unsigned n_hAy:1;unsigned npczE3:01;unsigned Vu5Pf4:0x1; -unsigned QNnjG2:01;unsigned H7MIV3:0x1;unsigned:07;unsigned:16;} -V9ej93;}IBcfz;unsigned long uWETN2;unsigned long BEfdP;unsigned long -JVax01;unsigned long o6C8s2;unsigned long _BCMS3;unsigned long ErtY2; -unsigned long PGh3e4;unsigned long q6r1b3;unsigned long SudMT3; -unsigned long Bpn7w1;unsigned long YosKg1;unsigned long eg17p3; -unsigned long XPQnv1;unsigned long GiK3J1;unsigned long lHsjw1; -unsigned long oU5TM;unsigned long smnR45;unsigned long pPgqe2; -unsigned long ZCWMs2;unsigned long ouy3Q;unsigned long YOy672; -unsigned long euuEB1;unsigned long Sqi0T3;unsigned long UyRVB4; -unsigned long JRLuV2;unsigned long ekrSG;unsigned long vEeS92; -unsigned long nhy0Y;unsigned long MVwig1;unsigned long Jd3Ub2; -unsigned long evktq4;unsigned long dyDHu2;unsigned long LZLYn; -unsigned long t2pBR2;unsigned long A1jmR4;unsigned long CvU4o2; -unsigned long MNIUU;unsigned long vTOaq1;unsigned long ZDwa01; -unsigned long St8W34;unsigned long HLZik4;unsigned long ujVVT; -unsigned long VUIQl;unsigned long qo8eL;unsigned long MmVgu;unsigned -long p0yVj4;unsigned long RJVHy4;unsigned long UgbwG3;unsigned long -plScs1;unsigned long tSIGF3;unsigned long y3yr7;unsigned long HJfJJ; -unsigned long R52Qw3;unsigned long QiJJ6;}LbJOV;enum s6cvt3{C10QV= -32768ul,j0Yx9=16384ul,rW82M=8192ul,IX4CM3=4096ul,E4BIm1=2048ul,R7mNX2 -=1024ul,lPIbL4=512ul,u8Ob41=256ul,nPH824=128ul,gQf6j1=64ul,w9B8P4= -32ul,kCJ6a1=16ul,zbora1=0x8ul,dVahx4=04ul,Sptqu=02ul,r3CcP2=01ul}; -typedef union y5A4M3{struct{unsigned:16;unsigned Hqc15:015;unsigned -WtICk3:0x1;unsigned DEVTm4:0x1;unsigned:1;}V9ej93;unsigned long T21Gw2 -;}QxFc22;typedef union _frtg{struct{unsigned:8;unsigned z1nNq2:1; -unsigned hAxq53:01;unsigned Gp2G51:0x1;unsigned ETBla3:01;unsigned -pJ7gv1:1;unsigned Hw1x02:1;unsigned TbIRU3:0x1;unsigned:01;unsigned -ssopP1:015;unsigned:0x1;unsigned Vmiuc3:01;unsigned oeReu4:01;}V9ej93 -;unsigned long h80jx1;}QiOkk4;typedef struct Cxl7q3{QxFc22 ixItX3; -unsigned long eSf3B1;unsigned long agWoi2;QiOkk4 Yj6gL2;}lYL9e1; -typedef union dr2NC{struct{unsigned C9HLP2:013;unsigned TtJ5j4:01; -unsigned Ww9nZ4:1;unsigned:2;unsigned Oo9ZQ2:01;unsigned Hqc15:015; -unsigned WtICk3:01;unsigned DEVTm4:0x1;unsigned oeReu4:01;}V9ej93; -unsigned long dZK6h3;}BknPf3;typedef struct FD8Md1{BknPf3 _8WVQ2; -unsigned long eSf3B1;unsigned long agWoi2;unsigned long l6FLs;}TchrS; -typedef union Yfo3j1{struct{unsigned hj5891:05;unsigned okHyr3:1; -unsigned LaMny4:1;unsigned nDLY04:01;unsigned GrYG41:0x1;unsigned:0x2 -;unsigned KYiBO3:0x1;unsigned WtICk3:0x1;unsigned:0x3;unsigned:010; -unsigned ADaUw:010;}V9ej93;unsigned long dZK6h3;}cbk1I1;typedef union -U8qqH3{struct{unsigned hj5891:5;unsigned:0x2;unsigned nDLY04:0x1; -unsigned GrYG41:01;unsigned TbIRU3:0x1;unsigned eBc9w4:01;unsigned -KYiBO3:1;unsigned WtICk3:0x1;unsigned _yZbF3:0x1;unsigned k3d_u3:1; -unsigned LZZGY4:1;unsigned Jc8gF1:01;unsigned PSlSv3:0x1;unsigned -uj5UX4:1;unsigned qO2CE1:1;unsigned GH_613:01;unsigned IwMsS4:0x1; -unsigned mCVW71:1;unsigned Ttri:0x1;unsigned ADaUw:0x8;}V9ej93; -unsigned long dZK6h3;}IxW_32;typedef union kT_9e2{struct{unsigned -NvHo73:24;unsigned ADaUw:8;}V9ej93;unsigned long dZK6h3;}fTG_T4;enum -TqcJI3{eORWN1=32,SaEs82=48,KI_rp3=0140,X6nSb1=112,Jto621=0xb0,A_8_i1= -0xa0,Znzp11=0xa1,RhTls2=144,tRnkz1=145,anpXO2=133};enum bmwN91{tXFTB4 -,wTSMD1,Wa6IF1,cy2jE4};enum qr8nF2{blWHd2,csvRg2,auwjC,XlFgj4,JFrCi4, -PpoEe4};struct FtjYA4;struct SNgFR3;struct _YcFb4;struct K0Kz1; -typedef struct K0Kz1{struct SNgFR3*pBSeu3, *WHQ_F1;}OWsiH1;typedef -struct FtjYA4{union{TchrS fbiOR4;lYL9e1 SpbRG4;unsigned long m4orV4[ -04];struct{union{struct{unsigned:16;unsigned Hqc15:13;unsigned WtICk3 -:0x1;unsigned DEVTm4:01;unsigned:1;}V9ej93;unsigned long T21Gw2;} -_8WVQ2;unsigned long eSf3B1;unsigned long agWoi2;unsigned long h80jx1 -;}zACHc3;}_8WVQ2;unsigned long MDSlK2;struct FtjYA4*Lrwko2;struct -FtjYA4*OXCDa4;struct SNgFR3*wkiYO4;}tJ1Kb4;typedef union diBnr1{ -struct{unsigned Y81UE3:010;unsigned fbiOR4:01;unsigned SpbRG4:01; -unsigned O6kQX4:0x1;unsigned XpfBS:0x1;unsigned cw78L3:0x4;}V9ej93; -unsigned short dZK6h3;}ErbGq4;enum dUSVs{LqFyN,PxKBA2,ll1kg3,d5Rc74, -LR7D_3,In2Nl4,w3eQb2,FqrfM3,HMsf02,p_EZu3,b4O7W4,cXuz63,OKQI31}; -typedef struct SNgFR3{int Xx6Ti3;QDNE6*a02Gz4;struct{struct SNgFR3* -OXCDa4, *neQ2f1;struct FtjYA4*GEbPX4, *qXXnD2;unsigned yjr7l4;}NpyOc1 -;struct{struct SNgFR3*OXCDa4, *neQ2f1;unsigned pT8M75,gfIP34,LigBO2; -ErbGq4 daUKU2[014];}woMv11;struct{j0BDS4 C6yEr1;unsigned G15W41;} -tQcig;}DCf0T2;struct hmPCQ4{unsigned long Sc2KG4;YHU1I Rc7LY4; -unsigned long HQW5W1;gLUQo gCRyd3;volatile LbJOV*fV7o35;unsigned long -Cga1V;tJ1Kb4*vCi6J4;tJ1Kb4*ykU1G2;DCf0T2*QLWyF2;unsigned MLZ_Y,yODLB3 -,OkoqJ1;volatile unsigned long KMSZr2[(256*2)];volatile unsigned long -Ragva2[(256*02)];volatile fTG_T4 n76Wf1[(256*2)];OWsiH1 CUhqx4;OWsiH1 -Nlajt1;eU6Lk2 ScZIu[32];struct{unsigned long v9yTK4;unsigned long -twfX61;unsigned long s_Lmx3;unsigned long X_sGC1,dJbtz4;}ZWSDs2; -tJ1Kb4*RZWDZ2[32];tJ1Kb4*PGmy4[32];DCf0T2*eWAnF[32];int nCdFc[32];int -mNYxW2[32];int nvFyD4[32];int l_AcZ[32];unsigned LFVWc4[32];unsigned -zM0Qt3[32];OWsiH1 pnKue2[32];OWsiH1 _jfrJ1[32];unsigned v1h0c2[32]; -Rf7MZ2 FmCLm3[32];oSdJm*YRHFy;unsigned char MIvbE3,qWRLr4;unsigned -char DL14H3;unsigned char iTAD3;unsigned char QIA5L;unsigned char -vDEWd3;unsigned char jXwP42;unsigned char TrqaA;unsigned long F46242; -unsigned long a6vkI2;enum qr8nF2 uyKJn2;int SP4ZU;unsigned GEt0d; -unsigned iO1iw4[02];s5rwo1 v6D2d3[2];ZvgAS1 P9UkM1[2];unsigned char* -veMrO;unsigned char*bNfmc1;ZvgAS1 xOYSq1;unsigned char jyElQ3[2][32]; -unsigned HtJEJ;volatile long h2LrH3;unsigned jfimS4;unsigned long -hBew43;iOPn3*hRUi43[2][0x4];struct{iOPn3 KqthD[04];unsigned H4ghS2;} -oXafA1[2];DCf0T2 ikuha3[512];tJ1Kb4 MEYPf1[(8+0x1) *32*2+32*2+32]; -unsigned char qs0N02[512];};static void E2DoN1(kWMzp1*J7Iki4,void* -dYe4I2,void*r49eY4,unsigned long Cga1V,oSdJm*YRHFy,nEC5K2 Gb8Is4); -static void c0gFy1(kWMzp1*J7Iki4,int mdbib4);static void CLbj94( -kWMzp1*J7Iki4){J7Iki4->fV7o35->P3rGX3=~0ul;}static int i_1fA2(kWMzp1* -J7Iki4,QDNE6*wkiYO4);static int QrVoB3(kWMzp1*J7Iki4,QDNE6*wkiYO4,int -pTM6S);static int yoLEn3(kWMzp1*J7Iki4);static enum bmwN91 cWGy25( -kWMzp1*J7Iki4);static enum bmwN91 Plb1C3(kWMzp1*J7Iki4);static int -nIaSt(kWMzp1*J7Iki4);__forceinline static void mqe7E2(LbJOV*FaLJH2); -__noinline static unsigned char TFC2u3(kWMzp1*J7Iki4);__noinline -static void __fastcall mthh13(kWMzp1*J7Iki4,unsigned long p3Xgs1, -unsigned LigBO2);__forceinline static void lN6oU2(inWLN1*e0wGb1); -__forceinline static void gw6c82(kWMzp1*J7Iki4,unsigned M1Kp62); -__noinline static void __fastcall WdqxE(kWMzp1*J7Iki4,unsigned M1Kp62 -);__noinline static void __fastcall YBrPF4(kWMzp1*J7Iki4);__noinline -static void __fastcall SdYiI(kWMzp1*J7Iki4,DCf0T2*esWTk2);__noinline -static void gYC_T3(kWMzp1*J7Iki4,int LigBO2);__forceinline static int -Nq5gq(kWMzp1*J7Iki4,unsigned LigBO2);__noinline static tJ1Kb4*i3w1H( -kWMzp1*J7Iki4,unsigned LigBO2);__noinline static void q0ypK(kWMzp1* -J7Iki4,int LigBO2);__forceinline static int Kf8n_4(kWMzp1*J7Iki4, -unsigned LigBO2);__noinline static tJ1Kb4*O6fhT(kWMzp1*J7Iki4, -unsigned LigBO2);__noinline static void __fastcall z5sap1(kWMzp1* -J7Iki4,DCf0T2*esWTk2);__forceinline static void jsS_d1(kWMzp1*J7Iki4); -__forceinline static void fjOw35(kWMzp1*J7Iki4,unsigned LigBO2); -__forceinline static void u0bxl3(kWMzp1*J7Iki4,unsigned LigBO2); -__noinline static void __fastcall TR6nX1(kWMzp1*J7Iki4,unsigned LigBO2 -);__noinline static void __fastcall yn0bR1(kWMzp1*J7Iki4);static void -zfjz55(kWMzp1*J7Iki4,DCf0T2*esWTk2);__noinline static void UK8sN4( -kWMzp1*J7Iki4);__noinline static void jK7VQ3(kWMzp1*J7Iki4); -__noinline static void GV2iC4(kWMzp1*J7Iki4,unsigned LigBO2,unsigned -QvZLK);__noinline static void B7zr54(kWMzp1*J7Iki4,unsigned LigBO2, -unsigned QvZLK);__forceinline static void pxiAh4(kWMzp1*J7Iki4,DCf0T2 - *esWTk2,unsigned M1Kp62);__forceinline static void dfhdh3(kWMzp1* -J7Iki4,unsigned LigBO2,unsigned long*spClj2,unsigned long*xoXsZ); -__noinline static void og0xA1(kWMzp1*J7Iki4);static void __attribute__ -((const))nvqbt(void){__asm __volatile("repe; nop; repe; nop;" -"pushl %%ebx; repe; nop; repe; nop;" -"pushl %%ecx; repe; nop; repe; nop;" -"xorl %%eax, %%eax; repe; nop; repe; nop;" -"cpuid; repe; nop; repe; nop;" -"nop; repe; nop; repe; nop;" -"xorl %%eax, %%eax; repe; nop; repe; nop;" -"cpuid; repe; nop; repe; nop;" -"popl %%ecx; repe; nop; repe; nop;" -"popl %%ebx; repe; nop; repe; nop;": : :"%eax","%edx","cc");} -static const unsigned long sTQei1[32]={1ul<<0,0x1ul<<01,0x1ul<<02, -0x1ul<<3,01ul<<4,01ul<<5,01ul<<6,01ul<<7,01ul<<010,1ul<<011,0x1ul<< -012,01ul<<013,1ul<<014,01ul<<13,1ul<<14,01ul<<017,0x1ul<<16,1ul<<021, -01ul<<0x12,1ul<<19,01ul<<0x14,01ul<<21,1ul<<026,1ul<<027,1ul<<24,01ul -<<031,1ul<<0x1a,0x1ul<<0x1b,1ul<<034,1ul<<0x1d,0x1ul<<0x1e,0x1ul<<31} -;static const unsigned long OgFMa4[32]={~(0x1ul<<0),~(01ul<<01),~(1ul -<<2),~(0x1ul<<0x3),~(01ul<<04),~(1ul<<5),~(01ul<<06),~(1ul<<7),~( -0x1ul<<0x8),~(0x1ul<<011),~(0x1ul<<012),~(01ul<<013),~(0x1ul<<014),~( -01ul<<015),~(0x1ul<<14),~(1ul<<017),~(0x1ul<<16),~(1ul<<021),~(0x1ul -<<0x12),~(1ul<<023),~(1ul<<0x14),~(0x1ul<<0x15),~(0x1ul<<026),~(0x1ul -<<027),~(01ul<<0x18),~(01ul<<25),~(1ul<<26),~(1ul<<27),~(1ul<<0x1c),~ -(0x1ul<<0x1d),~(1ul<<036),~(1ul<<0x1f)};__forceinline static long -KAeao3(long volatile*aRTVj3,long f2E883){__asm __volatile( -"lock; xchgl %0,%1":"=r"(f2E883):"m"(aRTVj3[0]),"0"(f2E883));return -f2E883;}__forceinline static void RQO4U4(kWMzp1*J7Iki4){int X3V8j4; -J7Iki4->ZWSDs2.s_Lmx3=0;X3V8j4=32-0x1;{v2ePo:{J7Iki4->Rc7LY4.ZKJvS1[ -X3V8j4]=J7Iki4->ScZIu[X3V8j4];}if(--X3V8j4>=0)goto v2ePo;};} -__forceinline static int BTL3a(void*nIR_D4,void*fdzEO1,void*sWA1f4){ -return((unsigned char* )nIR_D4)>=((unsigned char* )fdzEO1)&&(( -unsigned char* )nIR_D4)<((unsigned char* )sWA1f4);}static int -__fastcall cFFDu1(OWsiH1*XNL6O3,DCf0T2*esWTk2){DCf0T2*wnE5k3;{wnE5k3= -XNL6O3->pBSeu3;zeNT65:if(!(wnE5k3!=0))goto MogYy;goto sMbS93;j12w52: -wnE5k3=wnE5k3->woMv11.OXCDa4;goto zeNT65;sMbS93:{if(!(wnE5k3==esWTk2))goto -ZVkKi4;return 01;ZVkKi4:;}goto j12w52;MogYy:;}return 0;}static int -__fastcall ppetC1(OWsiH1*XNL6O3,DCf0T2*esWTk2){DCf0T2*wnE5k3;{wnE5k3= -XNL6O3->pBSeu3;myHoB4:if(!(wnE5k3!=0))goto rAK0m;goto HWkUv3;eiT8Z3: -wnE5k3=wnE5k3->NpyOc1.OXCDa4;goto myHoB4;HWkUv3:{if(!(wnE5k3==esWTk2))goto -_djv13;return 01;_djv13:;}goto eiT8Z3;rAK0m:;}return 0;}__forceinline -static tJ1Kb4*osQ5M(kWMzp1*J7Iki4,unsigned long QB6LL){tJ1Kb4*Q7gY12; -;Q7gY12=(tJ1Kb4* )(((unsigned char* )J7Iki4)+QB6LL-J7Iki4->Cga1V); -return Q7gY12;}static void mqe7E2(LbJOV*FaLJH2){int X3V8j4;X3V8j4= -256/sizeof(unsigned)-0x1;{Nwbig2:{((unsigned* )FaLJH2)[X3V8j4]=0;}if( ---X3V8j4>=0)goto Nwbig2;};}__forceinline static void YqR582(LbJOV* -QD7sk4,volatile LbJOV*fV7o35){fV7o35->e6VgP3.dZK6h3=QD7sk4->e6VgP3. -dZK6h3;fV7o35->P3rGX3=QD7sk4->P3rGX3;fV7o35->USKhR2=QD7sk4->USKhR2; -;fV7o35->r_aQn=QD7sk4->r_aQn;fV7o35->x2akp.dZK6h3=QD7sk4->x2akp. -dZK6h3;fV7o35->IBcfz.dZK6h3=QD7sk4->IBcfz.dZK6h3;fV7o35->uWETN2= -QD7sk4->uWETN2;fV7o35->BEfdP=QD7sk4->BEfdP;fV7o35->JVax01=QD7sk4-> -JVax01;fV7o35->o6C8s2=QD7sk4->o6C8s2;fV7o35->_BCMS3=QD7sk4->_BCMS3; -;fV7o35->ErtY2=QD7sk4->ErtY2;fV7o35->PGh3e4=QD7sk4->PGh3e4;fV7o35-> -q6r1b3=QD7sk4->q6r1b3;fV7o35->YosKg1=QD7sk4->YosKg1;fV7o35->eg17p3= -QD7sk4->eg17p3;fV7o35->XPQnv1=QD7sk4->XPQnv1;fV7o35->GiK3J1=QD7sk4 -->GiK3J1;fV7o35->lHsjw1=QD7sk4->lHsjw1;fV7o35->oU5TM=QD7sk4->oU5TM; -;fV7o35->smnR45=QD7sk4->smnR45;fV7o35->pPgqe2=QD7sk4->pPgqe2;fV7o35 -->ZCWMs2=QD7sk4->ZCWMs2;fV7o35->ouy3Q=QD7sk4->ouy3Q;fV7o35->YOy672= -QD7sk4->YOy672;fV7o35->Sqi0T3=QD7sk4->Sqi0T3;fV7o35->UyRVB4=QD7sk4 -->UyRVB4;fV7o35->JRLuV2=QD7sk4->JRLuV2;fV7o35->vEeS92=QD7sk4-> -vEeS92;fV7o35->nhy0Y=QD7sk4->nhy0Y;fV7o35->MVwig1=QD7sk4->MVwig1; -fV7o35->evktq4=QD7sk4->evktq4;fV7o35->dyDHu2=QD7sk4->dyDHu2;fV7o35 -->A1jmR4=QD7sk4->A1jmR4;fV7o35->CvU4o2=QD7sk4->CvU4o2;fV7o35-> -ZDwa01=QD7sk4->ZDwa01;fV7o35->St8W34=QD7sk4->St8W34;fV7o35->RJVHy4= -QD7sk4->RJVHy4;fV7o35->UgbwG3=QD7sk4->UgbwG3;fV7o35->plScs1=QD7sk4 -->plScs1;fV7o35->tSIGF3=QD7sk4->tSIGF3;fV7o35->y3yr7=QD7sk4->y3yr7; -;fV7o35->HJfJJ=QD7sk4->HJfJJ;fV7o35->R52Qw3=QD7sk4->R52Qw3;fV7o35-> -QiJJ6=QD7sk4->QiJJ6;}__noinline static void __fastcall mthh13(kWMzp1 - *J7Iki4,unsigned long p3Xgs1,unsigned LigBO2){int X3V8j4=32-01;{ -vRxE54:{{if(!(p3Xgs1&sTQei1[X3V8j4]))goto RK1kA1;{J7Iki4->FmCLm3[ -X3V8j4].lPHda=(unsigned char)LigBO2;J7Iki4->FmCLm3[X3V8j4].g5AWi=( -unsigned char)LigBO2;J7Iki4->FmCLm3[X3V8j4].IG7lN3=(unsigned char)0xFFu -;J7Iki4->FmCLm3[X3V8j4].GISTQ2=(unsigned char)0xFFu;}goto OIUj41; -RK1kA1:;{{if(!(J7Iki4->FmCLm3[X3V8j4].lPHda==(unsigned char)LigBO2))goto -MkGn24;J7Iki4->FmCLm3[X3V8j4].lPHda=(unsigned char)0xFFu;MkGn24:;}{if -(!(J7Iki4->FmCLm3[X3V8j4].g5AWi==(unsigned char)LigBO2))goto XALmV1; -J7Iki4->FmCLm3[X3V8j4].g5AWi=(unsigned char)0xFFu;XALmV1:;}}OIUj41:;} -}if(--X3V8j4>=0)goto vRxE54;};}__noinline static unsigned char TFC2u3 -(kWMzp1*J7Iki4){unsigned char qwUGv3=0;int X3V8j4;J7Iki4->ZWSDs2. -s_Lmx3=0;X3V8j4=32-0x1;{Pq8Ms3:{register eU6Lk2 hzXIT2;hzXIT2.m4orV4= -0;{if(!(J7Iki4->FmCLm3[X3V8j4].g5AWi<32&&J7Iki4->FmCLm3[X3V8j4]. -GISTQ2!=0))goto rZeKl1;{hzXIT2.V9ej93.aUfOe1|=J7Iki4->FmCLm3[X3V8j4]. -g5AWi;hzXIT2.V9ej93.oDDgs2|=J7Iki4->FmCLm3[X3V8j4].GISTQ2;}goto S0xvx2 -;rZeKl1:;{hzXIT2.V9ej93.KJYtb1|=1;hzXIT2.V9ej93.aUfOe1|=32-0x1;} -S0xvx2:;}{if(!(J7Iki4->FmCLm3[X3V8j4].lPHda<32&&J7Iki4->FmCLm3[X3V8j4 -].IG7lN3!=0))goto CF8g_3;{hzXIT2.V9ej93.dQ5DX|=J7Iki4->FmCLm3[X3V8j4] -.lPHda;hzXIT2.V9ej93.B3FTZ|=J7Iki4->FmCLm3[X3V8j4].IG7lN3;}goto QOIUF2 -;CF8g_3:;{hzXIT2.V9ej93.iGfEm1|=01;hzXIT2.V9ej93.dQ5DX|=32-0x1;} -QOIUF2:;}J7Iki4->ScZIu[X3V8j4].m4orV4=hzXIT2.m4orV4;{if(!(hzXIT2. -m4orV4!=J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].m4orV4))goto A2riI1;{J7Iki4-> -ZWSDs2.s_Lmx3|=0|sTQei1[hzXIT2.V9ej93.dQ5DX]|sTQei1[hzXIT2.V9ej93. -aUfOe1]|sTQei1[J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].V9ej93.dQ5DX]|sTQei1[ -J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].V9ej93.aUfOe1];qwUGv3=0x1;}A2riI1:;}}if -(--X3V8j4>=0)goto Pq8Ms3;};return qwUGv3;}__forceinline static void -lN6oU2(inWLN1*e0wGb1){register gXydj1 P_XoQ1;P_XoQ1.dZK6h3=0;P_XoQ1. -V9ej93.D1JXh|=g5zpH4|s9FHT4|EIMqn1;e0wGb1->xFtBP.dZK6h3=P_XoQ1.dZK6h3 -;e0wGb1->ZevQC2.dZK6h3=0;}__forceinline static void VcwKo1(kWMzp1* -J7Iki4,unsigned LigBO2){lN6oU2(&J7Iki4->Rc7LY4.rGUtq3[LigBO2]);} -__forceinline static void gw6c82(kWMzp1*J7Iki4,unsigned M1Kp62){ -unsigned vuXVj1;register fo2Uz3 cfJmy1;{_Hn1b4:{__asm __volatile("" -::);__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm -__volatile(""::);}if(0)goto _Hn1b4;};J7Iki4->fV7o35->Be1a54=gQf6j1| -Sptqu|r3CcP2;vuXVj1=((M1Kp62<<3)+M1Kp62)<<011;{if(!(vuXVj1>0xFFFFul))goto -bAkfW4;vuXVj1=0xFFFFul;bAkfW4:;}cfJmy1.dZK6h3=0;cfJmy1.V9ej93.DIsNz1 -|=vuXVj1;cfJmy1.V9ej93.hnDyd2|=0x1;J7Iki4->uyKJn2=auwjC;J7Iki4-> -fV7o35->y8QlL=cfJmy1.dZK6h3;}__noinline static void __fastcall WdqxE( -kWMzp1*J7Iki4,unsigned M1Kp62){unsigned jSJ9c=02342*M1Kp62*02;gw6c82( -J7Iki4,M1Kp62);{wmgB11:{{if(!(--jSJ9c==0))goto ba_Y05;goto BbTsK4; -ba_Y05:;}nvqbt();__asm __volatile(""::);}if((J7Iki4->fV7o35->Be1a54& -gQf6j1)==0&&J7Iki4->uyKJn2==auwjC)goto wmgB11;BbTsK4:;};J7Iki4-> -fV7o35->y8QlL=0;J7Iki4->fV7o35->Be1a54=gQf6j1|Sptqu|r3CcP2;J7Iki4-> -uyKJn2=blWHd2;}__forceinline static void Zg2fI4(kWMzp1*J7Iki4, -unsigned long RcNOn){unsigned vuXVj1;register fo2Uz3 cfJmy1;{y_DM22: -{__asm __volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : : -"cc");__asm __volatile(""::);}if(0)goto y_DM22;};J7Iki4->fV7o35-> -Be1a54=Sptqu|r3CcP2|gQf6j1;J7Iki4->Rc7LY4.ees1n1.dZK6h3=RcNOn;cfJmy1. -dZK6h3=0;cfJmy1.V9ej93.flmi45|=1;vuXVj1=(unsigned)((32*8/2048000.0) * -16/(1.0/33000000.0)+1.5);{if(!(vuXVj1>0xFFFFul))goto TkL0e2;vuXVj1= -0xFFFFul;TkL0e2:;}cfJmy1.V9ej93.DIsNz1|=vuXVj1;cfJmy1.V9ej93.hnDyd2|= -1;J7Iki4->uyKJn2=csvRg2;J7Iki4->fV7o35->y8QlL=cfJmy1.dZK6h3;} -__noinline static int __fastcall TifAa1(kWMzp1*J7Iki4,unsigned long -RcNOn){unsigned Os1bA3;__asm __volatile(""::);J7Iki4->fV7o35->Be1a54= -~0u;Zg2fI4(J7Iki4,RcNOn);{qCMu6:if(!(1))goto JO5LW;{nvqbt();__asm -__volatile(""::);Os1bA3=J7Iki4->fV7o35->Be1a54;{if(!(Os1bA3&(Sptqu| -r3CcP2|gQf6j1)))goto XtTcj4;{J7Iki4->uyKJn2=blWHd2;J7Iki4->fV7o35-> -y8QlL=0;__asm __volatile(""::);J7Iki4->fV7o35->Be1a54=gQf6j1|Sptqu| -r3CcP2;__asm __volatile(""::);{if(!(Os1bA3&r3CcP2))goto t6up71;{ -return 1;}t6up71:;}{if(!(Os1bA3&Sptqu))goto Y96HU;{return 0;}Y96HU:; -}{if(!(Os1bA3&gQf6j1))goto vI2454;{return 0;}vI2454:;}}XtTcj4:;}} -goto qCMu6;JO5LW:;}}__forceinline static unsigned long WdFDP4(int -ui2QH1,int UF27x1,int Zo_mV2,unsigned hj5891,int b6tLK3,unsigned -i9Vca3){register fjJFe RcNOn;RcNOn.dZK6h3=0;{if(!(ui2QH1))goto x3hmy2 -;RcNOn.V9ej93.vkd5K4|=1;goto dsXls;x3hmy2:;{if(!(UF27x1))goto QzkCk4; -{RcNOn.V9ej93.in|=1;RcNOn.V9ej93.k18ZY3|=hj5891;}goto JOoAO4;QzkCk4:; -{if(!(Zo_mV2))goto y9rQG2;{RcNOn.V9ej93.a7_mx4|=01;RcNOn.V9ej93. -k18ZY3|=hj5891;}y9rQG2:;}JOoAO4:;}dsXls:;}{if(!(b6tLK3))goto FQ0Sx; -RcNOn.V9ej93.tgsPg|=1;FQ0Sx:;}{if(!(i9Vca3))goto UuhYR2;RcNOn.V9ej93. -MiEVK2|=i9Vca3;UuhYR2:;}return RcNOn.dZK6h3;}static tJ1Kb4*__fastcall -D77H33(kWMzp1*J7Iki4,DCf0T2*wkiYO4){{if(!(J7Iki4->vCi6J4!=J7Iki4-> -ykU1G2))goto SQx3H4;{tJ1Kb4*nusR52=J7Iki4->vCi6J4;J7Iki4->vCi6J4= -J7Iki4->vCi6J4->OXCDa4;{if(!(nusR52->_8WVQ2.zACHc3.eSf3B1))goto sdrb93 -;{tJ1Kb4*tfu023=osQ5M(J7Iki4,nusR52->_8WVQ2.zACHc3.eSf3B1);tfu023-> -Lrwko2=0;nusR52->_8WVQ2.zACHc3.eSf3B1=0;}sdrb93:;}nusR52->wkiYO4= -wkiYO4;nusR52->OXCDa4=0;nusR52->Lrwko2=0;nusR52->_8WVQ2.zACHc3.h80jx1 -=0;return nusR52;}SQx3H4:;}return 0;}__forceinline static void K5XcD( -kWMzp1*J7Iki4,tJ1Kb4*nusR52){nusR52->wkiYO4=0;nusR52->_8WVQ2.fbiOR4. -_8WVQ2.dZK6h3=1073741824ul|2147483648ul;nusR52->Lrwko2=0;nusR52-> -_8WVQ2.zACHc3.eSf3B1=0;nusR52->OXCDa4=0;nusR52->_8WVQ2.fbiOR4.agWoi2= -((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->qs0N02));}__forceinline -static void GjSDd(kWMzp1*J7Iki4,tJ1Kb4*nusR52){nusR52->wkiYO4=0; -nusR52->_8WVQ2.SpbRG4.ixItX3.T21Gw2=536870912ul|((512-4)<<16u);nusR52 -->_8WVQ2.SpbRG4.Yj6gL2.h80jx1=0;nusR52->Lrwko2=0;nusR52->_8WVQ2. -zACHc3.eSf3B1=nusR52->MDSlK2;nusR52->OXCDa4=0;nusR52->_8WVQ2.fbiOR4. -agWoi2=((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->qs0N02));} -__forceinline static void JbQTW(kWMzp1*J7Iki4,tJ1Kb4*nusR52){J7Iki4 -->ykU1G2->OXCDa4=nusR52;J7Iki4->ykU1G2=nusR52;nusR52->OXCDa4=0;} -static void cDkxL3(kWMzp1*J7Iki4,tJ1Kb4*nusR52,unsigned LigBO2){{if(! -(nusR52!=J7Iki4->RZWDZ2[LigBO2]))goto zS0kp1;JbQTW(J7Iki4,nusR52); -goto rHX2N;zS0kp1:;K5XcD(J7Iki4,nusR52);rHX2N:;}}static void -__fastcall uKg3m2(kWMzp1*J7Iki4,DCf0T2*esWTk2){{KwEok2:if(!(esWTk2-> -NpyOc1.GEbPX4))goto EzYjG;{tJ1Kb4*nusR52=esWTk2->NpyOc1.GEbPX4; -esWTk2->NpyOc1.GEbPX4=nusR52->OXCDa4;JbQTW(J7Iki4,nusR52);}goto -KwEok2;EzYjG:;}esWTk2->NpyOc1.qXXnD2=0;}static void LjWek1(kWMzp1* -J7Iki4,DCf0T2*esWTk2,unsigned LigBO2){{sqUio1:if(!(esWTk2->NpyOc1. -GEbPX4))goto NAhp63;{tJ1Kb4*nusR52=esWTk2->NpyOc1.GEbPX4;esWTk2-> -NpyOc1.GEbPX4=nusR52->OXCDa4;cDkxL3(J7Iki4,nusR52,LigBO2);}goto -sqUio1;NAhp63:;}esWTk2->NpyOc1.qXXnD2=0;}static void __fastcall fOVyT4 -(kWMzp1*J7Iki4,unsigned LigBO2,tJ1Kb4*nusR52){tJ1Kb4*WHQ_F1=J7Iki4-> -RZWDZ2[LigBO2];{IPAT8:if(!(!nusR52->_8WVQ2.fbiOR4._8WVQ2.V9ej93. -DEVTm4))goto hT3NM4;{nusR52=osQ5M(J7Iki4,nusR52->_8WVQ2.zACHc3. -eSf3B1);}goto IPAT8;hT3NM4:;}{if(!(nusR52==WHQ_F1))goto UvKJh;{ -return;}UvKJh:;}{TOrKU3:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -TOrKU3;};WHQ_F1->_8WVQ2.zACHc3.eSf3B1=nusR52->MDSlK2;__asm __volatile -("lock; btrl %1,%0":"=m"(WHQ_F1->_8WVQ2.zACHc3._8WVQ2.T21Gw2):"I"( -0x1e):"cc");__asm __volatile("andl %0,%1": :"r"(OgFMa4[LigBO2]),"m"( -J7Iki4->fV7o35->BEfdP):"cc");J7Iki4->RZWDZ2[LigBO2]=nusR52;nusR52-> -Lrwko2=(tJ1Kb4* )WHQ_F1;{if(!(WHQ_F1->wkiYO4==0))goto LowUb;{JbQTW( -J7Iki4,WHQ_F1);}LowUb:;}}static DCf0T2*__fastcall ITvPG2(kWMzp1* -J7Iki4){{if(!(__builtin_expect(J7Iki4->QLWyF2!=0,0x1)))goto PcBHe4;{ -DCf0T2*esWTk2=J7Iki4->QLWyF2;J7Iki4->QLWyF2=J7Iki4->QLWyF2->woMv11. -OXCDa4;esWTk2->Xx6Ti3=0;esWTk2->a02Gz4=0;esWTk2->woMv11.OXCDa4=esWTk2 -->woMv11.neQ2f1=0;esWTk2->NpyOc1.OXCDa4=esWTk2->NpyOc1.neQ2f1=0; -esWTk2->NpyOc1.GEbPX4=esWTk2->NpyOc1.qXXnD2=0;esWTk2->NpyOc1.yjr7l4=0 -;return esWTk2;}goto J8CgD1;PcBHe4:;return 0;J8CgD1:;}}__forceinline -static void G7h9S3(kWMzp1*J7Iki4,DCf0T2*esWTk2){esWTk2->woMv11. -OXCDa4=J7Iki4->QLWyF2;J7Iki4->QLWyF2=esWTk2;}static void __fastcall -pQ2UC1(DCf0T2*wkiYO4){unsigned X3V8j4;wkiYO4->woMv11.pT8M75=0;X3V8j4= -0;{MbSIY:{wkiYO4->woMv11.daUKU2[X3V8j4].dZK6h3=0;}if(++X3V8j4<014)goto -MbSIY;};}static void __fastcall IqzqH2(DCf0T2*wkiYO4){unsigned X3V8j4 -;{X3V8j4=0;maKE61:if(!(wkiYO4->woMv11.daUKU2[X3V8j4].dZK6h3!=0&& -X3V8j4<014))goto zr3bw2;goto uzzFH1;g0ki44:X3V8j4++;goto maKE61; -uzzFH1:;goto g0ki44;zr3bw2:;}wkiYO4->woMv11.pT8M75=X3V8j4;}static void -__fastcall PPMOH(kWMzp1*J7Iki4,DCf0T2*wkiYO4,unsigned LigBO2){ErbGq4* -YzCy24;unsigned U0U7z1=0;{if(!(!J7Iki4->mNYxW2[LigBO2]))goto tF9n33; -U0U7z1=g5zpH4;tF9n33:;}{if(!(!J7Iki4->nCdFc[LigBO2]))goto gVh3P; -U0U7z1|=s9FHT4;gVh3P:;}YzCy24=wkiYO4->woMv11.daUKU2;{kGmPU3:if(!( -YzCy24->dZK6h3!=0))goto iY9cs3;{{if(!(YzCy24->V9ej93.fbiOR4==0&& -YzCy24->V9ej93.SpbRG4!=0))goto H1k4E1;YzCy24->V9ej93.Y81UE3|=U0U7z1& -WAyh21;H1k4E1:;}{if(!(YzCy24->V9ej93.SpbRG4==0&&YzCy24->V9ej93.fbiOR4 -!=0))goto aB9s_3;YzCy24->V9ej93.Y81UE3|=U0U7z1&TzyBa1;aB9s_3:;}YzCy24 -++;}goto kGmPU3;iY9cs3:;}}static void __fastcall V_S8_2(DCf0T2* -wkiYO4,enum dUSVs Smebz2,unsigned QvZLK){unsigned X3V8j4;{X3V8j4=0; -j2av14:if(!(X3V8j4<014))goto U28L81;goto BxNe64;cYcNq:X3V8j4++;goto -j2av14;BxNe64:{ErbGq4*YzCy24=&wkiYO4->woMv11.daUKU2[X3V8j4];switch( -Smebz2){case PxKBA2:;{if(!(YzCy24->V9ej93.fbiOR4))goto zIP1U3;goto -cYcNq;zIP1U3:;}YzCy24->V9ej93.fbiOR4|=01;YzCy24->V9ej93.Y81UE3|=QvZLK -;break;case ll1kg3:;{if(!(YzCy24->V9ej93.SpbRG4))goto o8ozS1;goto -cYcNq;o8ozS1:;}YzCy24->V9ej93.SpbRG4|=01;YzCy24->V9ej93.Y81UE3|=QvZLK -;break;case In2Nl4:case w3eQb2:{if(!(YzCy24->V9ej93.SpbRG4||YzCy24-> -V9ej93.fbiOR4||YzCy24->V9ej93.Y81UE3||YzCy24->V9ej93.XpfBS||YzCy24-> -V9ej93.O6kQX4))goto ENGVa3;goto cYcNq;ENGVa3:;}YzCy24->V9ej93.cw78L3 -|=(Smebz2==In2Nl4)?1:~0u;break;case LR7D_3:{if(!(YzCy24->V9ej93. -fbiOR4||YzCy24->V9ej93.SpbRG4||YzCy24->V9ej93.Y81UE3))goto I5_OH2; -goto cYcNq;I5_OH2:;}YzCy24->V9ej93.XpfBS|=01;break;case d5Rc74:{if(!( -YzCy24->V9ej93.fbiOR4||YzCy24->V9ej93.SpbRG4||YzCy24->V9ej93.Y81UE3))goto -jbV8Y;goto cYcNq;jbV8Y:;}YzCy24->V9ej93.O6kQX4|=01;break;case cXuz63: -case b4O7W4:case OKQI31:case FqrfM3:case HMsf02:case p_EZu3:{if(!( -YzCy24->V9ej93.fbiOR4||YzCy24->V9ej93.SpbRG4||YzCy24->V9ej93.Y81UE3))goto -YMPj34;goto cYcNq;YMPj34:;}YzCy24->V9ej93.Y81UE3|=Smebz2;break; -default:;}return;}goto cYcNq;U28L81:;};}static void __fastcall CEoOx4 -(kWMzp1*J7Iki4,DCf0T2*wkiYO4,unsigned LigBO2){{if(!(J7Iki4->nCdFc[ -LigBO2]))goto ginx92;{V_S8_2(wkiYO4,PxKBA2,Nt0Ut1);V_S8_2(wkiYO4, -In2Nl4,0);V_S8_2(wkiYO4,PxKBA2,s9FHT4|EIMqn1);V_S8_2(wkiYO4,w3eQb2,0); -J7Iki4->nCdFc[LigBO2]=0;{if(!(!J7Iki4->l_AcZ[LigBO2]))goto kBtl75;{ -V_S8_2(wkiYO4,LR7D_3,0);V_S8_2(wkiYO4,PxKBA2,s9FHT4|EIMqn1);}kBtl75:; -}}ginx92:;}}static void __fastcall _Tsw51(kWMzp1*J7Iki4,DCf0T2*wkiYO4 -,unsigned LigBO2){{if(!(J7Iki4->mNYxW2[LigBO2]))goto CB24p2;{V_S8_2( -wkiYO4,ll1kg3,RQJum);V_S8_2(wkiYO4,In2Nl4,0);V_S8_2(wkiYO4,ll1kg3, -g5zpH4);V_S8_2(wkiYO4,w3eQb2,0);J7Iki4->mNYxW2[LigBO2]=0;{if(!(! -J7Iki4->nvFyD4[LigBO2]))goto tiFZ71;{V_S8_2(wkiYO4,LR7D_3,0);V_S8_2( -wkiYO4,ll1kg3,g5zpH4);}tiFZ71:;}}CB24p2:;}}static void __fastcall -JkRZr3(kWMzp1*J7Iki4,DCf0T2*wkiYO4,unsigned LigBO2){{if(!(!J7Iki4-> -nCdFc[LigBO2]))goto YarQI;{{if(!(!J7Iki4->mNYxW2[LigBO2]))goto AnhYe; -{V_S8_2(wkiYO4,d5Rc74,0);}AnhYe:;}J7Iki4->nCdFc[LigBO2]=1;V_S8_2( -wkiYO4,PxKBA2,aez0x4);}YarQI:;}}static void __fastcall OiC8d(kWMzp1* -J7Iki4,DCf0T2*wkiYO4,unsigned LigBO2){{if(!(!J7Iki4->mNYxW2[LigBO2]))goto -gh9_d3;{{if(!(!J7Iki4->nCdFc[LigBO2]))goto RvzXA1;{V_S8_2(wkiYO4, -d5Rc74,0);}RvzXA1:;}J7Iki4->mNYxW2[LigBO2]=0x1;V_S8_2(wkiYO4,ll1kg3, -aCIS84);}gh9_d3:;}}__noinline static void __fastcall YBrPF4(kWMzp1* -J7Iki4){J7Iki4->DL14H3++;{Wu9eN2:if(!(J7Iki4->CUhqx4.pBSeu3!=0))goto -Fghvc;{DCf0T2*esWTk2=J7Iki4->CUhqx4.pBSeu3;{J7Iki4->CUhqx4.pBSeu3= -(J7Iki4->CUhqx4.pBSeu3)->woMv11.OXCDa4;{if(!(J7Iki4->CUhqx4.pBSeu3))goto -ez9gZ3;(J7Iki4->CUhqx4.pBSeu3)->woMv11.neQ2f1=0;goto cim7z3;ez9gZ3:; -J7Iki4->CUhqx4.WHQ_F1=0;cim7z3:;};};SdYiI(J7Iki4,esWTk2);}goto -Wu9eN2;Fghvc:;}J7Iki4->DL14H3--;}__forceinline static int XYR2k2( -kWMzp1*J7Iki4,unsigned LigBO2){{if(!(J7Iki4->nvFyD4[LigBO2]!=J7Iki4-> -nCdFc[LigBO2]))goto _N0P51;return 0x1;_N0P51:;}{if(!(J7Iki4->l_AcZ[ -LigBO2]!=J7Iki4->mNYxW2[LigBO2]))goto OLrkM2;return 0x1;OLrkM2:;}{if( -!(J7Iki4->nvFyD4[LigBO2]||J7Iki4->l_AcZ[LigBO2]))goto yl3xl4;{{if(!( -J7Iki4->LFVWc4[LigBO2]!=J7Iki4->zM0Qt3[LigBO2]))goto H5Gor4;return 1; -H5Gor4:;}{if(!(J7Iki4->ZWSDs2.s_Lmx3&sTQei1[LigBO2]))goto Nf3bE4; -return 01;Nf3bE4:;}}yl3xl4:;}return 0;}__forceinline static void -nxbQg1(kWMzp1*J7Iki4,DCf0T2*esWTk2){int X3V8j4=32-1;{Ylr7z2:{{if(!( -J7Iki4->mNYxW2[X3V8j4]||J7Iki4->nCdFc[X3V8j4]))goto wpi3B2;{V_S8_2( -esWTk2,b4O7W4,0);V_S8_2(esWTk2,w3eQb2,0);goto x_BL64;}wpi3B2:;}}if(-- -X3V8j4>=0)goto Ylr7z2;x_BL64:;};V_S8_2(esWTk2,LR7D_3,0);V_S8_2(esWTk2 -,cXuz63,0);{if(!(X3V8j4<32))goto ZIuBS1;V_S8_2(esWTk2,w3eQb2,0); -ZIuBS1:;}X3V8j4=32-0x1;{q2hO6:{{if(!(J7Iki4->l_AcZ[X3V8j4]||J7Iki4-> -nvFyD4[X3V8j4]))goto s0R_k;{V_S8_2(esWTk2,In2Nl4,0);V_S8_2(esWTk2, -d5Rc74,0);V_S8_2(esWTk2,cXuz63,0);V_S8_2(esWTk2,In2Nl4,0);V_S8_2( -esWTk2,OKQI31,0);goto DPrk91;}s0R_k:;}}if(--X3V8j4>=0)goto q2hO6; -DPrk91:;};}__forceinline static void mux6R2(kWMzp1*J7Iki4,DCf0T2* -esWTk2,unsigned LigBO2){esWTk2->woMv11.LigBO2=LigBO2;{if(!(J7Iki4-> -LFVWc4[LigBO2]!=J7Iki4->zM0Qt3[LigBO2]||(J7Iki4->ZWSDs2.s_Lmx3&sTQei1 -[LigBO2])!=0))goto K7id2;{_Tsw51(J7Iki4,esWTk2,LigBO2);CEoOx4(J7Iki4, -esWTk2,LigBO2);PPMOH(J7Iki4,esWTk2,LigBO2);}K7id2:;}{if(!(J7Iki4-> -l_AcZ[LigBO2]))goto dIOGi2;OiC8d(J7Iki4,esWTk2,LigBO2);goto RLpme3; -dIOGi2:;_Tsw51(J7Iki4,esWTk2,LigBO2);RLpme3:;}{if(!(J7Iki4->nvFyD4[ -LigBO2]))goto yJqdA4;JkRZr3(J7Iki4,esWTk2,LigBO2);goto FCBHJ2;yJqdA4: -;CEoOx4(J7Iki4,esWTk2,LigBO2);FCBHJ2:;}PPMOH(J7Iki4,esWTk2,LigBO2);} -__noinline static void __fastcall SdYiI(kWMzp1*J7Iki4,DCf0T2*esWTk2){ -QDNE6*a02Gz4=esWTk2->a02Gz4;esWTk2->Xx6Ti3++;{WDANZ4:{{if(!(! -xnb4g3(J7Iki4,a02Gz4,esWTk2)))goto TcAf85;{int X3V8j4,LigBO2=a02Gz4-> -NpyOc1.NNh015.LigBO2;{if(!(!(a02Gz4->QvZLK&(0x2u|32u))||(a02Gz4-> -QvZLK&(01u|16u))))goto s0wE55;{{if(!(a02Gz4->QvZLK&4096u))goto lWjhe1 -;{a02Gz4->QvZLK&=~4096u;J7Iki4->qWRLr4=a02Gz4->NpyOc1.Or9Ds4!=0; -J7Iki4->TrqaA=0x1;}lWjhe1:;}{if(!(a02Gz4->QvZLK&512u))goto ziNDy3;{ -a02Gz4->QvZLK&=~512u;X3V8j4=32-0x1;{C3fIc4:{J7Iki4->FmCLm3[X3V8j4]= -a02Gz4->NpyOc1.sN5Zi1.duPf84[X3V8j4];}if(--X3V8j4>=0)goto C3fIc4;}; -J7Iki4->TrqaA|=TFC2u3(J7Iki4);}ziNDy3:;}{if(!(a02Gz4->QvZLK&1024u))goto -TdRVs1;{a02Gz4->QvZLK&=~1024u;X3V8j4=32-01;{EmxrA2:{mthh13(J7Iki4, -a02Gz4->NpyOc1.sN5Zi1.M__vR3[X3V8j4],X3V8j4);}if(--X3V8j4>=0)goto -EmxrA2;};J7Iki4->TrqaA|=TFC2u3(J7Iki4);}TdRVs1:;}{if(!(a02Gz4->QvZLK& -2048u))goto Ifkj42;{a02Gz4->QvZLK&=~2048u;mthh13(J7Iki4,a02Gz4-> -NpyOc1.NNh015.kF78X1,LigBO2);J7Iki4->TrqaA|=TFC2u3(J7Iki4);}Ifkj42:;} -{if(!(a02Gz4->QvZLK&256u))goto tb4GG3;{a02Gz4->QvZLK&=~256u;J7Iki4-> -zM0Qt3[LigBO2]=a02Gz4->NpyOc1.NNh015.sxr445;J7Iki4->TrqaA=0x1;}tb4GG3 -:;}}s0wE55:;}{if(!(a02Gz4->QvZLK&1u))goto pwG_r2;{a02Gz4->QvZLK&=~ -0x1u;J7Iki4->nvFyD4[LigBO2]=1;J7Iki4->TrqaA=1;}pwG_r2:;}{if(!(a02Gz4 -->QvZLK&16u))goto KL7cF;{a02Gz4->QvZLK&=~16u;J7Iki4->l_AcZ[LigBO2]=1; -J7Iki4->TrqaA=01;}KL7cF:;}{if(!(a02Gz4->QvZLK&8u))goto ZkkNv2;{a02Gz4 -->QvZLK&=~0x8u;a02Gz4->NpyOc1.uwYQG1.BLFVJ4=0;esWTk2->Xx6Ti3++;{( -esWTk2)->NpyOc1.OXCDa4=0;(esWTk2)->NpyOc1.neQ2f1=J7Iki4->pnKue2[ -LigBO2].WHQ_F1;{if(!(J7Iki4->pnKue2[LigBO2].WHQ_F1))goto _JRZK1;( -J7Iki4->pnKue2[LigBO2].WHQ_F1)->NpyOc1.OXCDa4=esWTk2;goto FeP4W3; -_JRZK1:;J7Iki4->pnKue2[LigBO2].pBSeu3=esWTk2;FeP4W3:;}J7Iki4->pnKue2[ -LigBO2].WHQ_F1=esWTk2;};gYC_T3(J7Iki4,LigBO2);}ZkkNv2:;}{if(!( -a02Gz4->QvZLK&128u))goto fqtyd4;{a02Gz4->QvZLK&=~128u;a02Gz4->NpyOc1. -JI0PC2.n1IfW3=0;a02Gz4->NpyOc1.JI0PC2.bc1R53=0;esWTk2->Xx6Ti3++;{( -esWTk2)->NpyOc1.OXCDa4=0;(esWTk2)->NpyOc1.neQ2f1=J7Iki4->_jfrJ1[ -LigBO2].WHQ_F1;{if(!(J7Iki4->_jfrJ1[LigBO2].WHQ_F1))goto LcjXp2;( -J7Iki4->_jfrJ1[LigBO2].WHQ_F1)->NpyOc1.OXCDa4=esWTk2;goto XSN5P3; -LcjXp2:;J7Iki4->_jfrJ1[LigBO2].pBSeu3=esWTk2;XSN5P3:;}J7Iki4->_jfrJ1[ -LigBO2].WHQ_F1=esWTk2;};q0ypK(J7Iki4,LigBO2);}fqtyd4:;}{if(!( -esWTk2->Xx6Ti3<=01))goto mUGg23;{{if(!(a02Gz4->QvZLK&0x2u))goto i5IS4 -;{a02Gz4->QvZLK&=~02u;J7Iki4->nvFyD4[LigBO2]=0;J7Iki4->TrqaA=01;} -i5IS4:;}{if(!(a02Gz4->QvZLK&32u))goto MPkCL2;{a02Gz4->QvZLK&=~32u; -J7Iki4->l_AcZ[LigBO2]=0;J7Iki4->TrqaA=01;}MPkCL2:;}}mUGg23:;}{if(!(( -a02Gz4->QvZLK&8192u)&&J7Iki4->TrqaA))goto bK47E4;{unsigned gy1tx2=0; -J7Iki4->TrqaA=0;X3V8j4=32-01;{ftVDr:{{if(!(XYR2k2(J7Iki4,X3V8j4)))goto -aoI7b;{{if(!(++gy1tx2>0x1))goto T4nbC1;goto l0TIu2;goto D9Tnd2;T4nbC1 -:;LigBO2=X3V8j4;D9Tnd2:;}}aoI7b:;}}if(--X3V8j4>=0)goto ftVDr;l0TIu2:; -};{if(!(gy1tx2>0||J7Iki4->MIvbE3!=J7Iki4->qWRLr4))goto wYt8Z4;{pQ2UC1 -(esWTk2);{if(!(gy1tx2>0x1||J7Iki4->ZWSDs2.s_Lmx3!=0))goto Py8oW1; -nxbQg1(J7Iki4,esWTk2);goto tVN2m4;Py8oW1:;{if(!(gy1tx2))goto Cn8Hk1; -mux6R2(J7Iki4,esWTk2,LigBO2);Cn8Hk1:;}tVN2m4:;}{if(!(J7Iki4->MIvbE3!= -J7Iki4->qWRLr4))goto KE2tn1;V_S8_2(esWTk2,J7Iki4->qWRLr4?FqrfM3: -p_EZu3,0);KE2tn1:;}IqzqH2(esWTk2);zfjz55(J7Iki4,esWTk2);N5Uxq(J7Iki4); -}wYt8Z4:;}}bK47E4:;}}TcAf85:;};}if(esWTk2->Xx6Ti3==0x1&&esWTk2-> -a02Gz4->QvZLK&((1u|02u|0|0x8u|16u|32u|128u|256u|512u|2048u|4096u)|64u -))goto WDANZ4;};z5sap1(J7Iki4,esWTk2);}__forceinline static void -pxiAh4(kWMzp1*J7Iki4,DCf0T2*esWTk2,unsigned M1Kp62){unsigned X3V8j4, -M7M9y;X3V8j4=0;{i5M_e4:{{if(!(M1Kp62<=017))goto Q_I4z;M7M9y=M1Kp62; -goto Fucd04;Q_I4z:;{if(!(M1Kp62<=0x1e))goto vnlQf3;M7M9y=M1Kp62/02; -goto RDIwM;vnlQf3:;M7M9y=15;RDIwM:;}Fucd04:;}esWTk2->woMv11.daUKU2[ -X3V8j4].dZK6h3=0;esWTk2->woMv11.daUKU2[X3V8j4].V9ej93.cw78L3|=M7M9y; -X3V8j4++;}if(M1Kp62-=M7M9y)goto i5M_e4;};esWTk2->woMv11.pT8M75=X3V8j4 -;zfjz55(J7Iki4,esWTk2);}__noinline static void GV2iC4(kWMzp1*J7Iki4, -unsigned LigBO2,unsigned QvZLK){DCf0T2*esWTk2;{if(!(J7Iki4->YRHFy-> -b_7cQ4))goto JmcXo4;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4( -J7Iki4->YRHFy,LigBO2,8388608ul);h2LrH3(&J7Iki4->h2LrH3);}JmcXo4:;} -esWTk2=J7Iki4->eWAnF[LigBO2];{if(!(esWTk2==0))goto mglUF3;{esWTk2= -ITvPG2(J7Iki4);{if(!(__builtin_expect(esWTk2==0,0)))goto uF_zA3;{{if( -!(J7Iki4->YRHFy->b_7cQ4))goto YAcOG4;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4 -->YRHFy->b_7cQ4(J7Iki4->YRHFy,LigBO2,01ul);h2LrH3(&J7Iki4->h2LrH3);} -YAcOG4:;}return;}uF_zA3:;}J7Iki4->eWAnF[LigBO2]=esWTk2;{if(!(J7Iki4-> -nCdFc[LigBO2]))goto gIo9c2;QvZLK|=OULAA3;goto sX8l_2;gIo9c2:;QvZLK|= -s9FHT4;sX8l_2:;}esWTk2->woMv11.LigBO2=LigBO2;esWTk2->woMv11.daUKU2[0] -.dZK6h3=0;esWTk2->woMv11.daUKU2[0].V9ej93.Y81UE3|=QvZLK;esWTk2-> -woMv11.daUKU2[0].V9ej93.SpbRG4|=01;esWTk2->woMv11.pT8M75=1;zfjz55( -J7Iki4,esWTk2);}goto dLlx84;mglUF3:;{esWTk2->woMv11.daUKU2[0].V9ej93. -Y81UE3=(WAyh21&esWTk2->woMv11.daUKU2[0].V9ej93.Y81UE3)|QvZLK;esWTk2-> -woMv11.daUKU2[0].V9ej93.SpbRG4|=0x1;}dLlx84:;}J7Iki4->Rc7LY4.AC5eU1[ -LigBO2]=J7Iki4->Rc7LY4.rGUtq3[LigBO2].xzeKf3;}__noinline static void -B7zr54(kWMzp1*J7Iki4,unsigned LigBO2,unsigned QvZLK){DCf0T2*esWTk2; -{if(!(J7Iki4->YRHFy->b_7cQ4))goto hZlaW4;{uYS5N2(&J7Iki4->h2LrH3); -J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy,LigBO2,4194304ul);h2LrH3(&J7Iki4 -->h2LrH3);}hZlaW4:;}esWTk2=J7Iki4->eWAnF[LigBO2];{if(!(esWTk2==0))goto -K1B_B1;{esWTk2=ITvPG2(J7Iki4);{if(!(__builtin_expect(esWTk2==0,0)))goto -ZOTHr3;{{if(!(J7Iki4->YRHFy->b_7cQ4))goto EpEc3;{uYS5N2(&J7Iki4-> -h2LrH3);J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy,LigBO2,0x1ul);h2LrH3(& -J7Iki4->h2LrH3);}EpEc3:;}return;}ZOTHr3:;}J7Iki4->eWAnF[LigBO2]= -esWTk2;{if(!(J7Iki4->mNYxW2[LigBO2]))goto w5ONF1;QvZLK|=OuIaM2;goto -xtBMy2;w5ONF1:;QvZLK|=g5zpH4;xtBMy2:;}esWTk2->woMv11.LigBO2=LigBO2; -esWTk2->woMv11.daUKU2[0].dZK6h3=0;esWTk2->woMv11.daUKU2[0].V9ej93. -Y81UE3|=QvZLK;esWTk2->woMv11.daUKU2[0].V9ej93.fbiOR4|=0x1;esWTk2-> -woMv11.pT8M75=1;zfjz55(J7Iki4,esWTk2);}goto V0dyY3;K1B_B1:;{esWTk2-> -woMv11.daUKU2[0].V9ej93.Y81UE3=(TzyBa1&esWTk2->woMv11.daUKU2[0]. -V9ej93.Y81UE3)|QvZLK;esWTk2->woMv11.daUKU2[0].V9ej93.fbiOR4|=0x1;} -V0dyY3:;}J7Iki4->Rc7LY4.ZuiJe3[LigBO2]=J7Iki4->Rc7LY4.rGUtq3[LigBO2]. -FdyFT1;}__forceinline static void jsS_d1(kWMzp1*J7Iki4){DCf0T2*esWTk2 -;esWTk2=J7Iki4->Nlajt1.pBSeu3;{J7Iki4->Nlajt1.pBSeu3=(J7Iki4-> -Nlajt1.pBSeu3)->woMv11.OXCDa4;{if(!(J7Iki4->Nlajt1.pBSeu3))goto koOfX1 -;(J7Iki4->Nlajt1.pBSeu3)->woMv11.neQ2f1=0;goto L4mSq3;koOfX1:;J7Iki4 -->Nlajt1.WHQ_F1=0;L4mSq3:;};};z5sap1(J7Iki4,esWTk2);}__forceinline -static void fjOw35(kWMzp1*J7Iki4,unsigned LigBO2){DCf0T2*esWTk2; -esWTk2=J7Iki4->pnKue2[LigBO2].pBSeu3;{J7Iki4->pnKue2[LigBO2]. -pBSeu3=(J7Iki4->pnKue2[LigBO2].pBSeu3)->NpyOc1.OXCDa4;{if(!(J7Iki4-> -pnKue2[LigBO2].pBSeu3))goto e8p6a3;(J7Iki4->pnKue2[LigBO2].pBSeu3)-> -NpyOc1.neQ2f1=0;goto iQFWQ1;e8p6a3:;J7Iki4->pnKue2[LigBO2].WHQ_F1=0; -iQFWQ1:;};};LjWek1(J7Iki4,esWTk2,LigBO2);z5sap1(J7Iki4,esWTk2);} -__forceinline static void u0bxl3(kWMzp1*J7Iki4,unsigned LigBO2){ -DCf0T2*esWTk2;esWTk2=J7Iki4->_jfrJ1[LigBO2].pBSeu3;{J7Iki4-> -_jfrJ1[LigBO2].pBSeu3=(J7Iki4->_jfrJ1[LigBO2].pBSeu3)->NpyOc1.OXCDa4; -{if(!(J7Iki4->_jfrJ1[LigBO2].pBSeu3))goto q2AKk4;(J7Iki4->_jfrJ1[ -LigBO2].pBSeu3)->NpyOc1.neQ2f1=0;goto ya31H2;q2AKk4:;J7Iki4->_jfrJ1[ -LigBO2].WHQ_F1=0;ya31H2:;};};uKg3m2(J7Iki4,esWTk2);z5sap1(J7Iki4, -esWTk2);}static void _n1S03(kWMzp1*J7Iki4,QDNE6*a02Gz4){{if(!(a02Gz4 -->JbjvO4))goto UbBgT2;{uYS5N2(&J7Iki4->h2LrH3);a02Gz4->JbjvO4(J7Iki4 -->YRHFy,a02Gz4);h2LrH3(&J7Iki4->h2LrH3);}UbBgT2:;}}__noinline static -void __fastcall z5sap1(kWMzp1*J7Iki4,DCf0T2*esWTk2){{if(!(--esWTk2-> -Xx6Ti3==0))goto SWOC82;{QDNE6*a02Gz4=esWTk2->a02Gz4;{if(!(a02Gz4))goto -Xwrbb1;{{if(!(a02Gz4->QvZLK&((0x1u|02u|0|0x8u|16u|32u|128u|256u|512u| -2048u|4096u)|64u)))goto Jlhz11;{SdYiI(J7Iki4,esWTk2);return;}Jlhz11:; -};{if(!(a02Gz4->bPudJ3!=esWTk2))goto Z87eW;{{AnAG35:{QDNE6*OXCDa4=( -QDNE6* )a02Gz4->bPudJ3;a02Gz4->bPudJ3=0;_n1S03(J7Iki4,a02Gz4);a02Gz4= -OXCDa4;}if(a02Gz4!=0)goto AnAG35;};}goto wJzmn2;Z87eW:;{a02Gz4-> -bPudJ3=0;_n1S03(J7Iki4,a02Gz4);}wJzmn2:;}}Xwrbb1:;}G7h9S3(J7Iki4, -esWTk2);{if(!(J7Iki4->DL14H3==0))goto NKBZ63;YBrPF4(J7Iki4);NKBZ63:;} -;}SWOC82:;}}static void zfjz55(kWMzp1*J7Iki4,DCf0T2*esWTk2){esWTk2-> -Xx6Ti3++;esWTk2->woMv11.gfIP34=0;{(esWTk2)->woMv11.OXCDa4=0;( -esWTk2)->woMv11.neQ2f1=J7Iki4->Nlajt1.WHQ_F1;{if(!(J7Iki4->Nlajt1. -WHQ_F1))goto Hu116;(J7Iki4->Nlajt1.WHQ_F1)->woMv11.OXCDa4=esWTk2;goto -IM659;Hu116:;J7Iki4->Nlajt1.pBSeu3=esWTk2;IM659:;}J7Iki4->Nlajt1. -WHQ_F1=esWTk2;};yn0bR1(J7Iki4);}__noinline static void __fastcall -TR6nX1(kWMzp1*J7Iki4,unsigned LigBO2){J7Iki4->Rc7LY4.rGUtq3[LigBO2]. -xFtBP.dZK6h3=J7Iki4->Rc7LY4.rGUtq3[LigBO2].ZevQC2.dZK6h3=0;J7Iki4-> -Rc7LY4.rGUtq3[LigBO2].ZevQC2.V9ej93.aF6cv|=2;{if(!(J7Iki4->zM0Qt3[ -LigBO2]&16ul))goto O2juJ1;J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93. -knaph4|=1;O2juJ1:;}switch(J7Iki4->zM0Qt3[LigBO2]&017ul){case 0:J7Iki4 -->Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93.L221t4|=erjzp3;J7Iki4->Rc7LY4. -rGUtq3[LigBO2].xFtBP.V9ej93.LoGHc4|=0|cv_9R4|DokQ43|QnuE7;{if(!( -J7Iki4->zM0Qt3[LigBO2]&512ul))goto f4GLj2;J7Iki4->Rc7LY4.rGUtq3[ -LigBO2].xFtBP.V9ej93.t0Vn23|=01;f4GLj2:;}{if(!(J7Iki4->zM0Qt3[LigBO2] -&2048ul))goto eRCV2;J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93.xk8cK4 -|=01;eRCV2:;}{if(!(J7Iki4->zM0Qt3[LigBO2]&256ul))goto qbbkE1;J7Iki4-> -Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93.L8vCo2|=01;qbbkE1:;}{if(!(J7Iki4-> -zM0Qt3[LigBO2]&1024ul))goto jiGoK2;J7Iki4->Rc7LY4.rGUtq3[LigBO2]. -xFtBP.V9ej93.rwHIy4|=0x1;jiGoK2:;}break;case 1:J7Iki4->Rc7LY4.rGUtq3[ -LigBO2].xFtBP.V9ej93.L221t4|=bWIkq;J7Iki4->Rc7LY4.rGUtq3[LigBO2]. -xFtBP.V9ej93.ltzXg3|=(J7Iki4->zM0Qt3[LigBO2]&50331648ul)>>24u;break; -case 0x2:J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93.L221t4|=Keg62;{if -(!(J7Iki4->zM0Qt3[LigBO2]&4096ul))goto D3tTQ4;{J7Iki4->Rc7LY4.rGUtq3[ -LigBO2].xFtBP.V9ej93.t0Vn23|=0x1;J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP. -V9ej93.xk8cK4|=(J7Iki4->zM0Qt3[LigBO2]&16711680ul)>>16u;}D3tTQ4:;}{if -(!(J7Iki4->zM0Qt3[LigBO2]&8192ul))goto g74P44;J7Iki4->Rc7LY4.rGUtq3[ -LigBO2].xFtBP.V9ej93.L8vCo2|=1;g74P44:;}break;case 3:case 4:J7Iki4-> -Rc7LY4.rGUtq3[LigBO2].xFtBP.V9ej93.L221t4|=_qLu61;{if(!(J7Iki4-> -zM0Qt3[LigBO2]&15ul))goto ch1Nw;J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP. -V9ej93.L8vCo2|=0x1;ch1Nw:;}break;default:;}J7Iki4->LFVWc4[LigBO2]= -J7Iki4->zM0Qt3[LigBO2];}__forceinline static unsigned long YGL9R3( -unsigned zXUbq2,int a8kio2){return a8kio2?WdFDP4(0,0x1,0,zXUbq2,0, -KahAO3):WdFDP4(0,0,01,zXUbq2,0,KahAO3);}__forceinline static unsigned -long FAUQ42(void){return WdFDP4(01,0,0,0,0,KahAO3);}__forceinline -static unsigned long hoRsQ4(enum t7TM23 eEI4l2){return WdFDP4(0,0,0,0 -,0,eEI4l2);}__forceinline static void xaQxL4(kWMzp1*J7Iki4){{if(!( -J7Iki4->YRHFy->b_7cQ4))goto syNnc3;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->b_7cQ4(J7Iki4->YRHFy,-01,010ul);h2LrH3(&J7Iki4->h2LrH3);} -syNnc3:;}}__forceinline static void wA_dp4(kWMzp1*J7Iki4){{if(!( -J7Iki4->YRHFy->b_7cQ4))goto Z8adO4;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->b_7cQ4(J7Iki4->YRHFy,-1,0x4ul);h2LrH3(&J7Iki4->h2LrH3);} -Z8adO4:;}}__forceinline static void dfhdh3(kWMzp1*J7Iki4,unsigned -LigBO2,unsigned long*spClj2,unsigned long*xoXsZ){unsigned long p3Xgs1 -=sTQei1[LigBO2];unsigned QvZLK=J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP. -V9ej93.D1JXh&(Jry9D1|InZ58|zYrRf4|UsDI23|oKUjX2|tyWsL1|hOtzj|vvbK44); -{if(!(QvZLK&zYrRf4))goto QTktG2; *spClj2&=~p3Xgs1;goto GniJJ1;QTktG2: -;switch(QvZLK&(UsDI23|oKUjX2|tyWsL1|vvbK44)){case s9FHT4:case Nt0Ut1: - *spClj2&=~p3Xgs1;break;case aez0x4: *spClj2|=p3Xgs1;break;case OULAA3 -:case BhIif3:case T8skA:break;default:;}GniJJ1:;}switch(QvZLK&(Jry9D1 -|InZ58|hOtzj)){case g5zpH4:case RQJum: *xoXsZ&=~p3Xgs1;break;case -aCIS84: *xoXsZ|=p3Xgs1;break;case OuIaM2:case Xlqk:case VHvU93:break; -default:;}}__noinline static void og0xA1(kWMzp1*J7Iki4){{if(!(J7Iki4 -->ZWSDs2.dJbtz4||J7Iki4->ZWSDs2.X_sGC1))goto UIg3j;{J7Iki4->ZWSDs2. -dJbtz4=0;J7Iki4->ZWSDs2.X_sGC1=0;fk7g83(J7Iki4);}UIg3j:;}}__noinline -static void __fastcall yn0bR1(kWMzp1*J7Iki4){{if(!(J7Iki4->vDEWd3==0))goto -t1t5N4;{J7Iki4->vDEWd3++;{mS2xE2:if(!(01))goto ycekz;{switch(J7Iki4-> -uyKJn2){case XlFgj4:{if(!(J7Iki4->Nlajt1.pBSeu3))goto A8NMR4;{DCf0T2* -esWTk2=J7Iki4->Nlajt1.pBSeu3;{if(!(esWTk2->woMv11.gfIP34>0))goto -XfnRo3;{int X3V8j4;ErbGq4*YzCy24=&esWTk2->woMv11.daUKU2[esWTk2-> -woMv11.gfIP34-1];unsigned long XpkU85=J7Iki4->ZWSDs2.X_sGC1;unsigned -long zfQZk=J7Iki4->ZWSDs2.dJbtz4;{if(!(YzCy24->V9ej93.fbiOR4||YzCy24 -->V9ej93.SpbRG4))goto gvjYx2;dfhdh3(J7Iki4,esWTk2->woMv11.LigBO2,& -XpkU85,&zfQZk);goto obcrI4;gvjYx2:;{if(!(YzCy24->V9ej93.Y81UE3== -OKQI31))goto sQRs_2;{X3V8j4=32-0x1;{FsNgS4:{dfhdh3(J7Iki4,X3V8j4,& -XpkU85,&zfQZk);}if(--X3V8j4>=0)goto FsNgS4;};}sQRs_2:;}obcrI4:;}{if(! -(J7Iki4->ZWSDs2.dJbtz4!=zfQZk||J7Iki4->ZWSDs2.X_sGC1!=XpkU85))goto -tDCe71;{J7Iki4->ZWSDs2.dJbtz4=zfQZk;J7Iki4->ZWSDs2.X_sGC1=XpkU85; -fk7g83(J7Iki4);}tDCe71:;}}XfnRo3:;}}A8NMR4:;}J7Iki4->uyKJn2=blWHd2; -case blWHd2:{if(!(J7Iki4->Nlajt1.pBSeu3==0))goto HgIKW1;{J7Iki4-> -fV7o35->y8QlL=0;goto LVAok1;}HgIKW1:;}{if(!(J7Iki4->Nlajt1.pBSeu3-> -woMv11.gfIP34>=J7Iki4->Nlajt1.pBSeu3->woMv11.pT8M75))goto W6ZSZ4;{ -jsS_d1(J7Iki4);}goto iaTgs3;W6ZSZ4:;{DCf0T2*esWTk2=J7Iki4->Nlajt1. -pBSeu3;{ZRVsD1:if(!(esWTk2->woMv11.gfIP34woMv11.pT8M75))goto -AzKhe;goto L_kbq3;kvBl65:;goto ZRVsD1;L_kbq3:{ErbGq4*YzCy24=&esWTk2-> -woMv11.daUKU2[esWTk2->woMv11.gfIP34];{if(!(YzCy24->V9ej93.cw78L3))goto -_ZNHV4;{gw6c82(J7Iki4,YzCy24->V9ej93.cw78L3);YzCy24->V9ej93.cw78L3=0; -goto eKHB1;}_ZNHV4:;}esWTk2->woMv11.gfIP34++;{if(!(YzCy24->V9ej93. -SpbRG4||YzCy24->V9ej93.fbiOR4))goto mwxOb4;{unsigned LigBO2=esWTk2-> -woMv11.LigBO2;{if(!(esWTk2==J7Iki4->eWAnF[LigBO2]))goto PQet5;J7Iki4 -->eWAnF[LigBO2]=0;PQet5:;}{if(!(YzCy24->V9ej93.XpfBS))goto TpLpS;{ -VcwKo1(J7Iki4,LigBO2);}TpLpS:;}{if(!(YzCy24->V9ej93.O6kQX4))goto -wMk4l3;{TR6nX1(J7Iki4,LigBO2);}wMk4l3:;}J7Iki4->Rc7LY4.rGUtq3[LigBO2 -].xFtBP.V9ej93.D1JXh=YzCy24->V9ej93.Y81UE3;{if(!(J7Iki4->ZWSDs2. -s_Lmx3&sTQei1[LigBO2]))goto SY7l82;{RQO4U4(J7Iki4);Zg2fI4(J7Iki4, -YGL9R3(LigBO2,01));Vtxp55(J7Iki4);}goto obDHQ;SY7l82:;Zg2fI4(J7Iki4, -YGL9R3(LigBO2,0));obDHQ:;}goto eKHB1;}goto KCGlP3;mwxOb4:;{int X3V8j4 -;{if(!(YzCy24->V9ej93.XpfBS))goto r5oda2;{X3V8j4=32-01;{COx9t4:{ -VcwKo1(J7Iki4,X3V8j4);}if(--X3V8j4>=0)goto COx9t4;};}r5oda2:;}{if(!( -YzCy24->V9ej93.O6kQX4))goto DG4xM4;{X3V8j4=32-1;{PZiAS2:{{if(!( -J7Iki4->nvFyD4[X3V8j4]||J7Iki4->l_AcZ[X3V8j4]))goto J3Ld11;TR6nX1( -J7Iki4,X3V8j4);J3Ld11:;}}if(--X3V8j4>=0)goto PZiAS2;};RQO4U4(J7Iki4); -Vtxp55(J7Iki4);}DG4xM4:;}switch(YzCy24->V9ej93.Y81UE3){case p_EZu3:; -Zg2fI4(J7Iki4,hoRsQ4(ALDl73));J7Iki4->MIvbE3=0;goto eKHB1;case FqrfM3 -:;Zg2fI4(J7Iki4,hoRsQ4(ZbGWr3));J7Iki4->MIvbE3=01;goto eKHB1;case -HMsf02:;Zg2fI4(J7Iki4,hoRsQ4(UDBom4));goto eKHB1;case b4O7W4:;X3V8j4= -32-01;{uLGca4:{unsigned EhXZB1;{if(!(J7Iki4->mNYxW2[X3V8j4]))goto -q7DZK;EhXZB1=RQJum;goto IckaM3;q7DZK:;EhXZB1=g5zpH4;IckaM3:;}{if(!( -J7Iki4->nCdFc[X3V8j4]))goto PJxFC3;EhXZB1|=Nt0Ut1;goto DOjJH3;PJxFC3: -;EhXZB1|=s9FHT4|EIMqn1;DOjJH3:;}J7Iki4->Rc7LY4.rGUtq3[X3V8j4].xFtBP. -V9ej93.D1JXh=EhXZB1;}if(--X3V8j4>=0)goto uLGca4;};og0xA1(J7Iki4); -break;case cXuz63:;X3V8j4=32-0x1;{LNCIB:{J7Iki4->Rc7LY4.rGUtq3[X3V8j4 -].xFtBP.V9ej93.D1JXh=g5zpH4|s9FHT4|EIMqn1;}if(--X3V8j4>=0)goto LNCIB; -};og0xA1(J7Iki4);break;case OKQI31:;X3V8j4=32-01;{VX1Rp1:{unsigned -EhXZB1;tJ1Kb4*yzaNE1;yzaNE1=O6fhT(J7Iki4,X3V8j4);J7Iki4->Rc7LY4. -rGUtq3[X3V8j4].xzeKf3=yzaNE1?yzaNE1->MDSlK2:J7Iki4->PGmy4[X3V8j4]-> -MDSlK2;J7Iki4->mNYxW2[X3V8j4]=J7Iki4->l_AcZ[X3V8j4];{if(!(J7Iki4-> -l_AcZ[X3V8j4]))goto lw4bz4;{EhXZB1=aCIS84;J7Iki4->Rc7LY4.AC5eU1[ -X3V8j4]=J7Iki4->Rc7LY4.rGUtq3[X3V8j4].xzeKf3;J7Iki4->F46242|=sTQei1[ -X3V8j4];}goto raDWN;lw4bz4:;EhXZB1=g5zpH4;raDWN:;}yzaNE1=i3w1H(J7Iki4 -,X3V8j4);J7Iki4->Rc7LY4.rGUtq3[X3V8j4].FdyFT1=yzaNE1?yzaNE1->MDSlK2: -J7Iki4->RZWDZ2[X3V8j4]->MDSlK2;J7Iki4->nCdFc[X3V8j4]=J7Iki4->nvFyD4[ -X3V8j4];{if(!(J7Iki4->nvFyD4[X3V8j4]))goto chtI25;{EhXZB1|=aez0x4; -J7Iki4->Rc7LY4.ZuiJe3[X3V8j4]=J7Iki4->Rc7LY4.rGUtq3[X3V8j4].FdyFT1; -J7Iki4->a6vkI2|=sTQei1[X3V8j4];}goto hcihc1;chtI25:;EhXZB1|=s9FHT4| -EIMqn1;hcihc1:;}J7Iki4->Rc7LY4.rGUtq3[X3V8j4].xFtBP.V9ej93.D1JXh= -EhXZB1;}if(--X3V8j4>=0)goto VX1Rp1;};break;case 0:goto kvBl65;default -:;goto kvBl65;}Zg2fI4(J7Iki4,FAUQ42());goto eKHB1;}KCGlP3:;}}goto -kvBl65;AzKhe:;}eKHB1:{if(!(J7Iki4->jXwP42==0))goto SSGDT3;yoLEn3( -J7Iki4);SSGDT3:;}}iaTgs3:;}break;case JFrCi4:;J7Iki4->uyKJn2=blWHd2; -wA_dp4(J7Iki4);{if(!(J7Iki4->Nlajt1.pBSeu3))goto OFReQ2;{{if(!(J7Iki4 -->Nlajt1.pBSeu3->a02Gz4))goto HUCWK;J7Iki4->Nlajt1.pBSeu3->a02Gz4-> -j5MYx|=4ul;HUCWK:;}jsS_d1(J7Iki4);}OFReQ2:;}break;case PpoEe4:;J7Iki4 -->uyKJn2=blWHd2;xaQxL4(J7Iki4);{if(!(J7Iki4->Nlajt1.pBSeu3))goto -WgNsa4;{{if(!(J7Iki4->Nlajt1.pBSeu3->a02Gz4))goto iAj6S2;J7Iki4-> -Nlajt1.pBSeu3->a02Gz4->j5MYx|=0x8ul;iAj6S2:;}jsS_d1(J7Iki4);}WgNsa4:; -}break;case auwjC:goto LVAok1;case csvRg2:goto LVAok1;default:;};} -goto mS2xE2;ycekz:;}LVAok1:J7Iki4->vDEWd3--;}goto Zz1C01;t1t5N4:;{} -Zz1C01:;}}__forceinline static void dwKme1(kWMzp1*J7Iki4,unsigned -Os1bA3){{if(!(J7Iki4->uyKJn2==auwjC))goto v2HLJ4;{{if(!( -__builtin_expect((Os1bA3&(Sptqu|r3CcP2|gQf6j1))!=gQf6j1,0)))goto -RekSX2;{J7Iki4->uyKJn2=JFrCi4;}goto hNxv05;RekSX2:;{J7Iki4->uyKJn2= -XlFgj4;}hNxv05:;}}goto kjGyu3;v2HLJ4:;{{if(!(__builtin_expect(Os1bA3 -&r3CcP2,1)))goto xdxJg3;{J7Iki4->uyKJn2=XlFgj4;}goto IA1fx;xdxJg3:;{ -if(!(Os1bA3&Sptqu))goto _a4Qb4;{J7Iki4->uyKJn2=JFrCi4;}goto HutZr4; -_a4Qb4:;{{idIRM1:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -idIRM1;};J7Iki4->fV7o35->y8QlL=0;{Wsnkl3:{__asm __volatile(""::); -__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile( -""::);}if(0)goto Wsnkl3;};nvqbt();{E_iqm1:{__asm __volatile(""::); -__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile( -""::);}if(0)goto E_iqm1;};J7Iki4->fV7o35->Be1a54=Sptqu|r3CcP2|gQf6j1; -{Kvxpp3:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -Kvxpp3;};nvqbt();J7Iki4->uyKJn2=PpoEe4;}HutZr4:;}IA1fx:;}}kjGyu3:;} -yn0bR1(J7Iki4);}static enum bmwN91 cWGy25(kWMzp1*J7Iki4){unsigned -Vdg6P1,J2Fer3=0;unsigned long RcNOn;{rfb4A1:{__asm __volatile(""::); -__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile( -""::);}if(0)goto rfb4A1;};J7Iki4->fV7o35->y8QlL=0;{p5QN85:{__asm -__volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : :"cc"); -__asm __volatile(""::);}if(0)goto p5QN85;};J7Iki4->fV7o35->Be1a54=~0u -;{CoPx_3:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -CoPx_3;};{if(!(J7Iki4->fV7o35->Be1a54&gQf6j1))goto zERlZ1;{return -wTSMD1;}zERlZ1:;}Vdg6P1=32;{lwCTs:{unsigned EVEnZ3=0;register unsigned -long(sHR2d4);__asm __volatile("pushfl; popl %0; cli":"=g"(sHR2d4));{ -IMpBA4:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -IMpBA4;};J7Iki4->fV7o35->y8QlL=15597584;{eIyA2:{{P5Pbv3:{__asm -__volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : :"cc"); -__asm __volatile(""::);}if(0)goto P5Pbv3;};{if(!(J7Iki4->fV7o35-> -Be1a54&gQf6j1))goto qLeaE1;goto uVmjX4;goto o2NIe3;qLeaE1:;EVEnZ3++; -o2NIe3:;}}if(EVEnZ3<32)goto eIyA2;uVmjX4:;};J7Iki4->fV7o35->y8QlL=0;{ -XyjFV1:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -XyjFV1;};J7Iki4->fV7o35->Be1a54=gQf6j1;{WU3Cl3:{__asm __volatile("":: -);__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile -(""::);}if(0)goto WU3Cl3;};__asm __volatile("pushl %0; popfl": :"g"( -sHR2d4):"cc");{if(!(EVEnZ3<4||EVEnZ3>=32))goto HSTer4;{if(!(J2Fer3> -0x2))goto u1ED31;{return Wa6IF1;}goto RCFss2;u1ED31:;J2Fer3++;RCFss2 -:;}goto p5i6D;HSTer4:;J2Fer3=0;p5i6D:;}{if(!(J7Iki4->fV7o35->Be1a54& -gQf6j1))goto kOzYw2;{return wTSMD1;}kOzYw2:;}}if(--Vdg6P1)goto lwCTs -;};RcNOn=WdFDP4(0,0,0,0,0,KahAO3);{if(!(!TifAa1(J7Iki4,RcNOn)))goto -d1bSC;{{if(!(!TifAa1(J7Iki4,RcNOn)))goto VSmwf4;{{if(!(!TifAa1( -J7Iki4,RcNOn)))goto YNDL72;{return cy2jE4;}YNDL72:;}}VSmwf4:;}}d1bSC -:;}RcNOn=WdFDP4(0,0,0,0,01,KahAO3);{if(!(!TifAa1(J7Iki4,RcNOn)))goto -IPzvA4;{{if(!(!TifAa1(J7Iki4,RcNOn)))goto kLvtw2;{{if(!(!TifAa1( -J7Iki4,RcNOn)))goto YpjhR3;{return cy2jE4;}YpjhR3:;}}kLvtw2:;}} -IPzvA4:;}return tXFTB4;}static enum bmwN91 Plb1C3(kWMzp1*J7Iki4){ -unsigned long RcNOn;J7Iki4->fV7o35->x2akp.V9ej93.I9g9T1|=0x1;RcNOn= -hoRsQ4(ALDl73);{if(!(!TifAa1(J7Iki4,RcNOn)))goto X411V1;{{if(!(! -TifAa1(J7Iki4,RcNOn)))goto oChue3;{return cy2jE4;}oChue3:;}}X411V1:; -}WdqxE(J7Iki4,0x4);J7Iki4->fV7o35->x2akp.V9ej93.KfMd1&=0;{cKzYE4:{ -__asm __volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : : -"cc");__asm __volatile(""::);}if(0)goto cKzYE4;};RQO4U4(J7Iki4);RcNOn -=FAUQ42();{if(!(!TifAa1(J7Iki4,RcNOn)))goto Lkzmt4;{{if(!(!TifAa1( -J7Iki4,RcNOn)))goto yxhJn3;{return cy2jE4;}yxhJn3:;}}Lkzmt4:;}WdqxE( -J7Iki4,0x4);yoLEn3(J7Iki4);return tXFTB4;}__forceinline static int -Nq5gq(kWMzp1*J7Iki4,unsigned LigBO2){unsigned tXqwg=0;unsigned YBd0u= -0;DCf0T2*esWTk2;QDNE6*a02Gz4;tJ1Kb4*nusR52;esWTk2=J7Iki4->pnKue2[ -LigBO2].pBSeu3;a02Gz4=esWTk2->a02Gz4;nusR52=esWTk2->NpyOc1.GEbPX4;{ -if(!(nusR52!=0))goto Im7I32;{{z0p665:if(!(1))goto w9YaE;{{if(!( -nusR52->_8WVQ2.zACHc3._8WVQ2.V9ej93.Hqc15))goto IpOCN3;{YBd0u++;tXqwg -+=nusR52->_8WVQ2.zACHc3._8WVQ2.V9ej93.Hqc15;}IpOCN3:;}{if(!(nusR52-> -_8WVQ2.zACHc3._8WVQ2.V9ej93.DEVTm4))goto oEUKM;goto w9YaE;oEUKM:;}; -nusR52=osQ5M(J7Iki4,nusR52->_8WVQ2.zACHc3.eSf3B1);}goto z0p665;w9YaE -:;}}Im7I32:;};{e1zdp3:if(!(YBd0u<010||tXqwg<1024))goto K0PS_4;{ -unsigned wBvfo4,dAXWu2;{vhYwo:if(!(esWTk2->NpyOc1.yjr7l4>=a02Gz4-> -NpyOc1.uwYQG1.Fcabx))goto rtRgZ2;{esWTk2=esWTk2->NpyOc1.OXCDa4;{if(!( -esWTk2==0))goto mM2wb4;{return 1;}mM2wb4:;};a02Gz4=esWTk2->a02Gz4;} -goto vhYwo;rtRgZ2:;}nusR52=D77H33(J7Iki4,esWTk2);{if(!( -__builtin_expect(nusR52==0,0)))goto TnCss1;{{if(!(esWTk2->NpyOc1. -qXXnD2))goto FJo9S4;{}FJo9S4:;}{if(!(J7Iki4->pnKue2[LigBO2].pBSeu3-> -NpyOc1.GEbPX4==0))goto gKLhx2;{return 0;}goto KXgOV1;gKLhx2:;{return -01;}KXgOV1:;}}TnCss1:;}dAXWu2=a02Gz4->NpyOc1.uwYQG1.Fcabx-esWTk2-> -NpyOc1.yjr7l4;{if(!(dAXWu2>017774))goto HYIjv3;{if(!(dAXWu2>=017774*2 -))goto SQSyi;wBvfo4=017774;goto mJiY13;SQSyi:;wBvfo4=dAXWu2/0x2&~3u; -mJiY13:;}goto lcFs74;HYIjv3:;wBvfo4=dAXWu2;lcFs74:;};nusR52->_8WVQ2. -fbiOR4._8WVQ2.dZK6h3=1073741824ul|536870912ul|(wBvfo4<<16u);nusR52-> -_8WVQ2.zACHc3.agWoi2=a02Gz4->NpyOc1.uwYQG1.Avyuu1+esWTk2->NpyOc1. -yjr7l4;esWTk2->NpyOc1.yjr7l4+=wBvfo4;{if(!(esWTk2->NpyOc1.yjr7l4>= -a02Gz4->NpyOc1.uwYQG1.Fcabx))goto MR2SE3;{{if(!(a02Gz4->QvZLK&32768u))goto -jeGMS4;nusR52->_8WVQ2.fbiOR4._8WVQ2.dZK6h3|=2048ul;jeGMS4:;}{if(!(( -J7Iki4->LFVWc4[LigBO2]&128ul)!=0||(a02Gz4->QvZLK&16384u)!=0))goto -_mpEV4;{nusR52->_8WVQ2.fbiOR4._8WVQ2.dZK6h3|=2147483648ul;{if(!(( -J7Iki4->LFVWc4[LigBO2]&15ul)==0))goto GOOtv4;nusR52->_8WVQ2.fbiOR4. -_8WVQ2.dZK6h3|=0x1;GOOtv4:;}}_mpEV4:;}}MR2SE3:;}{if(!(esWTk2->NpyOc1. -GEbPX4==0))goto VJ_r55;{esWTk2->NpyOc1.GEbPX4=nusR52;}goto Zr_6O4; -VJ_r55:;{J7Iki4->RZWDZ2[LigBO2]->OXCDa4=nusR52;}Zr_6O4:;}fOVyT4( -J7Iki4,LigBO2,nusR52);esWTk2->NpyOc1.qXXnD2=nusR52;tXqwg+=wBvfo4; -YBd0u++;}goto e1zdp3;K0PS_4:;}return 1;}__noinline static tJ1Kb4* -i3w1H(kWMzp1*J7Iki4,unsigned LigBO2){{if(!(J7Iki4->pnKue2[LigBO2]. -pBSeu3==0))goto f_VTj2;return 0;f_VTj2:;}{if(!(!Nq5gq(J7Iki4,LigBO2)))goto -zUDsZ1;{J7Iki4->pnKue2[LigBO2].pBSeu3->a02Gz4->j5MYx|=0x1ul;{if(!( -J7Iki4->YRHFy->b_7cQ4))goto pqlS85;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->b_7cQ4(J7Iki4->YRHFy,LigBO2,01ul);h2LrH3(&J7Iki4->h2LrH3);} -pqlS85:;}fjOw35(J7Iki4,LigBO2);return 0;}zUDsZ1:;}return J7Iki4-> -pnKue2[LigBO2].pBSeu3->NpyOc1.GEbPX4;}__noinline static void gYC_T3( -kWMzp1*J7Iki4,int LigBO2){{if(!(LigBO2>=0))goto DjT5Q4;J7Iki4-> -a6vkI2|=sTQei1[LigBO2];goto cCsSw;DjT5Q4:;LigBO2=0;cCsSw:;}{if(!( -J7Iki4->QIA5L==0))goto sAo0c3;{J7Iki4->QIA5L=1;{oL3aI4:{{if(!(J7Iki4 -->a6vkI2&sTQei1[LigBO2]))goto RWVVa2;{unsigned long _oAId;tJ1Kb4* -yzaNE1;tJ1Kb4*keSgZ1=J7Iki4->RZWDZ2[LigBO2];yzaNE1=i3w1H(J7Iki4, -LigBO2);_oAId=J7Iki4->Rc7LY4.ZuiJe3[LigBO2];{if(!(yzaNE1==0))goto -IdWL8;{keSgZ1->_8WVQ2.fbiOR4._8WVQ2.dZK6h3=2147483648ul| -1073741824ul;{if(!(_oAId!=keSgZ1->MDSlK2))goto xp82U2;{J7Iki4-> -Rc7LY4.rGUtq3[LigBO2].FdyFT1=keSgZ1->MDSlK2;{if(!(J7Iki4->nCdFc[ -LigBO2]))goto DVFLm4;{unsigned QvZLK=BhIif3;B7zr54(J7Iki4,LigBO2, -QvZLK);}DVFLm4:;}}xp82U2:;}goto LVAok1;}IdWL8:;};J7Iki4->Rc7LY4. -rGUtq3[LigBO2].FdyFT1=yzaNE1->MDSlK2;{if(!(_oAId))goto oIbtC2;{tJ1Kb4 - *us8_Z4, *nusR52;{if(!(_oAId==yzaNE1->MDSlK2))goto B8Ifq1;{goto -LVAok1;}B8Ifq1:;}us8_Z4=osQ5M(J7Iki4,_oAId);{if(!(yzaNE1->Lrwko2== -us8_Z4))goto fxz9x3;{{if(!(us8_Z4->_8WVQ2.zACHc3.eSf3B1==yzaNE1-> -MDSlK2))goto myeQg;{goto LVAok1;}goto ULi9T2;myeQg:;{yzaNE1->Lrwko2 -=0;}ULi9T2:;}}fxz9x3:;}{if(!(yzaNE1->Lrwko2!=0))goto n2CnY;{nusR52= -yzaNE1;{ab1tV:if(!(!nusR52->_8WVQ2.zACHc3._8WVQ2.V9ej93.DEVTm4))goto -UKMEh;{tJ1Kb4*OXCDa4;{if(!(nusR52->_8WVQ2.zACHc3.eSf3B1==us8_Z4-> -MDSlK2))goto FYh3J2;{goto LVAok1;}FYh3J2:;}OXCDa4=osQ5M(J7Iki4, -nusR52->_8WVQ2.zACHc3.eSf3B1);{if(!(OXCDa4->Lrwko2!=nusR52))goto -T_rNX1;{goto UKMEh;}T_rNX1:;};nusR52=OXCDa4;}goto ab1tV;UKMEh:;}} -goto dC2KI2;n2CnY:;{}dC2KI2:;}us8_Z4->Lrwko2=0;nusR52=osQ5M(J7Iki4, -us8_Z4->_8WVQ2.zACHc3.eSf3B1);nusR52->Lrwko2=0;}oIbtC2:;}{if(!(yzaNE1 -!=J7Iki4->RZWDZ2[LigBO2]))goto Lpzrp2;fOVyT4(J7Iki4,LigBO2,yzaNE1); -Lpzrp2:;}{if(!(J7Iki4->nCdFc[LigBO2]))goto PQH2r4;{{if(!(_oAId!= -keSgZ1->MDSlK2))goto HX6TW1;{B7zr54(J7Iki4,LigBO2,T8skA);}HX6TW1:;}} -goto ubd8s4;PQH2r4:;{yzaNE1->Lrwko2=yzaNE1;}ubd8s4:;}LVAok1:J7Iki4-> -a6vkI2&=OgFMa4[LigBO2];}RWVVa2:;}LigBO2=(LigBO2+0x1)%32;}if(J7Iki4-> -a6vkI2)goto oL3aI4;};J7Iki4->QIA5L=0;}sAo0c3:;}}__forceinline static -void kueUq2(kWMzp1*J7Iki4,unsigned LigBO2,unsigned FKb152){J7Iki4-> -v1h0c2[LigBO2]|=FKb152;J7Iki4->ZWSDs2.twfX61|=sTQei1[LigBO2];} -__noinline static void UK8sN4(kWMzp1*J7Iki4){unsigned LigBO2,wBvfo4, -j5MYx,Vl2C45;unsigned long _oAId;DCf0T2*esWTk2;tJ1Kb4*nusR52;Vl2C45=( -256*02) *03;{YkQWU:{cbk1I1 mlK913;{if(!(010))goto pcvjC1;{unsigned -rprjq3=J7Iki4->MLZ_Y+(256*2)-0x8;{if(!(__builtin_expect(J7Iki4-> -KMSZr2[rprjq3%(256*02)]!=0,0)))goto e2IbG;{J7Iki4->a6vkI2= -0xFFFFFFFFul>>(32-32);{if(!(J7Iki4->YRHFy->b_7cQ4))goto CVYbb;{uYS5N2 -(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy,-0x1,262144ul); -h2LrH3(&J7Iki4->h2LrH3);}CVYbb:;}}e2IbG:;}}pcvjC1:;}mlK913.dZK6h3= -KAeao3(((long volatile* )(&J7Iki4->KMSZr2[J7Iki4->MLZ_Y])),0);{if(!( -__builtin_expect(mlK913.dZK6h3==0,0)))goto UrxuH3;{{if(!( -__builtin_expect(Vl2C45==(256*2) *03,0)))goto krOiU3;{unsigned X3V8j4 -=J7Iki4->MLZ_Y;{DTp3J3:{X3V8j4=(X3V8j4+0x1)%(256*2);mlK913.dZK6h3= -KAeao3(((long volatile* )(&J7Iki4->KMSZr2[X3V8j4])),0);{if(!(mlK913. -dZK6h3))goto dKE2i2;{J7Iki4->MLZ_Y=X3V8j4;goto NdUwf2;}dKE2i2:;}}if( -X3V8j4!=J7Iki4->MLZ_Y)goto DTp3J3;};}krOiU3:;}goto RSzFw3;}UrxuH3:;} -NdUwf2:;J7Iki4->MLZ_Y=(J7Iki4->MLZ_Y+1)%(256*0x2);{if(!( -__builtin_expect(mlK913.V9ej93.ADaUw!=eORWN1,0)))goto GPV2K1;{goto -YkQWU;}GPV2K1:;};LigBO2=mlK913.V9ej93.hj5891;{if(!((unsigned)32<( -unsigned)32&&LigBO2>=32))goto u2lRM2;{goto YkQWU;}u2lRM2:;}J7Iki4-> -a6vkI2|=sTQei1[LigBO2];_oAId=J7Iki4->Rc7LY4.ZuiJe3[LigBO2];esWTk2= -J7Iki4->pnKue2[LigBO2].pBSeu3;{if(!(__builtin_expect(mlK913.V9ej93. -nDLY04||mlK913.V9ej93.GrYG41,0)))goto trLqh;{j5MYx=0;{if(!(mlK913. -V9ej93.nDLY04))goto jRmCW3;{j5MYx|=2ul;}goto jF1xt;jRmCW3:;{if(!( -mlK913.V9ej93.KYiBO3&&mlK913.V9ej93.GrYG41))goto WCbUG1;{j5MYx|=32ul -;}goto D_jBx1;WCbUG1:;{j5MYx|=64ul;}D_jBx1:;}jF1xt:;}{if(!(esWTk2))goto -U13PG3;esWTk2->a02Gz4->j5MYx|=j5MYx;U13PG3:;}kueUq2(J7Iki4,LigBO2, -j5MYx);}trLqh:;}{if(!(__builtin_expect(!mlK913.V9ej93.WtICk3,0)))goto -wQGHB2;{goto YkQWU;}wQGHB2:;}{if(!(__builtin_expect(esWTk2==0,0)))goto -I_wxz;{goto sPUN83;}I_wxz:;}nusR52=esWTk2->NpyOc1.GEbPX4;{if(!( -__builtin_expect(nusR52==0,0)))goto PNEDs3;goto sPUN83;PNEDs3:;} -wBvfo4=nusR52->_8WVQ2.fbiOR4._8WVQ2.V9ej93.Hqc15;{if(!(nusR52->_8WVQ2 -.fbiOR4._8WVQ2.V9ej93.Ww9nZ4))goto QP4kl4;wBvfo4+=01u<<015;QP4kl4:;} -esWTk2->a02Gz4->NpyOc1.uwYQG1.BLFVJ4+=wBvfo4;{if(!(esWTk2->a02Gz4-> -NpyOc1.uwYQG1.BLFVJ4>=esWTk2->a02Gz4->NpyOc1.uwYQG1.Fcabx))goto _MoA13 -;{fjOw35(J7Iki4,LigBO2);}goto DGCZj;_MoA13:;{esWTk2->NpyOc1. -GEbPX4=((esWTk2->NpyOc1.GEbPX4))->OXCDa4;{if(!(esWTk2->NpyOc1.GEbPX4 -==0))goto GTljv4;{esWTk2->NpyOc1.qXXnD2=0;}GTljv4:;}}DGCZj:;}sPUN83:; -J7Iki4->a6vkI2|=sTQei1[LigBO2];}if(--Vl2C45)goto YkQWU;RSzFw3:;}; -gYC_T3(J7Iki4,-01);}static unsigned __fastcall YnF_24(QiOkk4 OS6VN2){ -unsigned j5MYx=0;{if(!(OS6VN2.V9ej93.TbIRU3))goto CzEWk1;j5MYx|= -1024ul;CzEWk1:;}{if(!(OS6VN2.V9ej93.Hw1x02))goto EGSg3;j5MYx|=2048ul; -EGSg3:;}{if(!(OS6VN2.V9ej93.pJ7gv1))goto nzoh14;j5MYx|=512ul;nzoh14:; -}{if(!(OS6VN2.V9ej93.ETBla3))goto bMF5K3;j5MYx|=4096ul;bMF5K3:;}{if(! -(OS6VN2.V9ej93.Gp2G51))goto h9opJ3;j5MYx|=8192ul;h9opJ3:;}{if(!( -OS6VN2.V9ej93.hAxq53))goto GGvQ51;j5MYx|=256ul;GGvQ51:;}{if(!(OS6VN2. -V9ej93.z1nNq2))goto eVrRl2;j5MYx|=128ul;eVrRl2:;}{if(!(j5MYx))goto -T9jme2;{}T9jme2:;}return j5MYx;}static unsigned __fastcall AkbwI1( -kWMzp1*J7Iki4,unsigned LigBO2,IxW_32 mlK913){unsigned VYzht3;tJ1Kb4* -nusR52;unsigned j5MYx=0;{if(!(__builtin_expect(mlK913.V9ej93.nDLY04 -||mlK913.V9ej93.TbIRU3,0)))goto njRLK2;{{if(!(mlK913.V9ej93.nDLY04))goto -TxRHu3;{j5MYx|=0x2ul;}TxRHu3:;}{if(!(mlK913.V9ej93.TbIRU3))goto -tvICL1;{j5MYx|=1024ul;}tvICL1:;}}njRLK2:;}nusR52=osQ5M(J7Iki4,J7Iki4 -->Rc7LY4.rGUtq3[LigBO2].xzeKf3);VYzht3=0;{V5lif4:{{if(!(nusR52== -J7Iki4->PGmy4[LigBO2]))goto i4zzA2;goto lQTl74;i4zzA2:;}{if(!(nusR52 -->_8WVQ2.SpbRG4.Yj6gL2.V9ej93.Vmiuc3))goto nR0Nt;j5MYx|=YnF_24(nusR52 -->_8WVQ2.SpbRG4.Yj6gL2);nR0Nt:;}nusR52=osQ5M(J7Iki4,nusR52->_8WVQ2. -zACHc3.eSf3B1);}if(nusR52->MDSlK2!=J7Iki4->Rc7LY4.AC5eU1[LigBO2]&& -nusR52->MDSlK2!=nusR52->_8WVQ2.zACHc3.eSf3B1)goto V5lif4;lQTl74:;}; -return j5MYx;}static void XHCWr2(kWMzp1*J7Iki4,unsigned LigBO2){ -QiOkk4 OS6VN2;OS6VN2.h80jx1=KAeao3(((long volatile* )(&J7Iki4->PGmy4[ -LigBO2]->_8WVQ2.SpbRG4.Yj6gL2.h80jx1)),0);{if(!(OS6VN2.h80jx1& -1073741824ul))goto EGxmw4;{unsigned j5MYx=YnF_24(OS6VN2);{if(!(OS6VN2 -.h80jx1&(2147483648ul|536805376ul)))goto TlNLh4;j5MYx|=128ul;TlNLh4:; -}{if(!(j5MYx))goto AzPQ35;kueUq2(J7Iki4,LigBO2,j5MYx);AzPQ35:;}} -EGxmw4:;}}__noinline static void jK7VQ3(kWMzp1*J7Iki4){int LigBO2, -j5MYx,Vl2C45;unsigned long c5SHY1;DCf0T2*esWTk2;tJ1Kb4*nusR52;int -kvYKl=0;Vl2C45=(256*2) *0x3;{VlZ2k:{IxW_32 mlK913;{if(!(010))goto -EneUG;{unsigned rprjq3=J7Iki4->yODLB3+(256*0x2)-0x8;{if(!( -__builtin_expect(J7Iki4->Ragva2[rprjq3%(256*2)]!=0,0)))goto uEgvT;{ -J7Iki4->F46242=0xFFFFFFFFul>>(32-32);{if(!(J7Iki4->YRHFy->b_7cQ4))goto -n8n7E3;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy, --1,524288ul);h2LrH3(&J7Iki4->h2LrH3);}n8n7E3:;}}uEgvT:;}}EneUG:;} -mlK913.dZK6h3=KAeao3(((long volatile* )(&J7Iki4->Ragva2[J7Iki4-> -yODLB3])),0);{if(!(__builtin_expect(mlK913.dZK6h3==0,0)))goto ARDIu1; -{{if(!(__builtin_expect(Vl2C45==(256*2) *03,0)))goto dgebC;{unsigned -X3V8j4=J7Iki4->yODLB3;{hph9c1:{X3V8j4=(X3V8j4+1)%(256*2);mlK913. -dZK6h3=KAeao3(((long volatile* )(&J7Iki4->Ragva2[X3V8j4])),0);{if(!( -mlK913.dZK6h3))goto aizpO2;{J7Iki4->yODLB3=X3V8j4;goto NdUwf2;}aizpO2 -:;}}if(X3V8j4!=J7Iki4->yODLB3)goto hph9c1;};}dgebC:;}{eh6MF:if(!( -__builtin_expect(kvYKl,0)))goto Pt3QC3;{nvqbt();LigBO2=32-01;{mfE5L1: -{esWTk2=J7Iki4->_jfrJ1[LigBO2].pBSeu3;{if(!(esWTk2))goto EkEeN1;{ -nusR52=esWTk2->NpyOc1.GEbPX4;{if(!(nusR52&&nusR52->_8WVQ2.SpbRG4. -Yj6gL2.V9ej93.Vmiuc3&&(c5SHY1=J7Iki4->Rc7LY4.AC5eU1[LigBO2])!=nusR52 -->MDSlK2))goto zgrSq2;{nvqbt();mlK913.dZK6h3=KAeao3(((long volatile* )( -&J7Iki4->Ragva2[J7Iki4->yODLB3])),0);{if(!(mlK913.dZK6h3))goto teFD23 -;goto NdUwf2;teFD23:;}goto HSsG5;}zgrSq2:;}}EkEeN1:;}}if(--LigBO2>=0)goto -mfE5L1;};--kvYKl;}goto eh6MF;Pt3QC3:;}goto dUxYz4;}ARDIu1:;}NdUwf2: -J7Iki4->yODLB3=(J7Iki4->yODLB3+01)%(256*0x2);{if(!(__builtin_expect( -mlK913.V9ej93.ADaUw!=SaEs82,0)))goto IlVem3;{goto VlZ2k;}IlVem3:;}; -LigBO2=mlK913.V9ej93.hj5891;{if(!((unsigned)32<(unsigned)32&&( -unsigned)LigBO2>=32))goto jUWId1;{goto VlZ2k;}jUWId1:;};c5SHY1= -J7Iki4->Rc7LY4.AC5eU1[LigBO2];HSsG5:{if(!(__builtin_expect(c5SHY1==0, -0)))goto DFI143;{Tjj6h4:j5MYx=AkbwI1(J7Iki4,LigBO2,mlK913);{if(!( -j5MYx))goto BVyzP;kueUq2(J7Iki4,LigBO2,j5MYx);BVyzP:;}goto sPUN83;} -DFI143:;}{if(!(J7Iki4->mNYxW2[LigBO2]))goto z06ol;XHCWr2(J7Iki4, -LigBO2);z06ol:;}esWTk2=J7Iki4->_jfrJ1[LigBO2].pBSeu3;{if(!( -__builtin_expect(esWTk2==0,0)))goto pH2kI3;{{if(!(c5SHY1==J7Iki4-> -PGmy4[LigBO2]->MDSlK2))goto r40Gn;{goto VlZ2k;}r40Gn:;};goto Tjj6h4; -}pH2kI3:;}nusR52=esWTk2->NpyOc1.GEbPX4;{if(!((nusR52==0)))goto wNWnF1 -;{goto Tjj6h4;}wNWnF1:;};{if(!(__builtin_expect(mlK913.V9ej93.nDLY04 -||mlK913.V9ej93.TbIRU3,0)))goto Z72GC2;{j5MYx=0;{if(!(mlK913.V9ej93. -nDLY04))goto Q2vxE1;{j5MYx|=02ul;}Q2vxE1:;}{if(!(mlK913.V9ej93. -TbIRU3))goto cU1Kg2;{j5MYx|=1024ul;}cU1Kg2:;}{if(!(j5MYx))goto fnvKI1 -;kueUq2(J7Iki4,LigBO2,j5MYx);fnvKI1:;}}Z72GC2:;}{if(!( -__builtin_expect(!mlK913.V9ej93.WtICk3,0)))goto Mz7sL2;{goto VlZ2k;} -Mz7sL2:;};{if(!(!nusR52->_8WVQ2.SpbRG4.Yj6gL2.V9ej93.Vmiuc3))goto -ToFWu3;{goto sPUN83;}ToFWu3:;}{if(!(__builtin_expect(nusR52->MDSlK2 -==c5SHY1,0)))goto Xd6Dv1;{nvqbt();{if(!(__builtin_expect(c5SHY1== -J7Iki4->Rc7LY4.AC5eU1[LigBO2],0)))goto ovrUX2;{kvYKl++;goto VlZ2k;} -ovrUX2:;}}Xd6Dv1:;}esWTk2->a02Gz4->j5MYx|=YnF_24(nusR52->_8WVQ2. -SpbRG4.Yj6gL2);esWTk2->a02Gz4->NpyOc1.JI0PC2.n1IfW3+=nusR52->_8WVQ2. -SpbRG4.Yj6gL2.V9ej93.ssopP1;{if(!(nusR52->_8WVQ2.SpbRG4.Yj6gL2.V9ej93 -.oeReu4))goto Jj0711;{esWTk2->a02Gz4->NpyOc1.JI0PC2.bc1R53=1;u0bxl3 -(J7Iki4,LigBO2);{if(!(nusR52->OXCDa4))goto RXfqm;{{if(!(J7Iki4-> -_jfrJ1[LigBO2].pBSeu3!=0&&(J7Iki4->LFVWc4[LigBO2]&32ul)!=0))goto -GRELQ2;{kueUq2(J7Iki4,LigBO2,16384ul);J7Iki4->_jfrJ1[LigBO2].pBSeu3-> -a02Gz4->j5MYx|=16384ul;}GRELQ2:;}}RXfqm:;}}goto jgvi52;Jj0711:;{if(!( -esWTk2->a02Gz4->NpyOc1.JI0PC2.n1IfW3>=esWTk2->a02Gz4->NpyOc1.JI0PC2. -r9yJB))goto VqOPd4;{{if(!((J7Iki4->LFVWc4[LigBO2]&64ul)!=0))goto dXYNX -;{kueUq2(J7Iki4,LigBO2,32768ul);esWTk2->a02Gz4->j5MYx|=32768ul;}dXYNX -:;};u0bxl3(J7Iki4,LigBO2);}goto RYuAa2;VqOPd4:;{esWTk2->NpyOc1. -GEbPX4=esWTk2->NpyOc1.GEbPX4->OXCDa4;{if(!(esWTk2->NpyOc1.GEbPX4==0))goto -iP65M1;{esWTk2->NpyOc1.qXXnD2=0;}iP65M1:;}JbQTW(J7Iki4,nusR52);} -RYuAa2:;}jgvi52:;}sPUN83:;J7Iki4->F46242|=sTQei1[LigBO2];}if(--Vl2C45 -)goto VlZ2k;dUxYz4:;};q0ypK(J7Iki4,-01);}__forceinline static int -Kf8n_4(kWMzp1*J7Iki4,unsigned LigBO2){DCf0T2*esWTk2;QDNE6*a02Gz4; -tJ1Kb4*VN7ed4=0;tJ1Kb4*nusR52;unsigned yBXD22=0;unsigned zyF2Y3=0; -esWTk2=J7Iki4->_jfrJ1[LigBO2].pBSeu3;a02Gz4=J7Iki4->_jfrJ1[LigBO2]. -pBSeu3->a02Gz4;nusR52=esWTk2->NpyOc1.GEbPX4;{if(!(nusR52!=0))goto -EobCl2;{UUEy33:if(!(0x1))goto aD1CI2;{zyF2Y3++;yBXD22+=nusR52-> -_8WVQ2.zACHc3._8WVQ2.V9ej93.Hqc15;{if(!(nusR52->_8WVQ2.zACHc3.eSf3B1 -==J7Iki4->PGmy4[LigBO2]->MDSlK2))goto h3Uf91;goto aD1CI2;h3Uf91:;} -nusR52=osQ5M(J7Iki4,nusR52->_8WVQ2.zACHc3.eSf3B1);}goto UUEy33;aD1CI2 -:;}EobCl2:;};VN7ed4=0;{SZvSz2:if(!(zyF2Y3<010||yBXD22<1024))goto -fBu6j2;{unsigned wBvfo4,dAXWu2;{SJOG34:if(!(esWTk2->NpyOc1.yjr7l4>= -a02Gz4->NpyOc1.JI0PC2.r9yJB))goto zsCVP1;{VN7ed4=esWTk2->NpyOc1. -qXXnD2;esWTk2=esWTk2->NpyOc1.OXCDa4;{if(!(esWTk2==0))goto pNOb85;{ -return 0x1;}pNOb85:;};a02Gz4=esWTk2->a02Gz4;}goto SJOG34;zsCVP1:;} -nusR52=D77H33(J7Iki4,esWTk2);{if(!(__builtin_expect(nusR52==0,0)))goto -rmURl1;{{if(!(esWTk2->NpyOc1.qXXnD2))goto ERKOn1;{}ERKOn1:;}{if(!( -J7Iki4->_jfrJ1[LigBO2].pBSeu3->NpyOc1.GEbPX4==0))goto _9kGv4;{return -0;}goto sZXIr;_9kGv4:;{return 01;}sZXIr:;};}rmURl1:;}dAXWu2=a02Gz4-> -NpyOc1.JI0PC2.r9yJB-esWTk2->NpyOc1.yjr7l4;{if(!(dAXWu2>017774))goto -Drfpj;{if(!(dAXWu2>=017774*2))goto NaRlK3;wBvfo4=017774;goto gSQHi; -NaRlK3:;wBvfo4=dAXWu2/2&~0x3u;gSQHi:;}goto B94ig3;Drfpj:;wBvfo4= -dAXWu2;B94ig3:;};nusR52->_8WVQ2.SpbRG4.ixItX3.T21Gw2=536870912ul|( -wBvfo4<<16u);{dhx3O2:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -dhx3O2;};nusR52->_8WVQ2.zACHc3.agWoi2=a02Gz4->NpyOc1.JI0PC2.Avyuu1+ -esWTk2->NpyOc1.yjr7l4;nusR52->_8WVQ2.zACHc3.eSf3B1=J7Iki4->PGmy4[ -LigBO2]->MDSlK2;esWTk2->NpyOc1.yjr7l4+=wBvfo4;{if(!(esWTk2->NpyOc1. -GEbPX4==0))goto ATPk83;{esWTk2->NpyOc1.GEbPX4=nusR52;}goto CGimB; -ATPk83:;{esWTk2->NpyOc1.qXXnD2->OXCDa4=nusR52;}CGimB:;}{if(!(VN7ed4 -))goto REtHu4;{KAeao3((volatile long* )&VN7ed4->_8WVQ2.zACHc3.eSf3B1 -,nusR52->MDSlK2);nusR52->Lrwko2=(tJ1Kb4* )VN7ed4;}REtHu4:;}VN7ed4= -esWTk2->NpyOc1.qXXnD2=nusR52;yBXD22+=wBvfo4;zyF2Y3++;}goto SZvSz2; -fBu6j2:;};return 01;}__noinline static tJ1Kb4*O6fhT(kWMzp1*J7Iki4, -unsigned LigBO2){{if(!(J7Iki4->_jfrJ1[LigBO2].pBSeu3==0))goto OjNlS3; -{return 0;}OjNlS3:;}{if(!(__builtin_expect(!Kf8n_4(J7Iki4,LigBO2),0)))goto -URQaM4;{J7Iki4->_jfrJ1[LigBO2].pBSeu3->a02Gz4->j5MYx|=0x1ul;{if(!( -J7Iki4->YRHFy->b_7cQ4))goto R1VyQ;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->b_7cQ4(J7Iki4->YRHFy,LigBO2,01ul);h2LrH3(&J7Iki4->h2LrH3);} -R1VyQ:;}u0bxl3(J7Iki4,LigBO2);return 0;}URQaM4:;}return J7Iki4-> -_jfrJ1[LigBO2].pBSeu3->NpyOc1.GEbPX4;}__noinline static void q0ypK( -kWMzp1*J7Iki4,int LigBO2){{if(!(LigBO2>=0))goto JHPwk3;J7Iki4-> -F46242|=sTQei1[LigBO2];goto R154I4;JHPwk3:;LigBO2=0;R154I4:;}{if(!( -J7Iki4->iTAD3==0))goto HvTcD2;{J7Iki4->iTAD3=1;{Ng8yU1:{{if(!(J7Iki4 -->F46242&sTQei1[LigBO2]))goto kkV5s1;{unsigned long c5SHY1;tJ1Kb4* -yzaNE1;c5SHY1=J7Iki4->Rc7LY4.AC5eU1[LigBO2];yzaNE1=O6fhT(J7Iki4, -LigBO2);{if(!(yzaNE1==0))goto Weoum2;{{if(!(c5SHY1!=J7Iki4->PGmy4[ -LigBO2]->MDSlK2))goto FUeC9;{{if(!(c5SHY1))goto zhcEg4;{tJ1Kb4*nusR52 -=osQ5M(J7Iki4,c5SHY1);nusR52->Lrwko2=0;nusR52=osQ5M(J7Iki4,nusR52-> -_8WVQ2.zACHc3.eSf3B1);nusR52->Lrwko2=0;}zhcEg4:;}J7Iki4->PGmy4[LigBO2 -]->_8WVQ2.SpbRG4.Yj6gL2.h80jx1=0;J7Iki4->Rc7LY4.rGUtq3[LigBO2].xzeKf3 -=J7Iki4->PGmy4[LigBO2]->MDSlK2;{if(!(J7Iki4->mNYxW2[LigBO2]))goto -XXDVD;{unsigned QvZLK=Xlqk;{if(!(J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP. -V9ej93.L221t4&1))goto JNeRE;QvZLK=VHvU93;JNeRE:;}GV2iC4(J7Iki4,LigBO2 -,QvZLK);}XXDVD:;}}FUeC9:;}goto LVAok1;}Weoum2:;}J7Iki4->Rc7LY4.rGUtq3 -[LigBO2].xzeKf3=yzaNE1->MDSlK2;{if(!(c5SHY1))goto zLhpa1;{tJ1Kb4* -ZgZeQ, *nusR52;XHCWr2(J7Iki4,LigBO2);{if(!(c5SHY1==yzaNE1->MDSlK2))goto -uVuAT;{goto LVAok1;}uVuAT:;}ZgZeQ=osQ5M(J7Iki4,c5SHY1);{if(!(yzaNE1 -->Lrwko2==ZgZeQ))goto nG3fE3;{{if(!(ZgZeQ->_8WVQ2.zACHc3.eSf3B1== -yzaNE1->MDSlK2))goto cIphR4;{goto LVAok1;}cIphR4:;};yzaNE1->Lrwko2=0 -;}nG3fE3:;}{if(!(yzaNE1->Lrwko2!=0))goto TN3RI3;{tJ1Kb4*nusR52=yzaNE1 -;{mWi371:if(!(nusR52->_8WVQ2.SpbRG4.Yj6gL2.V9ej93.Vmiuc3))goto xBid64 -;{tJ1Kb4*OXCDa4;{if(!(nusR52->_8WVQ2.zACHc3.eSf3B1==ZgZeQ->MDSlK2))goto -Bnj9y2;{goto LVAok1;}Bnj9y2:;}OXCDa4=osQ5M(J7Iki4,nusR52->_8WVQ2. -zACHc3.eSf3B1);{if(!(OXCDa4->Lrwko2!=nusR52))goto thjAR2;{goto xBid64 -;}thjAR2:;};nusR52=OXCDa4;}goto mWi371;xBid64:;}}goto nnNc14;TN3RI3:; -{}nnNc14:;}ZgZeQ->Lrwko2=0;nusR52=osQ5M(J7Iki4,ZgZeQ->_8WVQ2.zACHc3. -eSf3B1);nusR52->Lrwko2=0;}zLhpa1:;}yzaNE1->Lrwko2=yzaNE1;{if(!(J7Iki4 -->mNYxW2[LigBO2]))goto qViB12;{unsigned QvZLK=Xlqk;{if(!(c5SHY1!= -J7Iki4->PGmy4[LigBO2]->MDSlK2&&J7Iki4->Rc7LY4.rGUtq3[LigBO2].xFtBP. -V9ej93.L221t4&01))goto GxG8D3;QvZLK=VHvU93;GxG8D3:;};GV2iC4(J7Iki4, -LigBO2,QvZLK);}qViB12:;}LVAok1:J7Iki4->F46242&=OgFMa4[LigBO2];}kkV5s1 -:;}LigBO2=(LigBO2+1)%32;}if(J7Iki4->F46242)goto Ng8yU1;};J7Iki4-> -iTAD3=0;}HvTcD2:;}}__noinline static void __fastcall EBgum1(kWMzp1* -J7Iki4){int X3V8j4;uYS5N2(&J7Iki4->h2LrH3);X3V8j4=32-1;{m08TL1:{{if( -!(J7Iki4->ZWSDs2.twfX61&sTQei1[X3V8j4]))goto gLNoJ4;{unsigned CE5Mv= -J7Iki4->v1h0c2[X3V8j4];J7Iki4->v1h0c2[X3V8j4]=0;J7Iki4->YRHFy->b_7cQ4 -(J7Iki4->YRHFy,X3V8j4,CE5Mv);}gLNoJ4:;}}if(--X3V8j4>=0)goto m08TL1;}; -h2LrH3(&J7Iki4->h2LrH3);J7Iki4->ZWSDs2.twfX61=0;}static void E2DoN1( -kWMzp1*J7Iki4,void*dYe4I2,void*r49eY4,unsigned long Cga1V,oSdJm*YRHFy -,nEC5K2 Gb8Is4){int X3V8j4;LbJOV lxfqy2;X3V8j4=sizeof( -kWMzp1)/sizeof(unsigned)-0x1;{nBPtF4:{((unsigned* )J7Iki4)[X3V8j4]=0; -}if(--X3V8j4>=0)goto nBPtF4;};J7Iki4->fV7o35=(LbJOV* )dYe4I2;J7Iki4-> -Cga1V=Cga1V;J7Iki4->YRHFy=YRHFy;J7Iki4->YRHFy->b_7cQ4=Gb8Is4;J7Iki4-> -fV7o35->PGh3e4=0;J7Iki4->fV7o35->YOy672=0xFFu;J7Iki4->fV7o35->P3rGX3= -~0u;J7Iki4->fV7o35->Be1a54=~0u;mqe7E2(&lxfqy2);lxfqy2.e6VgP3.V9ej93. -cWwbw|=0;lxfqy2.e6VgP3.V9ej93.aEuur1|=0;J7Iki4->Sc2KG4=((unsigned -long)&(((kWMzp1* )J7Iki4->Cga1V)->Rc7LY4));lxfqy2.uWETN2=((unsigned -long)&(((kWMzp1* )J7Iki4->Cga1V)->Sc2KG4));lxfqy2.JVax01=((unsigned -long)&(((kWMzp1* )J7Iki4->Cga1V)->KMSZr2));lxfqy2.o6C8s2=sizeof( -J7Iki4->KMSZr2)/64-01;lxfqy2._BCMS3=((unsigned long)&(((kWMzp1* )J7Iki4 -->Cga1V)->Ragva2));lxfqy2.ErtY2=sizeof(J7Iki4->Ragva2)/64-1;lxfqy2. -USKhR2=((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->n76Wf1));lxfqy2. -r_aQn=sizeof(J7Iki4->n76Wf1)/16-1;lxfqy2.BEfdP=~0u;lxfqy2.YosKg1= -lxfqy2.XPQnv1=((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->qs0N02)); -lxfqy2.eg17p3=lxfqy2.GiK3J1=1;J7Iki4->HQW5W1=((unsigned long)&((( -kWMzp1* )J7Iki4->Cga1V)->gCRyd3));lxfqy2.q6r1b3=((unsigned long)&((( -kWMzp1* )J7Iki4->Cga1V)->HQW5W1));lxfqy2.A1jmR4=135006975u;lxfqy2. -CvU4o2=7u;lxfqy2.x2akp.V9ej93.ohoqe3|=0xFFFC;lxfqy2.x2akp.V9ej93. -yA8D32|=4;lxfqy2.x2akp.V9ej93.YcoYR3|=0;lxfqy2.x2akp.V9ej93.kz_Xg4|= -0x4;lxfqy2.x2akp.V9ej93.a17ei2|=0;lxfqy2.x2akp.V9ej93.vkvip|=_ZUUf; -lxfqy2.IBcfz.V9ej93.PmhvS2|=1;lxfqy2.IBcfz.V9ej93.bwTTK3|=0;lxfqy2. -IBcfz.V9ej93.jh_B04|=0;lxfqy2.IBcfz.V9ej93.Aj3Sz3|=0;lxfqy2.x2akp. -V9ej93.I9g9T1&=0;lxfqy2.x2akp.V9ej93.KfMd1|=01;X3V8j4=(sizeof(J7Iki4 -->MEYPf1)/sizeof(J7Iki4->MEYPf1[0]))-01;{Q3_qn3:{J7Iki4->MEYPf1[ -X3V8j4].MDSlK2=((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->MEYPf1[ -X3V8j4]));J7Iki4->MEYPf1[X3V8j4].OXCDa4=&J7Iki4->MEYPf1[X3V8j4+0x1];} -if(--X3V8j4>=0)goto Q3_qn3;};J7Iki4->vCi6J4=&J7Iki4->MEYPf1[0];J7Iki4 -->ykU1G2=&J7Iki4->MEYPf1[(sizeof(J7Iki4->MEYPf1)/sizeof(J7Iki4-> -MEYPf1[0]))-1];J7Iki4->ykU1G2->OXCDa4=0;X3V8j4=(sizeof(J7Iki4->ikuha3 -)/sizeof(J7Iki4->ikuha3[0]))-2;{lyIxX:{J7Iki4->ikuha3[X3V8j4].woMv11. -OXCDa4=&J7Iki4->ikuha3[X3V8j4+0x1];}if(--X3V8j4>=0)goto lyIxX;}; -J7Iki4->QLWyF2=&J7Iki4->ikuha3[0];J7Iki4->ikuha3[(sizeof(J7Iki4-> -ikuha3)/sizeof(J7Iki4->ikuha3[0]))-1].woMv11.OXCDa4=0;X3V8j4=32-01;{ -nbL362:{inWLN1*e0wGb1;tJ1Kb4*Ha7yv3;tJ1Kb4*S4Krh1;e0wGb1=&J7Iki4-> -Rc7LY4.rGUtq3[X3V8j4];Ha7yv3=D77H33(J7Iki4,0);GjSDd(J7Iki4,Ha7yv3); -e0wGb1->xzeKf3=Ha7yv3->MDSlK2;S4Krh1=D77H33(J7Iki4,0);K5XcD(J7Iki4, -S4Krh1);e0wGb1->FdyFT1=S4Krh1->MDSlK2;{if(!(X3V8j4>=32&&32<32))goto -F5nxM3;{e0wGb1->xFtBP.V9ej93.LoGHc4|=0xFF;e0wGb1->xFtBP.V9ej93.D1JXh -|=g5zpH4|s9FHT4|EIMqn1;}goto _pIkW2;F5nxM3:;{J7Iki4->PGmy4[X3V8j4]= -Ha7yv3;J7Iki4->RZWDZ2[X3V8j4]=S4Krh1;lN6oU2(e0wGb1);}_pIkW2:;}}if(-- -X3V8j4>=0)goto nbL362;};X3V8j4=32-0x1;{QRWTL:{J7Iki4->Rc7LY4.ZKJvS1[ -X3V8j4].V9ej93.KJYtb1|=01;J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].V9ej93.iGfEm1 -|=1;J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].V9ej93.aUfOe1|=32-1;J7Iki4->Rc7LY4. -ZKJvS1[X3V8j4].V9ej93.dQ5DX|=32-01;}if(--X3V8j4>=0)goto QRWTL;}; -X3V8j4=32-01;{ZLV2r3:{J7Iki4->FmCLm3[X3V8j4].g5AWi=J7Iki4->FmCLm3[ -X3V8j4].lPHda=(unsigned char)(X3V8j4-01);J7Iki4->FmCLm3[X3V8j4]. -GISTQ2=J7Iki4->FmCLm3[X3V8j4].IG7lN3=0xFFu;}if(--X3V8j4>=0)goto ZLV2r3 -;};J7Iki4->FmCLm3[0].g5AWi=J7Iki4->FmCLm3[0].lPHda=0xFFu;J7Iki4-> -FmCLm3[0].GISTQ2=J7Iki4->FmCLm3[0].IG7lN3=0;TFC2u3(J7Iki4);lxfqy2. -PGh3e4=0;lxfqy2.YOy672=0xFFu;lxfqy2.P3rGX3=~0u;lxfqy2.Be1a54=~0u; -YqR582(&lxfqy2,J7Iki4->fV7o35);J7Iki4->fV7o35->Be1a54=~0u;}__noinline -static void rPhOt4(kWMzp1*J7Iki4,DCf0T2*esWTk2){QDNE6*a02Gz4=esWTk2-> -a02Gz4;{if(!(a02Gz4))goto iNjOw4;{a02Gz4->j5MYx|=16ul;{if(!(a02Gz4-> -bPudJ3!=esWTk2))goto YPRI24;{{VZV_c3:{QDNE6*OXCDa4=(QDNE6* )a02Gz4-> -bPudJ3;a02Gz4->bPudJ3=0;_n1S03(J7Iki4,a02Gz4);a02Gz4=OXCDa4;}if( -a02Gz4!=0)goto VZV_c3;};}goto tUjEn4;YPRI24:;{a02Gz4->bPudJ3=0;_n1S03 -(J7Iki4,a02Gz4);}tUjEn4:;}esWTk2->a02Gz4=0;}iNjOw4:;}}static void -c0gFy1(kWMzp1*J7Iki4,int mdbib4){int X3V8j4;inWLN1*e0wGb1;J7Iki4-> -fV7o35->PGh3e4=0;J7Iki4->fV7o35->YOy672=0xFFu;J7Iki4->fV7o35->P3rGX3= -~0u;J7Iki4->fV7o35->Be1a54=~0u;J7Iki4->fV7o35->A1jmR4=135006975u; -J7Iki4->fV7o35->CvU4o2=07u;X3V8j4=32-1;{IN1iH2:{J7Iki4->Rc7LY4.ZKJvS1 -[X3V8j4].V9ej93.KJYtb1=01;J7Iki4->Rc7LY4.ZKJvS1[X3V8j4].V9ej93.iGfEm1 -=01;}if(--X3V8j4>=0)goto IN1iH2;};e0wGb1=&J7Iki4->Rc7LY4.rGUtq3[0]; -X3V8j4=32-0x1;{QPCH7:{lN6oU2(e0wGb1);e0wGb1++;}if(--X3V8j4>=0)goto -QPCH7;};{if(!(!TifAa1(J7Iki4,WdFDP4(0,0,0,0,0,KahAO3))))goto P4DeQ1;{ -;}P4DeQ1:;}{if(!(!TifAa1(J7Iki4,WdFDP4(01,0,0,0,0,KahAO3))))goto -ipuJm1;{}ipuJm1:;}{if(!(!TifAa1(J7Iki4,WdFDP4(0,0,0,0,0,KahAO3))))goto -f3g0r;{}f3g0r:;}X3V8j4=sizeof(J7Iki4->qs0N02)-0x1;{BFjX54:{J7Iki4-> -qs0N02[X3V8j4]=0xCC;}if(--X3V8j4>=0)goto BFjX54;};J7Iki4->fV7o35-> -USKhR2=0+((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->qs0N02));J7Iki4 -->fV7o35->JVax01=04+((unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)-> -qs0N02));J7Iki4->fV7o35->_BCMS3=0x8+((unsigned long)&(((kWMzp1* )J7Iki4 -->Cga1V)->qs0N02));J7Iki4->fV7o35->YosKg1=014+((unsigned long)&((( -kWMzp1* )J7Iki4->Cga1V)->qs0N02));J7Iki4->fV7o35->XPQnv1=16+(( -unsigned long)&(((kWMzp1* )J7Iki4->Cga1V)->qs0N02));J7Iki4->fV7o35-> -r_aQn=01;J7Iki4->fV7o35->o6C8s2=1;J7Iki4->fV7o35->ErtY2=1;J7Iki4-> -fV7o35->eg17p3=1;J7Iki4->fV7o35->GiK3J1=1;{if(!(!TifAa1(J7Iki4,WdFDP4 -(0,0,0,0,0,KahAO3))))goto SMwwI;{}SMwwI:;}{if(!(!TifAa1(J7Iki4, -WdFDP4(0,0,0,0,0x1,KahAO3))))goto UCS581;{}UCS581:;}{if(!(!TifAa1( -J7Iki4,WdFDP4(0,0,0,0,0,KahAO3))))goto GjxqC4;{}GjxqC4:;};J7Iki4 -->fV7o35->USKhR2=0xFFFFF000ul;J7Iki4->fV7o35->JVax01=0xFFFFF000ul; -J7Iki4->fV7o35->_BCMS3=0xFFFFF000ul;J7Iki4->fV7o35->YosKg1= -0xFFFFF000ul;J7Iki4->fV7o35->XPQnv1=0xFFFFF000ul;J7Iki4->fV7o35-> -e6VgP3.dZK6h3=0;J7Iki4->fV7o35->y8QlL=0;J7Iki4->fV7o35->x2akp.dZK6h3= -0;J7Iki4->fV7o35->IBcfz.dZK6h3=0;J7Iki4->fV7o35->Be1a54=~0u;{if(!( -mdbib4))goto E831w4;{DCf0T2*esWTk2;esWTk2=J7Iki4->Nlajt1.pBSeu3;{ -yPKAR1:if(!(esWTk2))goto WYUtG1;{rPhOt4(J7Iki4,esWTk2);esWTk2=esWTk2 -->woMv11.OXCDa4;}goto yPKAR1;WYUtG1:;}esWTk2=J7Iki4->CUhqx4.pBSeu3;{ -iNQM3:if(!(esWTk2))goto V6G5Z1;{rPhOt4(J7Iki4,esWTk2);esWTk2=esWTk2-> -woMv11.OXCDa4;}goto iNQM3;V6G5Z1:;}X3V8j4=32-0x1;{XqjdO3:{esWTk2= -J7Iki4->pnKue2[X3V8j4].pBSeu3;{LG1ap2:if(!(esWTk2))goto mAY1g;{rPhOt4 -(J7Iki4,esWTk2);esWTk2=esWTk2->NpyOc1.OXCDa4;}goto LG1ap2;mAY1g:;} -esWTk2=J7Iki4->_jfrJ1[X3V8j4].pBSeu3;{ahkN84:if(!(esWTk2))goto xxSlZ; -{rPhOt4(J7Iki4,esWTk2);esWTk2=esWTk2->NpyOc1.OXCDa4;}goto ahkN84; -xxSlZ:;}}if(--X3V8j4>=0)goto XqjdO3;};}E831w4:;}X3V8j4=sizeof(kWMzp1)/ -sizeof(unsigned)-01;{Ai9235:{((unsigned* )J7Iki4)[X3V8j4]=0;}if(-- -X3V8j4>=0)goto Ai9235;};}static int i_1fA2(kWMzp1*J7Iki4,QDNE6*a02Gz4 -){int VpYRo1=0;DCf0T2*esWTk2;a02Gz4->j5MYx=0;a02Gz4->bPudJ3=0;{if(!( -a02Gz4->JbjvO4==0||(a02Gz4->QvZLK&((01u|2u|010u|16384u|32768u)|(16u| -32u|128u)|(256u|512u|1024u|2048u|8192u|4096u)|64u))==0||(a02Gz4-> -QvZLK&~((0x1u|02u|0x8u|16384u|32768u)|(16u|32u|128u)|(256u|512u|1024u -|2048u|8192u|4096u)|64u))!=0))goto vrimc2;return 0;vrimc2:;}{if(!( -a02Gz4->QvZLK&8u))goto UvPkN4;{VpYRo1++;}UvPkN4:;}{if(!(a02Gz4-> -QvZLK&128u))goto FfRTQ3;{VpYRo1++;}FfRTQ3:;}{if(!(a02Gz4->QvZLK&256u -))goto Qzf37;VpYRo1++;Qzf37:;}{if(!(a02Gz4->QvZLK&512u))goto OEjBA3; -VpYRo1++;OEjBA3:;}{if(!(a02Gz4->QvZLK&1024u))goto imkjX3;VpYRo1++; -imkjX3:;}{if(!(a02Gz4->QvZLK&2048u))goto wHwkE;VpYRo1++;wHwkE:;}{if(! -(a02Gz4->QvZLK&4096u))goto CrKFV;VpYRo1++;CrKFV:;}{if(!(64u&&(a02Gz4 -->QvZLK&64u)!=0))goto wlvGb2;VpYRo1++;wlvGb2:;}{if(!(VpYRo1>1))goto -x9P7L4;{return 0;}x9P7L4:;}esWTk2=ITvPG2(J7Iki4);{if(!(esWTk2==0))goto -QFu922;{a02Gz4->j5MYx|=01ul;return 0;}QFu922:;}{if(!(!WQjAp4(J7Iki4, -a02Gz4,esWTk2)))goto vhBTJ4;{G7h9S3(J7Iki4,esWTk2);return 0;}vhBTJ4:; -}{if(!((a02Gz4->QvZLK&128u)!=0&&(a02Gz4->QvZLK&8u)!=0))goto N5ND15;{ -G7h9S3(J7Iki4,esWTk2);return 0;}N5ND15:;}{if(!((a02Gz4->QvZLK&(256u|( -0x1u|02u|0x8u|16384u|32768u)|(16u|32u|128u)|2048u))!=0&&a02Gz4-> -NpyOc1.NNh015.LigBO2>=32))goto AIX_u1;{G7h9S3(J7Iki4,esWTk2);return 0 -;}AIX_u1:;}{if(!(a02Gz4->QvZLK&0x8u))goto DR1bx1;{a02Gz4->NpyOc1. -uwYQG1.BLFVJ4=0;{if(!(a02Gz4->NpyOc1.uwYQG1.Avyuu1==0))goto jew7t;{ -G7h9S3(J7Iki4,esWTk2);return 0;}jew7t:;}{if(!(a02Gz4->NpyOc1.uwYQG1. -Fcabx==0&&(a02Gz4->QvZLK&16384u)==0))goto tuk1G3;{G7h9S3(J7Iki4, -esWTk2);return 0;}tuk1G3:;}}DR1bx1:;}{if(!(a02Gz4->QvZLK&128u))goto -Z1SZQ;{a02Gz4->NpyOc1.JI0PC2.n1IfW3=0;{if(!(a02Gz4->NpyOc1.JI0PC2. -r9yJB<0x4||a02Gz4->NpyOc1.JI0PC2.r9yJB%0x4!=0||a02Gz4->NpyOc1.JI0PC2. -Avyuu1==0||a02Gz4->NpyOc1.JI0PC2.Avyuu1%04!=0))goto eDFcP3;{G7h9S3( -J7Iki4,esWTk2);return 0;}eDFcP3:;}}Z1SZQ:;}esWTk2->a02Gz4=a02Gz4; -a02Gz4->bPudJ3=esWTk2;{(esWTk2)->woMv11.OXCDa4=0;(esWTk2)->woMv11. -neQ2f1=J7Iki4->CUhqx4.WHQ_F1;{if(!(J7Iki4->CUhqx4.WHQ_F1))goto w4x6p4 -;(J7Iki4->CUhqx4.WHQ_F1)->woMv11.OXCDa4=esWTk2;goto PdKuJ;w4x6p4:; -J7Iki4->CUhqx4.pBSeu3=esWTk2;PdKuJ:;}J7Iki4->CUhqx4.WHQ_F1=esWTk2; -};{if(!(J7Iki4->DL14H3==0))goto OC0wH1;YBrPF4(J7Iki4);OC0wH1:;}{if(!( -J7Iki4->jXwP42==0))goto FMXMT1;yoLEn3(J7Iki4);FMXMT1:;}return 0x1;} -static int QrVoB3(kWMzp1*J7Iki4,QDNE6*a02Gz4,int pTM6S){DCf0T2*esWTk2 -;esWTk2=(DCf0T2* )a02Gz4->bPudJ3;{if(!(!BTL3a(esWTk2,&J7Iki4->ikuha3 -[0],&J7Iki4->ikuha3[(sizeof(J7Iki4->ikuha3)/sizeof(J7Iki4->ikuha3[0]))] -)))goto CVByc4;{return 0;}CVByc4:;};{if(!(esWTk2->a02Gz4!=a02Gz4))goto -z6j0y3;{return 0;}z6j0y3:;}{if(!(esWTk2->Xx6Ti3==0))goto la1Uw1;{ -unsigned X3V8j4;{X3V8j4=0;sZ3K45:if(!(X3V8j4<32))goto cu7WU1;goto -RXkRU4;B2kwf3:X3V8j4++;goto sZ3K45;RXkRU4:{}goto B2kwf3;cu7WU1:;}; -esWTk2->a02Gz4=0;{{if(!((esWTk2)->woMv11.neQ2f1))goto M8iX62;( -esWTk2)->woMv11.neQ2f1->woMv11.OXCDa4=(esWTk2)->woMv11.OXCDa4;goto -q1RMD2;M8iX62:;{J7Iki4->CUhqx4.pBSeu3=(esWTk2)->woMv11.OXCDa4;} -q1RMD2:;}{if(!((esWTk2)->woMv11.OXCDa4))goto WyCc21;(esWTk2)->woMv11. -OXCDa4->woMv11.neQ2f1=(esWTk2)->woMv11.neQ2f1;goto lMy6s;WyCc21:;{ -J7Iki4->CUhqx4.WHQ_F1=(esWTk2)->woMv11.neQ2f1;}lMy6s:;};};G7h9S3( -J7Iki4,esWTk2);{if(!(J7Iki4->DL14H3==0))goto JBhqV2;YBrPF4(J7Iki4); -JBhqV2:;};a02Gz4->j5MYx|=16ul;a02Gz4->bPudJ3=0;return 01;}la1Uw1:;};{ -if(!(!pTM6S&&(esWTk2->NpyOc1.yjr7l4!=0||esWTk2->NpyOc1.yjr7l4!=0)))goto -e71Qn1;{return 0;}e71Qn1:;}{if(!(cFFDu1(&J7Iki4->Nlajt1,esWTk2)|| -J7Iki4->Nlajt1.pBSeu3==esWTk2))goto VMudP1;{{if(!(!pTM6S))goto uUOUZ4 -;{return 0;}uUOUZ4:;}}VMudP1:;}a02Gz4->j5MYx|=16ul;{if(!(a02Gz4-> -NpyOc1.NNh015.LigBO2<32))goto j6irJ2;{{if(!(ppetC1(&J7Iki4->_jfrJ1[ -a02Gz4->NpyOc1.NNh015.LigBO2],esWTk2)))goto TG9c75;{esWTk2->Xx6Ti3-- -;{if(!(esWTk2->NpyOc1.GEbPX4))goto x9Kpa;{tJ1Kb4*tfu023;tfu023= -osQ5M(J7Iki4,esWTk2->NpyOc1.qXXnD2->_8WVQ2.zACHc3.eSf3B1);{if(!( -esWTk2->NpyOc1.GEbPX4->Lrwko2))goto icC2Q1;{tJ1Kb4*o0Fou4=esWTk2-> -NpyOc1.GEbPX4->Lrwko2;o0Fou4->_8WVQ2.zACHc3.eSf3B1=tfu023->MDSlK2;{ -hPE_d2:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -hPE_d2;};tfu023->Lrwko2=o0Fou4;}goto ldfza;icC2Q1:;tfu023->Lrwko2=0; -ldfza:;}uKg3m2(J7Iki4,esWTk2);}goto Dz6V81;x9Kpa:;{}Dz6V81:;}{{if -(!((esWTk2)->NpyOc1.neQ2f1))goto nR9ID4;(esWTk2)->NpyOc1.neQ2f1-> -NpyOc1.OXCDa4=(esWTk2)->NpyOc1.OXCDa4;goto AFhrh2;nR9ID4:;{J7Iki4-> -_jfrJ1[a02Gz4->NpyOc1.NNh015.LigBO2].pBSeu3=(esWTk2)->NpyOc1.OXCDa4;} -AFhrh2:;}{if(!((esWTk2)->NpyOc1.OXCDa4))goto gU0RO;(esWTk2)->NpyOc1. -OXCDa4->NpyOc1.neQ2f1=(esWTk2)->NpyOc1.neQ2f1;goto CTqht4;gU0RO:;{ -J7Iki4->_jfrJ1[a02Gz4->NpyOc1.NNh015.LigBO2].WHQ_F1=(esWTk2)->NpyOc1. -neQ2f1;}CTqht4:;};};q0ypK(J7Iki4,a02Gz4->NpyOc1.NNh015.LigBO2);} -TG9c75:;}{if(!(ppetC1(&J7Iki4->pnKue2[a02Gz4->NpyOc1.NNh015.LigBO2], -esWTk2)))goto rSBLa2;{esWTk2->Xx6Ti3--;{if(!(esWTk2->NpyOc1.GEbPX4))goto -KhdVP3;{tJ1Kb4*tfu023=0;tJ1Kb4*o0Fou4=esWTk2->NpyOc1.GEbPX4->Lrwko2; -;{if(!(!esWTk2->NpyOc1.qXXnD2->_8WVQ2.fbiOR4._8WVQ2.V9ej93.DEVTm4))goto -wwmRl3;{tfu023=osQ5M(J7Iki4,esWTk2->NpyOc1.qXXnD2->_8WVQ2.zACHc3. -eSf3B1);{if(!(o0Fou4))goto QlpOn3;{o0Fou4->_8WVQ2.zACHc3.eSf3B1= -tfu023->MDSlK2;{_fJ2B4:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -_fJ2B4;};tfu023->Lrwko2=o0Fou4;}goto Ltkwl1;QlpOn3:;tfu023->Lrwko2=0; -Ltkwl1:;}}goto GNmUv4;wwmRl3:;{{if(!(o0Fou4))goto Sg7Ii;{o0Fou4-> -_8WVQ2.fbiOR4._8WVQ2.V9ej93.DEVTm4|=0x1;fOVyT4(J7Iki4,a02Gz4->NpyOc1. -NNh015.LigBO2,o0Fou4);}Sg7Ii:;}}GNmUv4:;}LjWek1(J7Iki4,esWTk2,a02Gz4 -->NpyOc1.NNh015.LigBO2);}goto URiEj;KhdVP3:;{}URiEj:;}{{if(!(( -esWTk2)->NpyOc1.neQ2f1))goto MpGe72;(esWTk2)->NpyOc1.neQ2f1->NpyOc1. -OXCDa4=(esWTk2)->NpyOc1.OXCDa4;goto zDomy3;MpGe72:;{J7Iki4->pnKue2[ -a02Gz4->NpyOc1.NNh015.LigBO2].pBSeu3=(esWTk2)->NpyOc1.OXCDa4;}zDomy3: -;}{if(!((esWTk2)->NpyOc1.OXCDa4))goto CjH_c4;(esWTk2)->NpyOc1.OXCDa4 -->NpyOc1.neQ2f1=(esWTk2)->NpyOc1.neQ2f1;goto oVe401;CjH_c4:;{J7Iki4 -->pnKue2[a02Gz4->NpyOc1.NNh015.LigBO2].WHQ_F1=(esWTk2)->NpyOc1.neQ2f1 -;}oVe401:;};};gYC_T3(J7Iki4,a02Gz4->NpyOc1.NNh015.LigBO2);}rSBLa2:; -}{if(!(J7Iki4->eWAnF[a02Gz4->NpyOc1.NNh015.LigBO2]))goto QGTZB3;{ -esWTk2->a02Gz4=0;{if(!(esWTk2->Xx6Ti3==0))goto G3EMd;G7h9S3(J7Iki4, -esWTk2);G3EMd:;}a02Gz4->bPudJ3=J7Iki4->eWAnF[a02Gz4->NpyOc1.NNh015. -LigBO2]->a02Gz4;J7Iki4->eWAnF[a02Gz4->NpyOc1.NNh015.LigBO2]->a02Gz4= -a02Gz4;return 0;}QGTZB3:;}}j6irJ2:;}esWTk2->a02Gz4=0;{if(!(esWTk2-> -Xx6Ti3==0))goto uIVHm2;G7h9S3(J7Iki4,esWTk2);uIVHm2:;};a02Gz4->bPudJ3 -=0;{if(!(J7Iki4->jXwP42==0))goto tLnQG3;yoLEn3(J7Iki4);tLnQG3:;} -return 0x1;}static int nIaSt(kWMzp1*J7Iki4){return J7Iki4->fV7o35-> -Be1a54!=0;}static int yoLEn3(kWMzp1*J7Iki4){unsigned bHAl_;unsigned -long Os1bA3;Os1bA3=J7Iki4->fV7o35->Be1a54;{if(!(Os1bA3==0))goto -DBLAx1;return 0;DBLAx1:;}bHAl_=0;J7Iki4->jXwP42++;MiEVK2:{IZIt42:{ -J7Iki4->fV7o35->Be1a54=Os1bA3&~lPIbL4;{if(!(Os1bA3&(Sptqu|r3CcP2| -gQf6j1)))goto AO8s83;{J7Iki4->fV7o35->y8QlL=0;J7Iki4->fV7o35->Be1a54= -gQf6j1|Sptqu|r3CcP2;dwKme1(J7Iki4,Os1bA3);}goto xHlfL4;AO8s83:;{if(! -(__builtin_expect((J7Iki4->uyKJn2==csvRg2)&&(J7Iki4->fV7o35->y8QlL&01 -)==0,0)))goto KuEgF;{nvqbt();{if(!((J7Iki4->fV7o35->Be1a54&(Sptqu| -r3CcP2))==0))goto H6z612;{J7Iki4->fV7o35->y8QlL=0;J7Iki4->fV7o35-> -Be1a54=gQf6j1|Sptqu|r3CcP2;dwKme1(J7Iki4,r3CcP2);}H6z612:;}}KuEgF:;} -xHlfL4:;}{if(!(Os1bA3&(C10QV|w9B8P4)))goto OVovS3;{{if(!( -__builtin_expect(Os1bA3&w9B8P4,0)))goto F09LQ3;{{if(!(J7Iki4->YRHFy -->b_7cQ4))goto _tFeK1;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4 -(J7Iki4->YRHFy,-01,65536ul);h2LrH3(&J7Iki4->h2LrH3);}_tFeK1:;}} -F09LQ3:;}UK8sN4(J7Iki4);}OVovS3:;}{if(!(Os1bA3&(j0Yx9|kCJ6a1)))goto -SX_EH4;{{if(!(__builtin_expect(Os1bA3&kCJ6a1,0)))goto UIlCN4;{{if(! -(J7Iki4->YRHFy->b_7cQ4))goto Nshhy1;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4 -->YRHFy->b_7cQ4(J7Iki4->YRHFy,-1,131072ul);h2LrH3(&J7Iki4->h2LrH3);} -Nshhy1:;}}UIlCN4:;}jK7VQ3(J7Iki4);}SX_EH4:;}{if(!(Os1bA3&lPIbL4))goto -kRvRA;{qWaP5(J7Iki4);}kRvRA:;}{if(!(__builtin_expect(++bHAl_>01750,0)))goto -ebF2N1;{{if(!(J7Iki4->YRHFy->b_7cQ4))goto G3qOC4;{uYS5N2(&J7Iki4-> -h2LrH3);J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy,-0x1,1048576ul);h2LrH3(& -J7Iki4->h2LrH3);}G3qOC4:;}goto NSHM15;}ebF2N1:;}Os1bA3=J7Iki4-> -fV7o35->Be1a54;}if(Os1bA3)goto IZIt42;NSHM15:;};{if(!(J7Iki4->F46242))goto -iq6n4;q0ypK(J7Iki4,-0x1);iq6n4:;}{if(!(J7Iki4->a6vkI2))goto WWrjG1; -gYC_T3(J7Iki4,-01);WWrjG1:;}{if(!(J7Iki4->ZWSDs2.twfX61&&J7Iki4-> -YRHFy->b_7cQ4))goto zv9HY3;EBgum1(J7Iki4);zv9HY3:;}Os1bA3=J7Iki4-> -fV7o35->Be1a54;{if(!(Os1bA3&&bHAl_<01750))goto msB823;goto MiEVK2; -msB823:;}J7Iki4->jXwP42--;return 0x1;}__forceinline static unsigned -RtiEy4(volatile unsigned long*RdZoN,unsigned kKiv65){unsigned I3ipm3, -Kt5Iv1;I3ipm3=kKiv65&0x1f;((RdZoN)[0])=I3ipm3|0xE0;((RdZoN)[-01])= -0377;((RdZoN)[0])=I3ipm3|0140;((RdZoN)[-0x1])=0377;Kt5Iv1=(((volatile -unsigned char* )(RdZoN))[1]);((RdZoN)[0])=I3ipm3|0xE0;((RdZoN)[-1])= -224;return Kt5Iv1;}__forceinline static void AUUSL3(volatile unsigned -long*RdZoN,unsigned kKiv65,unsigned vgKFx2){unsigned f8S2i1;f8S2i1= -(kKiv65&31)|(vgKFx2<<0x8);((RdZoN)[0])=f8S2i1|0xE0;((RdZoN)[-01])= -0xFFFF;((RdZoN)[0])=f8S2i1|0xA0;((RdZoN)[-1])=0xFFFF;((RdZoN)[0])= -f8S2i1|0xE0;((RdZoN)[-1])=224;}__forceinline static unsigned Ei5yG( -unsigned Uya4h){{if(!(Uya4h==0))goto SwvPI;return 0x1;SwvPI:;}{if(!( -Uya4h==1))goto flumr;return 02;flumr:;}{if(!(Uya4h==2))goto cEz3h2; -return 3;cEz3h2:;};return 0xFFu;}__forceinline static void Ae0Cg2( -unsigned Uya4h,volatile unsigned long*RdZoN,unsigned kKiv65,unsigned -vgKFx2){AUUSL3(RdZoN,Ei5yG(Uya4h),kKiv65);AUUSL3(RdZoN,5,vgKFx2);} -__forceinline static unsigned _ozJC4(unsigned Uya4h,volatile unsigned -long*RdZoN,unsigned kKiv65){AUUSL3(RdZoN,Ei5yG(Uya4h),kKiv65);return -RtiEy4(RdZoN,05);}__forceinline static unsigned lmuOy2(unsigned Uya4h -,volatile unsigned long*RdZoN,unsigned kKiv65){unsigned Kt5Iv1; -AUUSL3(RdZoN,Ei5yG(Uya4h),kKiv65);AUUSL3(RdZoN,0x5,0xFF);AUUSL3(RdZoN -,Ei5yG(Uya4h),kKiv65);Kt5Iv1=RtiEy4(RdZoN,0x5);AUUSL3(RdZoN,Ei5yG( -Uya4h),kKiv65);AUUSL3(RdZoN,0x5,Kt5Iv1);return Kt5Iv1;}__noinline -static void __fastcall BucKo(volatile unsigned long*RdZoN,unsigned -kKiv65,unsigned vgKFx2){Ae0Cg2(0,RdZoN,kKiv65,vgKFx2);}__noinline -static unsigned __fastcall SlE234(volatile unsigned long*RdZoN, -unsigned kKiv65){return _ozJC4(0,RdZoN,kKiv65);}__noinline static -unsigned __fastcall dMM0e1(volatile unsigned long*RdZoN,unsigned -kKiv65){return lmuOy2(0,RdZoN,kKiv65);}__noinline static void -__fastcall HcALQ1(volatile unsigned long*RdZoN,unsigned kKiv65, -unsigned long vgKFx2){Ae0Cg2(0,RdZoN,kKiv65+0,vgKFx2&0xFFu);Ae0Cg2(0, -RdZoN,kKiv65+1,(vgKFx2>>010)&0xFFu);Ae0Cg2(0,RdZoN,kKiv65+02,(vgKFx2 ->>16)&0xFFu);Ae0Cg2(0,RdZoN,kKiv65+3,vgKFx2>>24);}__noinline static -unsigned long __fastcall BLq4p(volatile unsigned long*RdZoN,unsigned -kKiv65){unsigned long Kt5Iv1=_ozJC4(0,RdZoN,kKiv65+0);Kt5Iv1+=_ozJC4( -0,RdZoN,kKiv65+1)<<8;Kt5Iv1+=_ozJC4(0,RdZoN,kKiv65+0x2)<<16;Kt5Iv1+= -_ozJC4(0,RdZoN,kKiv65+3)<<24;return Kt5Iv1;}__noinline static void -__fastcall s3sCI1(volatile unsigned long*RdZoN,unsigned kKiv65, -unsigned vgKFx2){Ae0Cg2(01,RdZoN,kKiv65,vgKFx2);}__noinline static -unsigned __fastcall fFvjz3(volatile unsigned long*RdZoN,unsigned -kKiv65){return _ozJC4(01,RdZoN,kKiv65);}__noinline static unsigned -__fastcall NHDsK3(volatile unsigned long*RdZoN,unsigned kKiv65){ -return lmuOy2(01,RdZoN,kKiv65);}__noinline static void __fastcall -Rqv1w3(volatile unsigned long*RdZoN,unsigned kKiv65,unsigned long -vgKFx2){Ae0Cg2(0x1,RdZoN,kKiv65+0,vgKFx2&0xFFu);Ae0Cg2(01,RdZoN, -kKiv65+01,(vgKFx2>>0x8)&0xFFu);Ae0Cg2(1,RdZoN,kKiv65+02,(vgKFx2>>16)& -0xFFu);Ae0Cg2(0x1,RdZoN,kKiv65+0x3,vgKFx2>>24);}__noinline static -unsigned long __fastcall sl0aO1(volatile unsigned long*RdZoN,unsigned -kKiv65){unsigned long Kt5Iv1=_ozJC4(1,RdZoN,kKiv65+0);Kt5Iv1+=_ozJC4( -01,RdZoN,kKiv65+0x1)<<8;Kt5Iv1+=_ozJC4(01,RdZoN,kKiv65+2)<<16;Kt5Iv1 -+=_ozJC4(01,RdZoN,kKiv65+0x3)<<0x18;return Kt5Iv1;}__noinline static -void __fastcall IoSy32(kWMzp1*J7Iki4,unsigned kKiv65,unsigned vgKFx2){ -volatile unsigned long*RdZoN;RdZoN=&J7Iki4->fV7o35->UyRVB4; -AUUSL3(RdZoN,4,kKiv65);AUUSL3(RdZoN,5,vgKFx2);}__noinline static void -__fastcall B1Wc_1(kWMzp1*J7Iki4){unsigned X3V8j4=0;{XJ0a1:{IoSy32( -J7Iki4,X3V8j4,(X3V8j4==24)?0x1:0);}if(++X3V8j4<256)goto XJ0a1;};} -__noinline static unsigned long __fastcall xjK0y2(volatile unsigned -long*RdZoN){unsigned long qwUGv3;AUUSL3(RdZoN,013,0);qwUGv3=RtiEy4( -RdZoN,013);qwUGv3=(qwUGv3<<010)|RtiEy4(RdZoN,013);qwUGv3=(qwUGv3<<8)| -RtiEy4(RdZoN,013);qwUGv3=(qwUGv3<<010)|RtiEy4(RdZoN,013);return qwUGv3 -;}__noinline static void LzuvP2(volatile unsigned long*RdZoN,unsigned -long TrF875){AUUSL3(RdZoN,15,(TrF875>>24)&0xFFu);AUUSL3(RdZoN,14,( -TrF875>>16)&0xFFu);AUUSL3(RdZoN,015,(TrF875>>0x8)&0xFFu);AUUSL3(RdZoN -,12,TrF875&0xFFu);}__forceinline static int Mrgr62(unsigned gMQg82, -unsigned long _xQyf,j0BDS4*Z0e1C2){Z0e1C2->PBtXm1=0;Z0e1C2->AuCs73=32 -;Z0e1C2->W4f921=128|0x4;Z0e1C2->kgEeY3=02|(0?128:0);Z0e1C2->E7Ual2=0; -{if(!(!(gMQg82&16777216ul)))goto wadcP4;Z0e1C2->E7Ual2|=64;wadcP4:;}{ -if(!(!(gMQg82&33554432ul)))goto PAEZQ1;Z0e1C2->E7Ual2|=04;goto uhO4M2 -;PAEZQ1:;{Z0e1C2->W4f921|=64;Z0e1C2->kgEeY3|=0x1;}uhO4M2:;}Z0e1C2-> -x2RgK4=0;{if(!(gMQg82&67108864ul))goto Qnmal4;Z0e1C2->x2RgK4=8|0x4; -Qnmal4:;}Z0e1C2->_Oqi51=0;Z0e1C2->TIQMZ1=0;Z0e1C2->aW7n84=0;Z0e1C2-> -JhCor3=0;Z0e1C2->VPJzO1=0;Z0e1C2->DDAs81=0;{if(!((gMQg82&65536ul)&&( -gMQg82&131072ul)))goto jLuYc;{return 0;}jLuYc:;}{if(!((gMQg82&( -65536ul|131072ul))&&(gMQg82&134217728ul)))goto tEpJn4;{return 0;} -tEpJn4:;}switch(gMQg82&017ul){case(0ul<<0):Z0e1C2->x2RgK4=0x1;Z0e1C2 -->Q1iXV3=0;Z0e1C2->DvwSz1=0;return 0x1;case(0x3ul<<0):break;case(1ul -<<0):Z0e1C2->_Oqi51|=64;Z0e1C2->x2RgK4|=8;break;case(2ul<<0):Z0e1C2-> -_Oqi51|=128;return 01;case(0x4ul<<0):Z0e1C2->PBtXm1|=16;break;default -:;return 0;}Z0e1C2->Q1iXV3=(0x1?16:0)|8|2|0x1;Z0e1C2->DvwSz1=16|4|(0? -1:0);{if(!(gMQg82&65536ul))goto orhdS1;{Z0e1C2->DvwSz1|=64|8;Z0e1C2-> -PBtXm1|=010;}orhdS1:;}{if(!(gMQg82&131072ul))goto DkFMT2;{Z0e1C2-> -DvwSz1|=32|02;Z0e1C2->VPJzO1=0xFF;}DkFMT2:;}{if(!(gMQg82&32768ul))goto -gDrf92;Z0e1C2->DvwSz1|=32|128;gDrf92:;}{if(!(gMQg82&256ul))goto BO0Kp -;Z0e1C2->DDAs81=112;BO0Kp:;}{if(!(gMQg82&512ul))goto Bopp64;Z0e1C2-> -x2RgK4|=16;Bopp64:;}{if(!((gMQg82&240ul)>(05ul<<4)))goto kRds75;{ -Z0e1C2->AuCs73|=04;{if(!(gMQg82&8388608ul))goto deB5j3;{return 0;} -deB5j3:;}switch(gMQg82&240ul){case(06ul<<4):{if(!(gMQg82&(16384ul| -4096ul|1048576ul|4194304ul)))goto UhET81;{return 0;}UhET81:;}Z0e1C2 -->E7Ual2|=010;Z0e1C2->Q1iXV3|=04;break;case(07ul<<0x4):Z0e1C2->PBtXm1 -|=32;Z0e1C2->Q1iXV3|=04|128|64|32;break;case(0x8ul<<0x4):Z0e1C2-> -Q1iXV3|=0x4|128|64|32;break;case(011ul<<4):Z0e1C2->kgEeY3|=04|64; -Z0e1C2->Q1iXV3|=04|128|64|32;break;default:;return 0;}Z0e1C2->W4f921 -|=010;{if(!((gMQg82&524288ul)==0))goto MnOkL2;Z0e1C2->W4f921|=16; -MnOkL2:;}Z0e1C2->VPJzO1&=~32;{if(!(gMQg82&268435456ul))goto KUvUb1;{ -Z0e1C2->E7Ual2|=1;{if(!(gMQg82&134217728ul))goto j7dnD4;Z0e1C2-> -TIQMZ1|=02;j7dnD4:;}}KUvUb1:;}{if(!(gMQg82&134217728ul))goto ydhBR1;{ -Z0e1C2->E7Ual2|=16;Z0e1C2->VPJzO1&=~0xC0;}ydhBR1:;}{if(!(gMQg82& -4096ul))goto _crCW2;Z0e1C2->W4f921|=0x1;_crCW2:;}{if(!(gMQg82&1024ul))goto -FS3704;Z0e1C2->PBtXm1|=64;goto t11ih;FS3704:;{if(!((gMQg82&2048ul)==0 -))goto nOhE62;Z0e1C2->PBtXm1|=0x8;nOhE62:;}t11ih:;}{if(!(gMQg82& -16384ul))goto VyO7q2;Z0e1C2->PBtXm1|=0x4;VyO7q2:;}}goto NXEIY1;kRds75 -:;{unsigned Z6YCM=0;unsigned long iTzqw4;{if(!(gMQg82&((268435456ul| -134217728ul)|16384ul|4096ul|32768ul|65536ul|131072ul|262144ul| -524288ul|1048576ul|2097152ul|4194304ul)))goto fNTIT4;{return 0;} -fNTIT4:;}Z0e1C2->AuCs73|=0x2;Z0e1C2->PBtXm1|=64;Z0e1C2->E7Ual2|=8; -Z0e1C2->aW7n84=_xQyf;{if(!((gMQg82&0360ul)==(5ul<<0x4)))goto vzO1f3; -Z0e1C2->aW7n84=0xFFFFFFFFul;vzO1f3:;}Z6YCM=0;iTzqw4=1ul<<037;{xNvbw1: -{{if(!(Z0e1C2->aW7n84&iTzqw4))goto aFpFx4;Z6YCM++;aFpFx4:;}}if(iTzqw4 ->>=1)goto xNvbw1;};switch(gMQg82&0360ul){case(0ul<<4):{if(!(Z6YCM!= -0x1))goto k2iza1;{return 0;}k2iza1:;}Z0e1C2->JhCor3=026;break;case( -1ul<<04):{if(!(Z6YCM!=0x2))goto XJ98_4;{return 0;}XJ98_4:;}Z0e1C2-> -JhCor3=21;break;case(0x2ul<<4):{if(!(Z6YCM!=0x4))goto wavCE;{return 0 -;}wavCE:;}Z0e1C2->JhCor3=0x14;break;case(0x3ul<<4):{if(!(Z6YCM!=010))goto -iZnUX3;{return 0;}iZnUX3:;}Z0e1C2->JhCor3=0x13;break;case(0x4ul<<4): -{if(!(Z6YCM!=16))goto Z2OSv2;{return 0;}Z2OSv2:;}Z0e1C2->JhCor3=0x12 -;break;case(5ul<<0x4):{if(!(Z6YCM!=32))goto C8h0B;{return 0;}C8h0B:; -}Z0e1C2->JhCor3=021;break;default:;return 0;}{if(!(gMQg82&8388608ul))goto -it1GH;Z0e1C2->JhCor3|=010;it1GH:;}}NXEIY1:;};return 01;}__forceinline -static int HAuYS2(unsigned UYtd71,iOPn3*xb5nq1){unsigned N4LX53=( -xb5nq1->fVNme-xb5nq1->ELKAp3)%256;return((UYtd71==03u||UYtd71==1u)&& -N4LX53<=xb5nq1->EbhBp3)||((UYtd71==2u||UYtd71==0u)&&N4LX53>=xb5nq1-> -EbhBp3);}__noinline static void N63wg2(iOPn3*xb5nq1,kWMzp1*J7Iki4,int -b9Zs_){xb5nq1->PnawH[0]++;J7Iki4->YRHFy->c7Vnu1++;{if(!(J7Iki4->YRHFy -->b_7cQ4))goto FsUk9;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4( -J7Iki4->YRHFy,b9Zs_,2097152ul);h2LrH3(&J7Iki4->h2LrH3);}FsUk9:;}} -__forceinline static void vUYb92(unsigned UYtd71,unsigned vLSs_1, -iOPn3*xb5nq1,kWMzp1*J7Iki4,int b9Zs_){unsigned long lpVV64;volatile -unsigned long*RdZoN;RdZoN=&J7Iki4->fV7o35->UyRVB4;lpVV64=xjK0y2(RdZoN -);{if(!(xb5nq1->KQKqV1))goto qIB2B3;{{if(!(lpVV64-xb5nq1->KQKqV1> -vLSs_1))goto MBzBE3;N63wg2(xb5nq1,J7Iki4,b9Zs_);MBzBE3:;}}qIB2B3:;} -xb5nq1->KQKqV1=lpVV64;{if(!(xb5nq1->GhexM2&&HAuYS2(UYtd71,xb5nq1)&& -xb5nq1->IkJYR1))goto c1GT73;{unsigned N4LX53=(xb5nq1->fVNme-xb5nq1-> -ELKAp3)%256;xb5nq1->GhexM2=0;uYS5N2(&J7Iki4->h2LrH3);xb5nq1->IkJYR1( -J7Iki4->YRHFy,b9Zs_,UYtd71,(UYtd71==0x3u||UYtd71==0x1u)?256-N4LX53: -N4LX53);h2LrH3(&J7Iki4->h2LrH3);}c1GT73:;}}__forceinline static void -r_RoY4(unsigned UYtd71,iOPn3*xb5nq1){{if(!(xb5nq1->IkJYR1&&xb5nq1-> -GhexM2==0&&!HAuYS2(UYtd71,xb5nq1)))goto BO9lK4;xb5nq1->GhexM2=1; -BO9lK4:;}}__forceinline static void CDXHr1(iOPn3*xb5nq1,unsigned -iBs7A2,MhiF14 IkJYR1){xb5nq1->GhexM2=0;xb5nq1->EbhBp3=iBs7A2;{if(!(( -xb5nq1->IkJYR1=IkJYR1)!=0))goto PMgqJ;xb5nq1->GhexM2=0x1;PMgqJ:;}} -static void Pp5_4(kWMzp1*J7Iki4){{unsigned kUguy3,H4ghS2=0;{if(!( -J7Iki4->iO1iw4[0]))goto l5kPU2;{volatile unsigned long*RdZoN;unsigned -ADRH25,rT0fp2,wk4VW,Hdw702;RdZoN=&J7Iki4->fV7o35->UyRVB4;ADRH25= -dMM0e1(RdZoN,0x8);{if(!(ADRH25&32))goto Ex2aA2;H4ghS2|=8192u;Ex2aA2:; -}rT0fp2=SlE234(RdZoN,036);wk4VW=dMM0e1(RdZoN,0x6);{if(!(wk4VW&0x8))goto -zC34g4;H4ghS2|=04u;goto KelN_4;zC34g4:;{{if(!((J7Iki4->iO1iw4[0]& -0360ul)>(0x5ul<<0x4)))goto XQClD;{{if(!((rT0fp2&0x4)))goto TPDls1; -H4ghS2|=1024u;TPDls1:;}{if(!(wk4VW&4))goto JTU4E;H4ghS2|=0x8u;JTU4E:; -}{if(!(wk4VW&01))goto u7xdA3;H4ghS2|=02u;u7xdA3:;}{if(!((J7Iki4-> -iO1iw4[0]&0360ul)>(0x6ul<<0x4)))goto qhKq6;{{if(!((rT0fp2&0x2)))goto -CRbKo2;H4ghS2|=4096u;CRbKo2:;}{if(!(wk4VW&64))goto NSe7w;H4ghS2|=64u; -NSe7w:;}switch(wk4VW&(128|32)){case 128:H4ghS2|=16u;break;case 32: -H4ghS2|=32u;break;default:wk4VW&=~(128|32);}}qhKq6:;}{if(!(J7Iki4-> -iO1iw4[0]&268435456ul))goto paxXI3;{{if(!(rT0fp2>>04>=015))goto xHgra -;H4ghS2|=16384u;xHgra:;}{if(!((rT0fp2&01)))goto LlIil1;H4ghS2|=2048u; -LlIil1:;}}paxXI3:;}}XQClD:;}{if(!(wk4VW&0x2))goto fm_hx3;H4ghS2|=1u; -fm_hx3:;}}KelN_4:;}{if(!(0x1&&(wk4VW&16)))goto vj2bt2;{H4ghS2|=256u; -J7Iki4->YRHFy->io7IZ3[0]._xj3V4++;}vj2bt2:;}Hdw702=dMM0e1(RdZoN,0x7); -{if(!(Hdw702&4))goto Oi41C4;H4ghS2|=128u;Oi41C4:;}{if(!(J7Iki4-> -iO1iw4[0]&65536ul))goto nkDDY;{{if(!(Hdw702&64))goto Qk17R1;{iOPn3* -xb5nq1=J7Iki4->hRUi43[0][0x2u];xb5nq1->BC6Zd3[xb5nq1->fVNme%256]=( -unsigned char)SlE234(RdZoN,31);{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)% -256>=256-01))goto FWoEJ2;{xb5nq1->PnawH[0]++;xb5nq1->ELKAp3++;}FWoEJ2 -:;}xb5nq1->fVNme++;vUYb92(02u,512,xb5nq1,J7Iki4,0);}Qk17R1:;}{if(!( -Hdw702&010))goto AooXh2;{iOPn3*xb5nq1=J7Iki4->hRUi43[0][3u];{if(!(( -xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=0x1))goto xliFy2;{unsigned zQ6M_2= -xb5nq1->BC6Zd3[xb5nq1->ELKAp3%256];BucKo(RdZoN,041,J7Iki4->v6D2d3[0]. -jf4g9=(unsigned char)(zQ6M_2|64));xb5nq1->ELKAp3++;}goto N0cAE4; -xliFy2:;xb5nq1->PnawH[0]++;N0cAE4:;}vUYb92(0x3u,512,xb5nq1,J7Iki4,0); -}AooXh2:;}}goto Ytnfz2;nkDDY:;{if(!(J7Iki4->iO1iw4[0]&131072ul))goto -pZwR;{{if(!(Hdw702&02))goto qhPRk4;{int X3V8j4;iOPn3*xb5nq1=J7Iki4-> -hRUi43[0][02u];X3V8j4=07;{kB1KA:xb5nq1->BC6Zd3[(xb5nq1->fVNme+X3V8j4)% -256]=(unsigned char)SlE234(RdZoN,0130+X3V8j4);if(--X3V8j4>=0)goto -kB1KA;};{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=256-0x8))goto ak4S94 -;{xb5nq1->PnawH[0]++;xb5nq1->ELKAp3+=8;}ak4S94:;}xb5nq1->fVNme+=0x8; -vUYb92(0x2u,4096,xb5nq1,J7Iki4,0);}qhPRk4:;}{if(!(Hdw702&32))goto -D2VDT2;{iOPn3*xb5nq1=J7Iki4->hRUi43[0][0x3u];{if(!((xb5nq1->fVNme- -xb5nq1->ELKAp3)%256>=8))goto xZ7sX;{int X3V8j4=7;{jughc:BucKo(RdZoN, -0120+X3V8j4,xb5nq1->BC6Zd3[(xb5nq1->ELKAp3+X3V8j4)%256]);if(--X3V8j4 ->=0)goto jughc;};xb5nq1->ELKAp3+=0x8;}goto vGGMc2;xZ7sX:;xb5nq1-> -PnawH[0]++;vGGMc2:;}vUYb92(0x3u,4096,xb5nq1,J7Iki4,0);}D2VDT2:;}}pZwR -:;}Ytnfz2:;}{if(!(J7Iki4->iO1iw4[0]&32768ul))goto NUiYy1;{{if(!( -Hdw702&128))goto SgaJH4;{int X3V8j4;iOPn3*xb5nq1=J7Iki4->hRUi43[0][0u -];X3V8j4=017;{wY1aR:xb5nq1->BC6Zd3[(xb5nq1->fVNme+X3V8j4)%256]=( -unsigned char)SlE234(RdZoN,48+X3V8j4);if(--X3V8j4>=0)goto wY1aR;};{if -(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=256-16))goto if4tC3;{xb5nq1-> -PnawH[0]++;xb5nq1->ELKAp3+=16;}if4tC3:;}xb5nq1->fVNme+=16;vUYb92(0u, -4096,xb5nq1,J7Iki4,0);}SgaJH4:;}{if(!(Hdw702&32))goto W5FZB2;{iOPn3* -xb5nq1=J7Iki4->hRUi43[0][0x1u];{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)% -256>=16))goto qC85k4;{int X3V8j4=15;{Ov6y41:BucKo(RdZoN,64+X3V8j4, -J7Iki4->v6D2d3[0].FNU7M3[X3V8j4]=xb5nq1->BC6Zd3[(xb5nq1->ELKAp3+ -X3V8j4)%256]);if(--X3V8j4>=0)goto Ov6y41;};xb5nq1->ELKAp3+=16;}goto -o1L6S1;qC85k4:;xb5nq1->PnawH[0]++;o1L6S1:;}vUYb92(1u,4096,xb5nq1, -J7Iki4,0);}W5FZB2:;}}NUiYy1:;}{if(!(0&&(Hdw702&1)))goto Nufn25;{ -H4ghS2|=512u;J7Iki4->YRHFy->io7IZ3[0].ounCU4++;}Nufn25:;}BucKo(RdZoN, -0x16,J7Iki4->v6D2d3[0].Q1iXV3&~(01?wk4VW&~16:wk4VW));BucKo(RdZoN,0x17 -,J7Iki4->v6D2d3[0].DvwSz1&~(Hdw702&4));{if(!(Hdw702&16))goto sSbPo1;{ -J7Iki4->YRHFy->io7IZ3[0].smyqr+=(SlE234(RdZoN,0)<<010)+SlE234(RdZoN, -0x1);{if(!((J7Iki4->iO1iw4[0]&0360ul)>(5ul<<4)))goto zKRWY3;{unsigned -rx55l1,tYsSE2;rx55l1=SlE234(RdZoN,02);{if(!(J7Iki4->iO1iw4[0]& -268435456ul))goto lZCyu2;J7Iki4->YRHFy->io7IZ3[0].QV1Pb3+=((rx55l1&03 -)<<010)+SlE234(RdZoN,03);lZCyu2:;}tYsSE2=SlE234(RdZoN,4);{if(!(J7Iki4 -->iO1iw4[0]&(268435456ul|134217728ul)))goto Gl7nf;J7Iki4->YRHFy-> -io7IZ3[0].mZSLK1+=((tYsSE2&3)<<010)+SlE234(RdZoN,5);Gl7nf:;}J7Iki4-> -YRHFy->io7IZ3[0].zwLFt3+=(tYsSE2>>2)+((rx55l1&~03)<<6);}zKRWY3:;} -J7Iki4->YRHFy->io7IZ3[0].lpVV64++;}sSbPo1:;}}goto QptoN3;l5kPU2:; -H4ghS2=32768u;QptoN3:;}kUguy3=H4ghS2^J7Iki4->oXafA1[0].H4ghS2;{if(!( -kUguy3))goto uRG2Q2;{J7Iki4->YRHFy->io7IZ3[0].H4ghS2=J7Iki4->oXafA1[0 -].H4ghS2=H4ghS2;GLE_s4(J7Iki4,0);{if(!(J7Iki4->YRHFy->yjdp7))goto -PwiOJ;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->yjdp7(J7Iki4->YRHFy,0, -kUguy3);h2LrH3(&J7Iki4->h2LrH3);}PwiOJ:;}}uRG2Q2:;}};{unsigned kUguy3 -,H4ghS2=0;{if(!(J7Iki4->iO1iw4[01]))goto wyazp4;{volatile unsigned -long*RdZoN;unsigned ADRH25,rT0fp2,wk4VW,Hdw702;RdZoN=&J7Iki4->fV7o35 -->UyRVB4;ADRH25=NHDsK3(RdZoN,010);{if(!(ADRH25&32))goto ojbR01;H4ghS2 -|=8192u;ojbR01:;}rT0fp2=fFvjz3(RdZoN,0x1e);wk4VW=NHDsK3(RdZoN,0x6);{ -if(!(wk4VW&0x8))goto K7Qbq4;H4ghS2|=0x4u;goto rsP7X2;K7Qbq4:;{{if(!(( -J7Iki4->iO1iw4[01]&240ul)>(05ul<<4)))goto q8PSF2;{{if(!((rT0fp2&0x4)))goto -yQbCz;H4ghS2|=1024u;yQbCz:;}{if(!(wk4VW&04))goto qDbQb3;H4ghS2|=010u; -qDbQb3:;}{if(!(wk4VW&1))goto J4NyB2;H4ghS2|=02u;J4NyB2:;}{if(!(( -J7Iki4->iO1iw4[0x1]&0360ul)>(6ul<<4)))goto WvRg31;{{if(!((rT0fp2&2)))goto -PXdWr4;H4ghS2|=4096u;PXdWr4:;}{if(!(wk4VW&64))goto X04Ko3;H4ghS2|=64u -;X04Ko3:;}switch(wk4VW&(128|32)){case 128:H4ghS2|=16u;break;case 32: -H4ghS2|=32u;break;default:wk4VW&=~(128|32);}}WvRg31:;}{if(!(J7Iki4-> -iO1iw4[01]&268435456ul))goto eoj0m1;{{if(!(rT0fp2>>04>=015))goto -oOqXI4;H4ghS2|=16384u;oOqXI4:;}{if(!((rT0fp2&0x1)))goto qeXeK;H4ghS2 -|=2048u;qeXeK:;}}eoj0m1:;}}q8PSF2:;}{if(!(wk4VW&02))goto fZpYx3; -H4ghS2|=1u;fZpYx3:;}}rsP7X2:;}{if(!(1&&(wk4VW&16)))goto v3xAt2;{ -H4ghS2|=256u;J7Iki4->YRHFy->io7IZ3[0x1]._xj3V4++;}v3xAt2:;}Hdw702= -NHDsK3(RdZoN,7);{if(!(Hdw702&4))goto Nubfw;H4ghS2|=128u;Nubfw:;}{if(! -(J7Iki4->iO1iw4[0x1]&65536ul))goto kIw4A;{{if(!(Hdw702&64))goto hMOtf2 -;{iOPn3*xb5nq1=J7Iki4->hRUi43[1][02u];xb5nq1->BC6Zd3[xb5nq1->fVNme% -256]=(unsigned char)fFvjz3(RdZoN,31);{if(!((xb5nq1->fVNme-xb5nq1-> -ELKAp3)%256>=256-0x1))goto n9RMY;{xb5nq1->PnawH[0]++;xb5nq1->ELKAp3++ -;}n9RMY:;}xb5nq1->fVNme++;vUYb92(2u,512,xb5nq1,J7Iki4,01);}hMOtf2:;}{ -if(!(Hdw702&010))goto UzdZm4;{iOPn3*xb5nq1=J7Iki4->hRUi43[1][03u];{if -(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=1))goto VA7c_2;{unsigned zQ6M_2 -=xb5nq1->BC6Zd3[xb5nq1->ELKAp3%256];s3sCI1(RdZoN,0x21,J7Iki4->v6D2d3[ -1].jf4g9=(unsigned char)(zQ6M_2|64));xb5nq1->ELKAp3++;}goto _5jq61; -VA7c_2:;xb5nq1->PnawH[0]++;_5jq61:;}vUYb92(0x3u,512,xb5nq1,J7Iki4,1); -}UzdZm4:;}}goto OO3a03;kIw4A:;{if(!(J7Iki4->iO1iw4[0x1]&131072ul))goto -NJK9y1;{{if(!(Hdw702&2))goto pXz9V1;{int X3V8j4;iOPn3*xb5nq1=J7Iki4-> -hRUi43[01][02u];X3V8j4=07;{C3bNb:xb5nq1->BC6Zd3[(xb5nq1->fVNme+X3V8j4 -)%256]=(unsigned char)fFvjz3(RdZoN,0130+X3V8j4);if(--X3V8j4>=0)goto -C3bNb;};{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=256-010))goto ds3jz4 -;{xb5nq1->PnawH[0]++;xb5nq1->ELKAp3+=010;}ds3jz4:;}xb5nq1->fVNme+=0x8 -;vUYb92(2u,4096,xb5nq1,J7Iki4,1);}pXz9V1:;}{if(!(Hdw702&32))goto -nFUGf1;{iOPn3*xb5nq1=J7Iki4->hRUi43[1][0x3u];{if(!((xb5nq1->fVNme- -xb5nq1->ELKAp3)%256>=8))goto xAdT74;{int X3V8j4=7;{AxBoj2:s3sCI1( -RdZoN,0120+X3V8j4,xb5nq1->BC6Zd3[(xb5nq1->ELKAp3+X3V8j4)%256]);if(-- -X3V8j4>=0)goto AxBoj2;};xb5nq1->ELKAp3+=0x8;}goto NeqBE4;xAdT74:; -xb5nq1->PnawH[0]++;NeqBE4:;}vUYb92(0x3u,4096,xb5nq1,J7Iki4,0x1);} -nFUGf1:;}}NJK9y1:;}OO3a03:;}{if(!(J7Iki4->iO1iw4[0x1]&32768ul))goto -_lCoK1;{{if(!(Hdw702&128))goto n_AjF4;{int X3V8j4;iOPn3*xb5nq1=J7Iki4 -->hRUi43[0x1][0u];X3V8j4=15;{IYF8d1:xb5nq1->BC6Zd3[(xb5nq1->fVNme+ -X3V8j4)%256]=(unsigned char)fFvjz3(RdZoN,48+X3V8j4);if(--X3V8j4>=0)goto -IYF8d1;};{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256>=256-16))goto PXvj5 -;{xb5nq1->PnawH[0]++;xb5nq1->ELKAp3+=16;}PXvj5:;}xb5nq1->fVNme+=16; -vUYb92(0u,4096,xb5nq1,J7Iki4,0x1);}n_AjF4:;}{if(!(Hdw702&32))goto -EHOiM1;{iOPn3*xb5nq1=J7Iki4->hRUi43[1][1u];{if(!((xb5nq1->fVNme- -xb5nq1->ELKAp3)%256>=16))goto Zh7nv2;{int X3V8j4=15;{oOE2W:s3sCI1( -RdZoN,64+X3V8j4,J7Iki4->v6D2d3[1].FNU7M3[X3V8j4]=xb5nq1->BC6Zd3[( -xb5nq1->ELKAp3+X3V8j4)%256]);if(--X3V8j4>=0)goto oOE2W;};xb5nq1-> -ELKAp3+=16;}goto KSS8F;Zh7nv2:;xb5nq1->PnawH[0]++;KSS8F:;}vUYb92(0x1u -,4096,xb5nq1,J7Iki4,01);}EHOiM1:;}}_lCoK1:;}{if(!(0&&(Hdw702&01)))goto -__FnD3;{H4ghS2|=512u;J7Iki4->YRHFy->io7IZ3[0x1].ounCU4++;}__FnD3:;} -s3sCI1(RdZoN,026,J7Iki4->v6D2d3[0x1].Q1iXV3&~(0x1?wk4VW&~16:wk4VW)); -s3sCI1(RdZoN,23,J7Iki4->v6D2d3[1].DvwSz1&~(Hdw702&4));{if(!(Hdw702&16 -))goto B_9IY2;{J7Iki4->YRHFy->io7IZ3[0x1].smyqr+=(fFvjz3(RdZoN,0)<<8)+ -fFvjz3(RdZoN,0x1);{if(!((J7Iki4->iO1iw4[1]&240ul)>(5ul<<4)))goto -gbJeJ4;{unsigned rx55l1,tYsSE2;rx55l1=fFvjz3(RdZoN,2);{if(!(J7Iki4-> -iO1iw4[0x1]&268435456ul))goto bgpE63;J7Iki4->YRHFy->io7IZ3[1].QV1Pb3 -+=((rx55l1&0x3)<<8)+fFvjz3(RdZoN,3);bgpE63:;}tYsSE2=fFvjz3(RdZoN,4);{ -if(!(J7Iki4->iO1iw4[0x1]&(268435456ul|134217728ul)))goto kixrg4; -J7Iki4->YRHFy->io7IZ3[0x1].mZSLK1+=((tYsSE2&03)<<010)+fFvjz3(RdZoN,05 -);kixrg4:;}J7Iki4->YRHFy->io7IZ3[1].zwLFt3+=(tYsSE2>>0x2)+((rx55l1&~ -0x3)<<6);}gbJeJ4:;}J7Iki4->YRHFy->io7IZ3[0x1].lpVV64++;}B_9IY2:;}} -goto DpY605;wyazp4:;H4ghS2=32768u;DpY605:;}kUguy3=H4ghS2^J7Iki4-> -oXafA1[0x1].H4ghS2;{if(!(kUguy3))goto dWbRI2;{J7Iki4->YRHFy->io7IZ3[1 -].H4ghS2=J7Iki4->oXafA1[0x1].H4ghS2=H4ghS2;GLE_s4(J7Iki4,01);{if(!( -J7Iki4->YRHFy->yjdp7))goto meOKL1;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->yjdp7(J7Iki4->YRHFy,0x1,kUguy3);h2LrH3(&J7Iki4->h2LrH3);} -meOKL1:;}}dWbRI2:;}};}__noinline static void cSW2U1(kWMzp1*J7Iki4, -volatile unsigned long*RdZoN){int X3V8j4;AUUSL3(RdZoN,7,0);X3V8j4=0;{ -yJEe8:{J7Iki4->P9UkM1[0][X3V8j4]=(unsigned char)X3V8j4;J7Iki4->P9UkM1 -[01][X3V8j4]=(unsigned char)X3V8j4;AUUSL3(RdZoN,6,X3V8j4);}if(++ -X3V8j4<96)goto yJEe8;};AUUSL3(RdZoN,0,J7Iki4->GEt0d|4);}__forceinline -static void UWXL71(kWMzp1*J7Iki4){J7Iki4->fV7o35->PGh3e4=0xC000101Ful -;J7Iki4->fV7o35->Be1a54=lPIbL4;J7Iki4->fV7o35->PGh3e4=0xC060101Ful;} -void __attribute__((cdecl))TAU32_EnableInterrupts(kWMzp1*J7Iki4){ -OeCZm2(&J7Iki4->h2LrH3);J7Iki4->fV7o35->P3rGX3=(unsigned long)~( -r3CcP2|Sptqu|kCJ6a1|w9B8P4|gQf6j1|lPIbL4|j0Yx9|C10QV);J7Iki4->fV7o35 -->YOy672=0u;UWXL71(J7Iki4);}void __attribute__((cdecl))TAU32_DisableInterrupts -(kWMzp1*J7Iki4){CLbj94(J7Iki4);OeCZm2(&J7Iki4->h2LrH3);}static void -w_2xo4(kWMzp1*J7Iki4){UWXL71(J7Iki4);WqCeB2(J7Iki4);Pp5_4(J7Iki4); -qWaP5(J7Iki4);}void __attribute__((cdecl))TAU32_BeforeReset(oSdJm* -YRHFy){{if(!(YRHFy))goto AbRV73;{volatile LbJOV*fV7o35=(volatile LbJOV - * )YRHFy->Y3IxL2;{if(!(fV7o35))goto G2b703;{fV7o35->P3rGX3=~0ul; -fV7o35->PGh3e4=0ul;fV7o35->e6VgP3.dZK6h3=0ul;fV7o35->YOy672=~0ul; -fV7o35->y8QlL=0ul;}G2b703:;}}AbRV73:;}}static int qWaP5(kWMzp1*J7Iki4 -){int jSJ9c=01750;{ggCLj1:{J7Iki4->fV7o35->PGh3e4=0xC000101Ful;J7Iki4 -->fV7o35->Be1a54=lPIbL4;WqCeB2(J7Iki4);Pp5_4(J7Iki4);{if(!(--jSJ9c==0 -))goto ChhzO2;goto R67oM;ChhzO2:;}J7Iki4->fV7o35->PGh3e4=0xC060101Ful -;}if(J7Iki4->fV7o35->euuEB1&0x2)goto ggCLj1;};return 01;R67oM:{DbzEH3 -:{__asm __volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : : -"cc");__asm __volatile(""::);}if(0)goto DbzEH3;};J7Iki4->fV7o35-> -P3rGX3|=lPIbL4;{HfzOC3:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -HfzOC3;};J7Iki4->fV7o35->PGh3e4=0;{MFJhy:{__asm __volatile(""::); -__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile( -""::);}if(0)goto MFJhy;};{if(!(J7Iki4->YRHFy->b_7cQ4))goto ZEORi4;{ -uYS5N2(&J7Iki4->h2LrH3);J7Iki4->YRHFy->b_7cQ4(J7Iki4->YRHFy,-0x2, -1048576ul);h2LrH3(&J7Iki4->h2LrH3);}ZEORi4:;}return-0x1;}int -__attribute__((cdecl))TAU32_IsInterruptPending(kWMzp1*J7Iki4){return -nIaSt(J7Iki4);}__noinline static unsigned __fastcall WqCeB2(kWMzp1* -J7Iki4){volatile unsigned long*RdZoN;unsigned qKhEV3,jfimS4,H4ghS2; -RdZoN=&J7Iki4->fV7o35->UyRVB4;H4ghS2=RtiEy4(RdZoN,0);jfimS4=J7Iki4-> -jfimS4&~0x1u;{if(!((H4ghS2&64)&&(J7Iki4->GEt0d&8)))goto bquFc1;{{if(! -(!(J7Iki4->jfimS4&1u)))goto RyvaA1;J7Iki4->YRHFy->eR4Uq4++;RyvaA1:;} -jfimS4|=0x1u;}bquFc1:;}{if(!(H4ghS2&128))goto vFgpP;{jfimS4&=~4u;{if( -!(jfimS4&0x2u))goto eLCHB1;{int aKuBh3=96;{if(!(J7Iki4->SP4ZU==0x2))goto -pmY4;aKuBh3-=32;pmY4:;}DhumT2(J7Iki4,RdZoN,aKuBh3);jfimS4=(jfimS4| -0x4u)&~0x2u;}eLCHB1:;}}vFgpP:;}qKhEV3=J7Iki4->jfimS4^jfimS4;{if(!( -qKhEV3))goto Ai0te;{J7Iki4->YRHFy->jfimS4=J7Iki4->jfimS4=jfimS4;{if(! -(J7Iki4->YRHFy->yjdp7))goto _PLB03;{uYS5N2(&J7Iki4->h2LrH3);J7Iki4-> -YRHFy->yjdp7(J7Iki4->YRHFy,-0x1,qKhEV3);h2LrH3(&J7Iki4->h2LrH3);} -_PLB03:;}}Ai0te:;}return H4ghS2;}int __attribute__((cdecl))TAU32_HandleInterrupt -(kWMzp1*J7Iki4){int Kt5Iv1;wP7Tk3(&J7Iki4->h2LrH3);Kt5Iv1=yoLEn3( -J7Iki4);uYS5N2(&J7Iki4->h2LrH3);return Kt5Iv1;}int __attribute__(( -cdecl))TAU32_SubmitRequest(kWMzp1*J7Iki4,QDNE6*wkiYO4){int Kt5Iv1; -h2LrH3(&J7Iki4->h2LrH3);Kt5Iv1=i_1fA2(J7Iki4,wkiYO4);uYS5N2(&J7Iki4-> -h2LrH3);return Kt5Iv1;}int __attribute__((cdecl))TAU32_CancelRequest( -kWMzp1*J7Iki4,QDNE6*wkiYO4,int pTM6S){int Kt5Iv1;h2LrH3(&J7Iki4-> -h2LrH3);Kt5Iv1=QrVoB3(J7Iki4,wkiYO4,pTM6S);{if(!(Kt5Iv1))goto k7EcZ1; -{}k7EcZ1:;}uYS5N2(&J7Iki4->h2LrH3);return Kt5Iv1;}__forceinline -static int L37Zk1(int aKuBh3,unsigned char*kEiqy3,unsigned long m45Hf -,unsigned char*hkhXH3,unsigned char*WMa7R){const unsigned KgiuB1=127u -;const unsigned gSjrH4=128u;int qwUGv3=0;int X3V8j4=0;{pmBVh4:{int -SHSV72=kEiqy3?kEiqy3[X3V8j4]:(hkhXH3[X3V8j4]&~gSjrH4);{if(!(SHSV72>= -aKuBh3))goto uUJBR;SHSV72=KgiuB1;uUJBR:;}{if(!(X3V8j4<32))goto nrrxW3 -;{{if(!(m45Hf&01))goto xGEHY2;SHSV72|=gSjrH4;xGEHY2:;}m45Hf>>=01;} -nrrxW3:;}{if(!(qwUGv3||SHSV72!=hkhXH3[X3V8j4]))goto WJral3;{WMa7R[ -X3V8j4]=(unsigned char)SHSV72;{if(!(!qwUGv3))goto H5wQ5;{int hObSM4;{ -hObSM4=0;mABZV4:if(!(hObSM4xOYSq1[X3V8j4]!=J7Iki4 -->bNfmc1[X3V8j4]))goto Qb7_F2;{{if(!(y3nfl4!=X3V8j4))goto nij914; -AUUSL3(RdZoN,0x7,X3V8j4);nij914:;}AUUSL3(RdZoN,6,J7Iki4->bNfmc1[ -X3V8j4]=J7Iki4->xOYSq1[X3V8j4]);y3nfl4=X3V8j4+0x1;}Qb7_F2:;}}if(++ -X3V8j4GEt0d|04);ldkSL4= -J7Iki4->bNfmc1;J7Iki4->bNfmc1=J7Iki4->veMrO;J7Iki4->veMrO=ldkSL4; -GLE_s4(J7Iki4,(-0x1));}int __attribute__((cdecl))TAU32_SetCrossMatrix -(kWMzp1*J7Iki4,unsigned char*eCQDF,unsigned long m45Hf){int aKuBh3; -h2LrH3(&J7Iki4->h2LrH3);aKuBh3=96;{if(!(J7Iki4->SP4ZU==02))goto YTCT72 -;aKuBh3-=32;YTCT72:;}{if(!(L37Zk1(aKuBh3,eCQDF,m45Hf,J7Iki4->veMrO, -J7Iki4->xOYSq1)))goto YJ3xz2;{volatile unsigned long*RdZoN;RdZoN=& -J7Iki4->fV7o35->UyRVB4;{if(!(J7Iki4->jfimS4&0x4u))goto lKr7C;{{if(!(! -(J7Iki4->jfimS4&0x2u)))goto xaiXa;{J7Iki4->YRHFy->jfimS4=J7Iki4-> -jfimS4|=02u;{if(!(J7Iki4->YRHFy->yjdp7))goto ZBFlD1;{uYS5N2(&J7Iki4-> -h2LrH3);J7Iki4->YRHFy->yjdp7(J7Iki4->YRHFy,-0x1,2u);h2LrH3(&J7Iki4-> -h2LrH3);}ZBFlD1:;}}xaiXa:;}}goto jFtDD4;lKr7C:;{J7Iki4->YRHFy->jfimS4 -=J7Iki4->jfimS4|=4u;DhumT2(J7Iki4,RdZoN,aKuBh3);}jFtDD4:;}}goto yMivT1 -;YJ3xz2:;{{if(!(J7Iki4->jfimS4&2u))goto XsLr1;{J7Iki4->YRHFy->jfimS4= -J7Iki4->jfimS4&=~0x2u;{if(!(J7Iki4->YRHFy->yjdp7))goto cVjEh2;{uYS5N2 -(&J7Iki4->h2LrH3);J7Iki4->YRHFy->yjdp7(J7Iki4->YRHFy,-1,2u);h2LrH3(& -J7Iki4->h2LrH3);}cVjEh2:;}}XsLr1:;}}yMivT1:;}uYS5N2(&J7Iki4->h2LrH3); -return 0x1;}void __attribute__((cdecl))TAU32_LedBlink(kWMzp1*J7Iki4){ -volatile unsigned long*RdZoN;h2LrH3(&J7Iki4->h2LrH3);J7Iki4->YRHFy-> -jfimS4=J7Iki4->jfimS4^=0x8u;J7Iki4->GEt0d^=16;RdZoN=&J7Iki4->fV7o35 -->UyRVB4;AUUSL3(RdZoN,0,J7Iki4->GEt0d);uYS5N2(&J7Iki4->h2LrH3);}void -__attribute__((cdecl))TAU32_LedSet(kWMzp1*J7Iki4,int xkMXp){unsigned -t57WF3;h2LrH3(&J7Iki4->h2LrH3);t57WF3=J7Iki4->GEt0d&~16;{if(!(xkMXp))goto -nToJ62;t57WF3|=16;nToJ62:;}{if(!(J7Iki4->GEt0d!=t57WF3))goto d7HTj3;{ -volatile unsigned long*RdZoN;unsigned jfimS4=J7Iki4->jfimS4&~8u;{if(! -(t57WF3&16))goto pylPi3;jfimS4|=0x8u;pylPi3:;}J7Iki4->YRHFy->jfimS4= -J7Iki4->jfimS4=jfimS4;RdZoN=&J7Iki4->fV7o35->UyRVB4;AUUSL3(RdZoN,0, -J7Iki4->GEt0d=t57WF3);}d7HTj3:;}uYS5N2(&J7Iki4->h2LrH3);}static -__forceinline unsigned long long kD2ag4(unsigned long trZRN4,unsigned -long xcOQU2){unsigned long long Kt5Iv1;__asm__("mull %2":"=A,A"( -Kt5Iv1):"%a,%a"(trZRN4),"r,m"(xcOQU2):"cc");return Kt5Iv1;}unsigned -long long __attribute__((cdecl))TAU32_ProbeGeneratorFrequency( -unsigned long long jYvNM3){unsigned long TrF875,V4Eg_2,yG5VL=0,Curt94 -=(unsigned long)(jYvNM3>>32);{if(!(((int)Curt94)<=0))goto PY2k02; -Curt94=2048000;goto iJL0J;PY2k02:;{if(!(Curt94<2048000-0x1388))goto -fcI1o1;Curt94=2048000-0x1388;goto dEEsv;fcI1o1:;{if(!(Curt94>=2048000 -+011610))goto pfvK;Curt94=2048000+011610;goto z7JL65;pfvK:;yG5VL=( -unsigned long)jYvNM3;z7JL65:;}dEEsv:;}iJL0J:;}jYvNM3=(((unsigned long -long)Curt94)<<32)+yG5VL;jYvNM3+=65536*0175/2;jYvNM3>>=16;__asm__( -"divl %3":"=a,a"(TrF875),"=d,d"(V4Eg_2):"A,A"(jYvNM3),"r,m"(0175): -"cc");return kD2ag4(TrF875,0175*65536);}unsigned long long -__attribute__((cdecl))TAU32_SetGeneratorFrequency(kWMzp1*J7Iki4, -unsigned long long jYvNM3){volatile unsigned long*RdZoN;unsigned long -TrF875;unsigned long V4Eg_2,Curt94=(unsigned long)(jYvNM3>>32);{if(!( -((int)Curt94)<=0))goto ajFIr1;goto ejnKl2;goto bSFnY1;ajFIr1:;{if(!( -Curt94<2048000-011610))goto UVOU33;goto kIGV65;goto LHp0y4;UVOU33:;{ -if(!(Curt94>=2048000+011610))goto MT7_U;goto uuBga4;MT7_U:;}LHp0y4:;} -bSFnY1:;}mcEID3:jYvNM3+=65536*0175/02;jYvNM3>>=16;__asm__("divl %3": -"=a,a"(TrF875),"=d,d"(V4Eg_2):"A,A"(jYvNM3),"r,m"(0175):"cc");h2LrH3 -(&J7Iki4->h2LrH3);{if(!(J7Iki4->hBew43!=TrF875))goto Vs72l;{J7Iki4-> -hBew43=TrF875;RdZoN=&J7Iki4->fV7o35->UyRVB4;LzuvP2(RdZoN,TrF875);} -Vs72l:;}uYS5N2(&J7Iki4->h2LrH3);return kD2ag4(TrF875,125*65536); -ejnKl2:jYvNM3=((unsigned long long)2048000ul)<<32;goto mcEID3;kIGV65: -jYvNM3=((unsigned long long)2048000ul-011610)<<32;goto mcEID3;uuBga4: -jYvNM3=((unsigned long long)2048000ul+011610)<<32;goto mcEID3;}int -__attribute__((cdecl))TAU32_SetSyncMode(kWMzp1*J7Iki4,unsigned JzUUv2 -){unsigned t57WF3;h2LrH3(&J7Iki4->h2LrH3);t57WF3=J7Iki4->GEt0d&~0x23; -switch(JzUUv2){case 03:t57WF3|=32;break;case 0x1:t57WF3|=02;break; -case 0:t57WF3|=1;break;case 2:{if(!(J7Iki4->SP4ZU!=02))goto ur7M31;{ -t57WF3|=0x3;break;}ur7M31:;}default:uYS5N2(&J7Iki4->h2LrH3);return 0; -}{if(!(J7Iki4->GEt0d!=t57WF3))goto jIkkW3;{volatile unsigned long* -RdZoN;RdZoN=&J7Iki4->fV7o35->UyRVB4;AUUSL3(RdZoN,0,J7Iki4->GEt0d= -t57WF3);}jIkkW3:;}uYS5N2(&J7Iki4->h2LrH3);return 0x1;}int -__attribute__((cdecl))TAU32_SetCasIo(kWMzp1*J7Iki4,int qUKv12){{if(!( -J7Iki4->SP4ZU==02))goto BBR_Y2;return 0;goto sYPGd4;BBR_Y2:;{unsigned -t57WF3;h2LrH3(&J7Iki4->h2LrH3);t57WF3=J7Iki4->GEt0d&~0x8;{if(!(qUKv12 -))goto E98ZN1;t57WF3|=010;E98ZN1:;}{if(!(J7Iki4->GEt0d!=t57WF3))goto -x4H574;{volatile unsigned long*RdZoN;RdZoN=&J7Iki4->fV7o35->UyRVB4; -AUUSL3(RdZoN,0,J7Iki4->GEt0d=t57WF3);GLE_s4(J7Iki4,(-1));}x4H574:;} -uYS5N2(&J7Iki4->h2LrH3);return 1;}sYPGd4:;}}int __attribute__((cdecl))TAU32_UpdateIdleCodes -(kWMzp1*J7Iki4,int b9Zs_,unsigned long dJtvs,unsigned char RAwCl1){ -int fRgzh2=0;int X3V8j4;{if(!((b9Zs_!=(-0x1)&&b9Zs_>1)||dJtvs==0))goto -ObnCM2;return 0;ObnCM2:;}{if(!(J7Iki4->SP4ZU==2&&b9Zs_>0))goto UiHem4 -;return 0;UiHem4:;}h2LrH3(&J7Iki4->h2LrH3);X3V8j4=0;{Ssl144:{{if(!( -dJtvs&0x1))goto TpZ785;{{if(!(b9Zs_==(-1)||b9Zs_==0))goto j7vft;{if(! -(J7Iki4->jyElQ3[0][X3V8j4]!=RAwCl1))goto g1F5_1;{J7Iki4->jyElQ3[0][ -X3V8j4]=RAwCl1;fRgzh2=01;}g1F5_1:;}j7vft:;}{if(!(J7Iki4->SP4ZU!=2))goto -pMVyr2;{if(!(b9Zs_==(-1)||b9Zs_==01))goto v8BDc2;{if(!(J7Iki4->jyElQ3 -[01][X3V8j4]!=RAwCl1))goto a2mb94;{J7Iki4->jyElQ3[01][X3V8j4]=RAwCl1; -fRgzh2=0x1;}a2mb94:;}v8BDc2:;}pMVyr2:;}}TpZ785:;}++X3V8j4;}if((32==32 -||X3V8j4<32)&&(dJtvs>>=0x1)!=0)goto Ssl144;};{if(!(fRgzh2))goto RguOm -;GLE_s4(J7Iki4,b9Zs_);RguOm:;}uYS5N2(&J7Iki4->h2LrH3);return 1;}int -__attribute__((cdecl))TAU32_SetIdleCodes(kWMzp1*J7Iki4,unsigned char* -PTDns3){int fRgzh2=0;int X3V8j4=(J7Iki4->SP4ZU==02)?32-0x1:32*02-1;{ -J99ok3:{if(!(PTDns3[X3V8j4]>0xF&&PTDns3[X3V8j4]!=0xFF))goto bymxW4; -return 0;bymxW4:;}if(--X3V8j4>=0)goto J99ok3;};h2LrH3(&J7Iki4->h2LrH3 -);X3V8j4=(J7Iki4->SP4ZU==0x2)?32-0x1:32*2-01;{lfF_u2:{if(!(PTDns3[ -X3V8j4]<=0xF&&J7Iki4->jyElQ3[X3V8j4/32][X3V8j4%32]!=PTDns3[X3V8j4]))goto -rQ3tw3;{J7Iki4->jyElQ3[X3V8j4/32][X3V8j4%32]=PTDns3[X3V8j4];fRgzh2=01 -;}rQ3tw3:;}if(--X3V8j4>=0)goto lfF_u2;};{if(!(fRgzh2))goto bY6sq; -GLE_s4(J7Iki4,(-1));bY6sq:;}uYS5N2(&J7Iki4->h2LrH3);return 0x1;} -__forceinline static int Ji6_v2(unsigned UYtd71,iOPn3*xb5nq1,unsigned -char*X3ca,unsigned IOwwG2){unsigned X3V8j4;{if(!(256-(xb5nq1->fVNme- -xb5nq1->ELKAp3)%256BC6Zd3[(xb5nq1->fVNme+X3V8j4)%256]=X3ca[ -X3V8j4];goto iqpue4;HKFgD2:;}xb5nq1->fVNme+=IOwwG2;r_RoY4(UYtd71, -xb5nq1);return 256-(xb5nq1->fVNme-xb5nq1->ELKAp3)%256;}__forceinline -static int X9u3r2(unsigned UYtd71,iOPn3*xb5nq1,unsigned char*X3ca, -unsigned IOwwG2){unsigned X3V8j4;{if(!(256-(xb5nq1->fVNme-xb5nq1-> -ELKAp3)%256ELKAp3-= -IOwwG2;{X3V8j4=0;Jx3ko4:if(!(X3V8j4BC6Zd3[(xb5nq1->ELKAp3+ -X3V8j4)%256]=X3ca[X3V8j4];goto mXOjF3;U7bxz1:;}r_RoY4(UYtd71,xb5nq1); -return 256-(xb5nq1->fVNme-xb5nq1->ELKAp3)%256;}__forceinline static -int usMAR(unsigned UYtd71,iOPn3*xb5nq1,unsigned char*X3ca,unsigned -IOwwG2){unsigned X3V8j4;{if(!((xb5nq1->fVNme-xb5nq1->ELKAp3)%256< -IOwwG2))goto fp7Hi1;{return-0x1;}fp7Hi1:;}{X3V8j4=0;oiRcs2:if(!( -X3V8j4BC6Zd3[(xb5nq1->ELKAp3+X3V8j4)%256];goto -E3PNZ3;ItGZm3:;}xb5nq1->ELKAp3+=IOwwG2;r_RoY4(UYtd71,xb5nq1);return( -xb5nq1->fVNme-xb5nq1->ELKAp3)%256;}__forceinline static void cYVI15( -unsigned UYtd71,iOPn3*xb5nq1){xb5nq1->fVNme=0;xb5nq1->ELKAp3=0;xb5nq1 -->KQKqV1=0;{if(!(xb5nq1->PnawH))goto bf1St1;xb5nq1->PnawH[0]=0;bf1St1 -:;}r_RoY4(UYtd71,xb5nq1);}int __attribute__((cdecl))TAU32_FifoPutCasAppend -(kWMzp1*J7Iki4,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2){int -Kt5Iv1=-2;h2LrH3(&J7Iki4->h2LrH3);switch(b9Zs_){case 0:Kt5Iv1=Ji6_v2( -01u,&J7Iki4->oXafA1[0].KqthD[01u],X3ca,IOwwG2);break;case 1:{if(!( -J7Iki4->SP4ZU!=0x2))goto BjC5Z;Kt5Iv1=Ji6_v2(01u,&J7Iki4->oXafA1[01]. -KqthD[01u],X3ca,IOwwG2);BjC5Z:;}break;case(-1):Kt5Iv1=Ji6_v2(0x1u,& -J7Iki4->oXafA1[0].KqthD[01u],X3ca,IOwwG2);{if(!(J7Iki4->SP4ZU!=2))goto -lJjph3;{int QEvwb3=Ji6_v2(0x1u,&J7Iki4->oXafA1[1].KqthD[01u],X3ca, -IOwwG2);{if(!(QEvwb3h2LrH3);return Kt5Iv1;}int __attribute__(( -cdecl))TAU32_FifoPutCasAhead(kWMzp1*J7Iki4,int b9Zs_,unsigned char* -X3ca,unsigned IOwwG2){int Kt5Iv1=-2;h2LrH3(&J7Iki4->h2LrH3);switch( -b9Zs_){case 0:Kt5Iv1=X9u3r2(0x1u,&J7Iki4->oXafA1[0].KqthD[0x1u],X3ca, -IOwwG2);break;case 1:{if(!(J7Iki4->SP4ZU!=2))goto FwDnd1;Kt5Iv1= -X9u3r2(0x1u,&J7Iki4->oXafA1[0x1].KqthD[0x1u],X3ca,IOwwG2);FwDnd1:;} -break;case(-01):Kt5Iv1=X9u3r2(1u,&J7Iki4->oXafA1[0].KqthD[0x1u],X3ca, -IOwwG2);{if(!(J7Iki4->SP4ZU!=2))goto kVVIy3;{int QEvwb3=X9u3r2(0x1u,& -J7Iki4->oXafA1[01].KqthD[0x1u],X3ca,IOwwG2);{if(!(QEvwb3h2LrH3); -return Kt5Iv1;}int __attribute__((cdecl))TAU32_FifoGetCas(kWMzp1* -J7Iki4,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2){int Kt5Iv1=-2; -h2LrH3(&J7Iki4->h2LrH3);switch(b9Zs_){case 0:Kt5Iv1=usMAR(0u,&J7Iki4 -->oXafA1[0].KqthD[0u],X3ca,IOwwG2);break;case 1:{if(!(J7Iki4->SP4ZU!= -2))goto WXoBp4;Kt5Iv1=usMAR(0u,&J7Iki4->oXafA1[01].KqthD[0u],X3ca, -IOwwG2);WXoBp4:;}break;}uYS5N2(&J7Iki4->h2LrH3);return Kt5Iv1;}int -__attribute__((cdecl))TAU32_FifoPutFasAppend(kWMzp1*J7Iki4,int b9Zs_, -unsigned char*X3ca,unsigned IOwwG2){int Kt5Iv1=-02;h2LrH3(&J7Iki4-> -h2LrH3);switch(b9Zs_){case 0:Kt5Iv1=Ji6_v2(03u,&J7Iki4->oXafA1[0]. -KqthD[0x3u],X3ca,IOwwG2);break;case 0x1:{if(!(J7Iki4->SP4ZU!=0x2))goto -_m6_f;Kt5Iv1=Ji6_v2(0x3u,&J7Iki4->oXafA1[1].KqthD[03u],X3ca,IOwwG2); -_m6_f:;}break;case(-01):Kt5Iv1=Ji6_v2(03u,&J7Iki4->oXafA1[0].KqthD[ -03u],X3ca,IOwwG2);{if(!(J7Iki4->SP4ZU!=02))goto Id_AA4;{int QEvwb3= -Ji6_v2(03u,&J7Iki4->oXafA1[1].KqthD[0x3u],X3ca,IOwwG2);{if(!(QEvwb3< -Kt5Iv1))goto gu62o;Kt5Iv1=QEvwb3;gu62o:;}}Id_AA4:;}}uYS5N2(&J7Iki4-> -h2LrH3);return Kt5Iv1;}int __attribute__((cdecl))TAU32_FifoPutFasAhead -(kWMzp1*J7Iki4,int b9Zs_,unsigned char*X3ca,unsigned IOwwG2){int -Kt5Iv1=-02;h2LrH3(&J7Iki4->h2LrH3);switch(b9Zs_){case 0:Kt5Iv1=X9u3r2 -(03u,&J7Iki4->oXafA1[0].KqthD[0x3u],X3ca,IOwwG2);break;case 01:{if(!( -J7Iki4->SP4ZU!=02))goto VJWHk;Kt5Iv1=X9u3r2(03u,&J7Iki4->oXafA1[0x1]. -KqthD[3u],X3ca,IOwwG2);VJWHk:;}break;case(-1):Kt5Iv1=X9u3r2(03u,& -J7Iki4->oXafA1[0].KqthD[3u],X3ca,IOwwG2);{if(!(J7Iki4->SP4ZU!=02))goto -R0ObX2;{int QEvwb3=X9u3r2(0x3u,&J7Iki4->oXafA1[0x1].KqthD[03u],X3ca, -IOwwG2);{if(!(QEvwb3h2LrH3);return Kt5Iv1;}int __attribute__(( -cdecl))TAU32_FifoGetFas(kWMzp1*J7Iki4,int b9Zs_,unsigned char*X3ca, -unsigned IOwwG2){int Kt5Iv1=-2;h2LrH3(&J7Iki4->h2LrH3);switch(b9Zs_){ -case 0:Kt5Iv1=usMAR(02u,&J7Iki4->oXafA1[0].KqthD[0x2u],X3ca,IOwwG2); -break;case 01:{if(!(J7Iki4->SP4ZU!=02))goto f9Ox83;Kt5Iv1=usMAR(2u,& -J7Iki4->oXafA1[0x1].KqthD[2u],X3ca,IOwwG2);f9Ox83:;}break;}uYS5N2(& -J7Iki4->h2LrH3);return Kt5Iv1;}__noinline static void __fastcall -AErNL3(kWMzp1*J7Iki4){{unsigned X3V8j4;volatile unsigned long*RdZoN; -J7Iki4->v6D2d3[0].DvwSz1=0;cYVI15(0x1u,J7Iki4->hRUi43[0][0x1u]); -cYVI15(3u,J7Iki4->hRUi43[0][03u]);RdZoN=&J7Iki4->fV7o35->UyRVB4;BucKo -(RdZoN,32,0233);BucKo(RdZoN,0x21,J7Iki4->v6D2d3[0].jf4g9=0xDF);BucKo( -RdZoN,64,J7Iki4->v6D2d3[0].FNU7M3[0]=013);X3V8j4=017;{h_bP43:BucKo( -RdZoN,64+X3V8j4,J7Iki4->v6D2d3[0].FNU7M3[X3V8j4]=0xFF);if(--X3V8j4)goto -h_bP43;};BucKo(RdZoN,0120,0xFF);BucKo(RdZoN,0121,0xFF);BucKo(RdZoN, -0122,0);BucKo(RdZoN,0123,0xFF);BucKo(RdZoN,0124,0xFF);BucKo(RdZoN, -0125,0xFF);BucKo(RdZoN,0126,0xFF);BucKo(RdZoN,0127,0xFF);X3V8j4=32;{ -PcYU4:{BucKo(RdZoN,0140+X3V8j4-1,J7Iki4->jyElQ3[0][X3V8j4-1]=J7Iki4-> -v6D2d3[0].mHM361[X3V8j4-0x1]=0xD5);BucKo(RdZoN,128+X3V8j4-1,0xFF);}if -(--X3V8j4)goto PcYU4;};HcALQ1(RdZoN,042,J7Iki4->v6D2d3[0].wGgJV2=3); -HcALQ1(RdZoN,0xa0,J7Iki4->v6D2d3[0].x8DWY2=~0ul);HcALQ1(RdZoN,0xa4, -J7Iki4->v6D2d3[0].oWLOw3=~0ul);};}__noinline static void __fastcall -tsz3n4(kWMzp1*J7Iki4){{unsigned X3V8j4;volatile unsigned long*RdZoN; -J7Iki4->v6D2d3[01].DvwSz1=0;cYVI15(1u,J7Iki4->hRUi43[1][1u]);cYVI15( -3u,J7Iki4->hRUi43[1][0x3u]);RdZoN=&J7Iki4->fV7o35->UyRVB4;s3sCI1( -RdZoN,32,0233);s3sCI1(RdZoN,041,J7Iki4->v6D2d3[1].jf4g9=0xDF);s3sCI1( -RdZoN,64,J7Iki4->v6D2d3[01].FNU7M3[0]=013);X3V8j4=017;{Mjvwg1:s3sCI1( -RdZoN,64+X3V8j4,J7Iki4->v6D2d3[1].FNU7M3[X3V8j4]=0xFF);if(--X3V8j4)goto -Mjvwg1;};s3sCI1(RdZoN,0120,0xFF);s3sCI1(RdZoN,0121,0xFF);s3sCI1(RdZoN -,0122,0);s3sCI1(RdZoN,0123,0xFF);s3sCI1(RdZoN,0124,0xFF);s3sCI1(RdZoN -,0125,0xFF);s3sCI1(RdZoN,0126,0xFF);s3sCI1(RdZoN,0127,0xFF);X3V8j4=32 -;{pY_pO3:{s3sCI1(RdZoN,0140+X3V8j4-01,J7Iki4->jyElQ3[01][X3V8j4-1]= -J7Iki4->v6D2d3[0x1].mHM361[X3V8j4-01]=0xD5);s3sCI1(RdZoN,128+X3V8j4-1 -,0xFF);}if(--X3V8j4)goto pY_pO3;};Rqv1w3(RdZoN,042,J7Iki4->v6D2d3[01] -.wGgJV2=0x3);Rqv1w3(RdZoN,0xa0,J7Iki4->v6D2d3[1].x8DWY2=~0ul);Rqv1w3( -RdZoN,0xa4,J7Iki4->v6D2d3[01].oWLOw3=~0ul);};}static int WQjAp4( -kWMzp1*J7Iki4,QDNE6*a02Gz4,DCf0T2*esWTk2){{if(!(a02Gz4->QvZLK&64u))goto -JTNVO4;{{if(!(a02Gz4->NpyOc1.gMQg82.b9Zs_!=(-01)&&a02Gz4->NpyOc1. -gMQg82.b9Zs_>1))goto WSRoN2;{return 0;}WSRoN2:;}{if(!(J7Iki4->SP4ZU -==02&&a02Gz4->NpyOc1.gMQg82.b9Zs_>0))goto IaVcT1;{return 0;}IaVcT1:; -}{if(!(!Mrgr62(a02Gz4->NpyOc1.gMQg82.sxr445,a02Gz4->NpyOc1.gMQg82. -W0jOn2,&esWTk2->tQcig.C6yEr1)))goto yHbGG2;{return 0;}yHbGG2:;} -esWTk2->tQcig.G15W41=0;{if(!(a02Gz4->NpyOc1.gMQg82.b9Zs_==(-1)|| -a02Gz4->NpyOc1.gMQg82.b9Zs_==0))goto FXKBx;{esWTk2->tQcig.G15W41|= -eKIU_4<<0;{if(!((a02Gz4->NpyOc1.gMQg82.sxr445&15ul)!=(0ul<<0)))goto -hNST_;{{if(!((J7Iki4->iO1iw4[0]&017ul)==(0ul<<0)))goto fP14O1;esWTk2 -->tQcig.G15W41|=(D1OxN4|p9baI3|KZp71|KZEMj4)<<0;fP14O1:;}{if(!((( -a02Gz4->NpyOc1.gMQg82.sxr445&017ul)==(01ul<<0))!=((J7Iki4->iO1iw4[0]& -017ul)==(1ul<<0))))goto GB75W2;esWTk2->tQcig.G15W41|=(p9baI3|KZp71| -KZEMj4)<<0;GB75W2:;}{if(!(((a02Gz4->NpyOc1.gMQg82.sxr445&0360ul)<=( -5ul<<04))!=((J7Iki4->iO1iw4[0]&0360ul)<=(0x5ul<<4))))goto bXj363; -esWTk2->tQcig.G15W41|=(KZp71|KZEMj4)<<0;bXj363:;}{if(!((J7Iki4-> -iO1iw4[0]^a02Gz4->NpyOc1.gMQg82.sxr445)&(0360ul|268435456ul)))goto -fHk793;esWTk2->tQcig.G15W41|=KZEMj4<<0;fHk793:;}}goto zuLXp1;hNST_:;{ -esWTk2->tQcig.G15W41|=qS5lW1<<0;{if(!((J7Iki4->iO1iw4[0]&017ul)!=(0ul -<<0)))goto C2o6P2;esWTk2->tQcig.G15W41|=KZEMj4<<0;C2o6P2:;}}zuLXp1:;} -}FXKBx:;};{if(!((a02Gz4->NpyOc1.gMQg82.b9Zs_==(-0x1)||a02Gz4->NpyOc1. -gMQg82.b9Zs_==01)&&J7Iki4->SP4ZU!=0x2))goto pZGsj4;{esWTk2->tQcig. -G15W41|=eKIU_4<<01;{if(!((a02Gz4->NpyOc1.gMQg82.sxr445&017ul)!=(0ul<< -0)))goto K68ek2;{{if(!((J7Iki4->iO1iw4[1]&017ul)==(0ul<<0)))goto -wt21n2;esWTk2->tQcig.G15W41|=(D1OxN4|p9baI3|KZp71|KZEMj4)<<0x1;wt21n2 -:;}{if(!(((a02Gz4->NpyOc1.gMQg82.sxr445&017ul)==(0x1ul<<0))!=((J7Iki4 -->iO1iw4[0x1]&017ul)==(0x1ul<<0))))goto H0_uV3;esWTk2->tQcig.G15W41|= -(p9baI3|KZp71|KZEMj4)<<01;H0_uV3:;}{if(!(((a02Gz4->NpyOc1.gMQg82. -sxr445&240ul)<=(5ul<<04))!=((J7Iki4->iO1iw4[01]&0360ul)<=(05ul<<0x4))))goto -QoVg22;esWTk2->tQcig.G15W41|=(KZp71|KZEMj4)<<01;QoVg22:;}{if(!(( -J7Iki4->iO1iw4[0x1]^a02Gz4->NpyOc1.gMQg82.sxr445)&(240ul|268435456ul)))goto -_4TDD3;esWTk2->tQcig.G15W41|=KZEMj4<<0x1;_4TDD3:;}}goto YmLEh1;K68ek2 -:;{esWTk2->tQcig.G15W41|=qS5lW1<<1;{if(!((J7Iki4->iO1iw4[0x1]&15ul)!= -(0ul<<0)))goto L9_Ft4;esWTk2->tQcig.G15W41|=KZEMj4<<01;L9_Ft4:;}} -YmLEh1:;}}pZGsj4:;};}JTNVO4:;}return 0x1;}static int xnb4g3(kWMzp1* -J7Iki4,QDNE6*a02Gz4,DCf0T2*esWTk2){{if(!(a02Gz4->QvZLK&64u))goto pqgzS -;{volatile unsigned long*RdZoN;unsigned wxJA11=WqCeB2(J7Iki4);J7Iki4 -->YRHFy->U6oXn4=wxJA11&(16|32);RdZoN=&J7Iki4->fV7o35->UyRVB4;{if(!( -esWTk2->tQcig.G15W41&(eKIU_4<<0)))goto ZrWoW;{unsigned char TIQMZ1;{ -if(!(J7Iki4->v6D2d3[0].E7Ual2!=esWTk2->tQcig.C6yEr1.E7Ual2))goto -OhLOH1;BucKo(RdZoN,0x14,J7Iki4->v6D2d3[0].E7Ual2=esWTk2->tQcig.C6yEr1 -.E7Ual2);OhLOH1:;}{if(!(J7Iki4->v6D2d3[0].W4f921!=esWTk2->tQcig. -C6yEr1.W4f921))goto ymo3m3;BucKo(RdZoN,032,J7Iki4->v6D2d3[0].W4f921= -esWTk2->tQcig.C6yEr1.W4f921);ymo3m3:;}{if(!(J7Iki4->v6D2d3[0].kgEeY3 -!=esWTk2->tQcig.C6yEr1.kgEeY3))goto UE8_33;BucKo(RdZoN,27,J7Iki4-> -v6D2d3[0].kgEeY3=esWTk2->tQcig.C6yEr1.kgEeY3);UE8_33:;}{if(!(J7Iki4-> -v6D2d3[0]._Oqi51!=esWTk2->tQcig.C6yEr1._Oqi51))goto MolGF4;BucKo( -RdZoN,0xa8,J7Iki4->v6D2d3[0]._Oqi51=esWTk2->tQcig.C6yEr1._Oqi51); -MolGF4:;}{if(!(J7Iki4->v6D2d3[0].x2RgK4!=esWTk2->tQcig.C6yEr1.x2RgK4))goto -hlex91;{J7Iki4->v6D2d3[0].x2RgK4=esWTk2->tQcig.C6yEr1.x2RgK4;{if(!( -wxJA11&((0==0)?16:32)))goto Sf2Nz2;BucKo(RdZoN,24,esWTk2->tQcig. -C6yEr1.x2RgK4|0140);goto arIPi2;Sf2Nz2:;BucKo(RdZoN,24,esWTk2->tQcig. -C6yEr1.x2RgK4|64);arIPi2:;}}hlex91:;}{if(!(J7Iki4->v6D2d3[0].PBtXm1!= -esWTk2->tQcig.C6yEr1.PBtXm1))goto MOWyU;BucKo(RdZoN,18,J7Iki4->v6D2d3 -[0].PBtXm1=esWTk2->tQcig.C6yEr1.PBtXm1);MOWyU:;}TIQMZ1=esWTk2->tQcig. -C6yEr1.TIQMZ1;{if(!(J7Iki4->v6D2d3[0].TIQMZ1!=TIQMZ1))goto genw44; -BucKo(RdZoN,0x13,J7Iki4->v6D2d3[0].TIQMZ1=TIQMZ1);genw44:;}{if(!( -J7Iki4->v6D2d3[0].AuCs73!=esWTk2->tQcig.C6yEr1.AuCs73))goto htb7t1; -BucKo(RdZoN,16,J7Iki4->v6D2d3[0].AuCs73=esWTk2->tQcig.C6yEr1.AuCs73); -htb7t1:;}{if(!(J7Iki4->v6D2d3[0].DDAs81!=esWTk2->tQcig.C6yEr1.DDAs81))goto -F6RDd1;BucKo(RdZoN,0xac,J7Iki4->v6D2d3[0].DDAs81=esWTk2->tQcig.C6yEr1 -.DDAs81);F6RDd1:;}{if(!(J7Iki4->v6D2d3[0].VPJzO1!=esWTk2->tQcig. -C6yEr1.VPJzO1))goto mKdeB4;BucKo(RdZoN,0x1c,J7Iki4->v6D2d3[0].VPJzO1= -esWTk2->tQcig.C6yEr1.VPJzO1);mKdeB4:;}{if(!(J7Iki4->v6D2d3[0].JhCor3 -!=esWTk2->tQcig.C6yEr1.JhCor3||J7Iki4->v6D2d3[0].aW7n84!=esWTk2-> -tQcig.C6yEr1.aW7n84))goto tCLvR2;{unsigned long HqVZe4=J7Iki4->v6D2d3 -[0^0x1].aW7n84&~esWTk2->tQcig.C6yEr1.aW7n84;{if(!(J7Iki4->v6D2d3[0^1] -.aW7n84!=HqVZe4))goto KK2Co3;{{if(!(0))goto I4v7x;HcALQ1(RdZoN,053, -J7Iki4->v6D2d3[0].aW7n84=HqVZe4);goto YZhJh1;I4v7x:;Rqv1w3(RdZoN,0x2b -,J7Iki4->v6D2d3[1].aW7n84=HqVZe4);YZhJh1:;}}KK2Co3:;}HcALQ1(RdZoN, -0x2b,J7Iki4->v6D2d3[0].aW7n84=esWTk2->tQcig.C6yEr1.aW7n84);AUUSL3( -RdZoN,(0==0)?011:012,32|(J7Iki4->v6D2d3[0].JhCor3=esWTk2->tQcig. -C6yEr1.JhCor3));}tCLvR2:;}{if(!((a02Gz4->NpyOc1.gMQg82.sxr445&15ul)!= -(0ul<<0)))goto D8urj;{J7Iki4->iO1iw4[0]=a02Gz4->NpyOc1.gMQg82.sxr445; -{if(!(J7Iki4->v6D2d3[0].Q1iXV3!=esWTk2->tQcig.C6yEr1.Q1iXV3||J7Iki4-> -v6D2d3[0].DvwSz1!=esWTk2->tQcig.C6yEr1.DvwSz1))goto ptE8v1;esWTk2-> -tQcig.G15W41|=D1OxN4<<0;ptE8v1:;}}goto eInjq4;D8urj:;J7Iki4->iO1iw4[0 -]=0;eInjq4:;}}ZrWoW:;};{if(!(esWTk2->tQcig.G15W41&(eKIU_4<<1)))goto -Zivk01;{unsigned char TIQMZ1;{if(!(J7Iki4->v6D2d3[01].E7Ual2!=esWTk2 -->tQcig.C6yEr1.E7Ual2))goto Hsu3K;s3sCI1(RdZoN,0x14,J7Iki4->v6D2d3[1] -.E7Ual2=esWTk2->tQcig.C6yEr1.E7Ual2);Hsu3K:;}{if(!(J7Iki4->v6D2d3[01] -.W4f921!=esWTk2->tQcig.C6yEr1.W4f921))goto O7FoQ2;s3sCI1(RdZoN,0x1a, -J7Iki4->v6D2d3[01].W4f921=esWTk2->tQcig.C6yEr1.W4f921);O7FoQ2:;}{if(! -(J7Iki4->v6D2d3[0x1].kgEeY3!=esWTk2->tQcig.C6yEr1.kgEeY3))goto FyrG42 -;s3sCI1(RdZoN,27,J7Iki4->v6D2d3[0x1].kgEeY3=esWTk2->tQcig.C6yEr1. -kgEeY3);FyrG42:;}{if(!(J7Iki4->v6D2d3[1]._Oqi51!=esWTk2->tQcig.C6yEr1 -._Oqi51))goto S5BnT3;s3sCI1(RdZoN,0xa8,J7Iki4->v6D2d3[0x1]._Oqi51= -esWTk2->tQcig.C6yEr1._Oqi51);S5BnT3:;}{if(!(J7Iki4->v6D2d3[0x1]. -x2RgK4!=esWTk2->tQcig.C6yEr1.x2RgK4))goto lMnNL4;{J7Iki4->v6D2d3[1]. -x2RgK4=esWTk2->tQcig.C6yEr1.x2RgK4;{if(!(wxJA11&((1==0)?16:32)))goto -T3pdh4;s3sCI1(RdZoN,24,esWTk2->tQcig.C6yEr1.x2RgK4|96);goto LTuqB; -T3pdh4:;s3sCI1(RdZoN,24,esWTk2->tQcig.C6yEr1.x2RgK4|64);LTuqB:;}} -lMnNL4:;}{if(!(J7Iki4->v6D2d3[1].PBtXm1!=esWTk2->tQcig.C6yEr1.PBtXm1))goto -Ww0fR;s3sCI1(RdZoN,18,J7Iki4->v6D2d3[0x1].PBtXm1=esWTk2->tQcig.C6yEr1 -.PBtXm1);Ww0fR:;}TIQMZ1=esWTk2->tQcig.C6yEr1.TIQMZ1;{if(!(J7Iki4-> -v6D2d3[1].TIQMZ1!=TIQMZ1))goto GoBcS3;s3sCI1(RdZoN,0x13,J7Iki4-> -v6D2d3[1].TIQMZ1=TIQMZ1);GoBcS3:;}{if(!(J7Iki4->v6D2d3[01].AuCs73!= -esWTk2->tQcig.C6yEr1.AuCs73))goto lsprh3;s3sCI1(RdZoN,16,J7Iki4-> -v6D2d3[01].AuCs73=esWTk2->tQcig.C6yEr1.AuCs73);lsprh3:;}{if(!(J7Iki4 -->v6D2d3[01].DDAs81!=esWTk2->tQcig.C6yEr1.DDAs81))goto jvOaW3;s3sCI1( -RdZoN,0xac,J7Iki4->v6D2d3[0x1].DDAs81=esWTk2->tQcig.C6yEr1.DDAs81); -jvOaW3:;}{if(!(J7Iki4->v6D2d3[01].VPJzO1!=esWTk2->tQcig.C6yEr1.VPJzO1 -))goto bQzJ53;s3sCI1(RdZoN,0x1c,J7Iki4->v6D2d3[0x1].VPJzO1=esWTk2-> -tQcig.C6yEr1.VPJzO1);bQzJ53:;}{if(!(J7Iki4->v6D2d3[0x1].JhCor3!= -esWTk2->tQcig.C6yEr1.JhCor3||J7Iki4->v6D2d3[0x1].aW7n84!=esWTk2-> -tQcig.C6yEr1.aW7n84))goto gupXH4;{unsigned long HqVZe4=J7Iki4->v6D2d3 -[0x1^1].aW7n84&~esWTk2->tQcig.C6yEr1.aW7n84;{if(!(J7Iki4->v6D2d3[1^01 -].aW7n84!=HqVZe4))goto ceu0u1;{{if(!(0x1))goto KWBsP3;HcALQ1(RdZoN, -0x2b,J7Iki4->v6D2d3[0].aW7n84=HqVZe4);goto oLXWQ;KWBsP3:;Rqv1w3(RdZoN -,0x2b,J7Iki4->v6D2d3[0x1].aW7n84=HqVZe4);oLXWQ:;}}ceu0u1:;}Rqv1w3( -RdZoN,43,J7Iki4->v6D2d3[0x1].aW7n84=esWTk2->tQcig.C6yEr1.aW7n84); -AUUSL3(RdZoN,(0x1==0)?011:012,32|(J7Iki4->v6D2d3[0x1].JhCor3=esWTk2-> -tQcig.C6yEr1.JhCor3));}gupXH4:;}{if(!((a02Gz4->NpyOc1.gMQg82.sxr445& -017ul)!=(0ul<<0)))goto wdOKk3;{J7Iki4->iO1iw4[1]=a02Gz4->NpyOc1. -gMQg82.sxr445;{if(!(J7Iki4->v6D2d3[01].Q1iXV3!=esWTk2->tQcig.C6yEr1. -Q1iXV3||J7Iki4->v6D2d3[01].DvwSz1!=esWTk2->tQcig.C6yEr1.DvwSz1))goto -XZr4o3;esWTk2->tQcig.G15W41|=D1OxN4<<1;XZr4o3:;}}goto jCzA04;wdOKk3:; -J7Iki4->iO1iw4[01]=0;jCzA04:;}}Zivk01:;};{if(!(esWTk2->tQcig.G15W41&( -(eKIU_4<<0)|(eKIU_4<<1))))goto uviEm2;{esWTk2->tQcig.G15W41&=~(( -eKIU_4<<0)|(eKIU_4<<0x1));GLE_s4(J7Iki4,(-0x1));}uviEm2:;}{if(!( -esWTk2->tQcig.G15W41&(qS5lW1<<0)))goto Q8GeB3;{BucKo(RdZoN,026,0); -BucKo(RdZoN,0x17,0);AErNL3(J7Iki4);}Q8GeB3:;}{if(!(esWTk2->tQcig. -G15W41&(qS5lW1<<01)))goto ryhmm;{s3sCI1(RdZoN,026,0);s3sCI1(RdZoN, -0x17,0);tsz3n4(J7Iki4);}ryhmm:;}esWTk2->tQcig.G15W41&=~((qS5lW1<<0)|( -qS5lW1<<01));{if(!(esWTk2->tQcig.G15W41&((vC4oo<<0)|(vC4oo<<0x1))))goto -BbsRp;{esWTk2->tQcig.G15W41&=~((vC4oo<<0)|(vC4oo<<0x1));pxiAh4( -J7Iki4,esWTk2,04);return 01;}BbsRp:;}{if(!(esWTk2->tQcig.G15W41&( -CeDcj3<<0)))goto Y_ymu;{BucKo(RdZoN,0xaa,0);BucKo(RdZoN,0x1d,0); -BucKo(RdZoN,0xaa,128);BucKo(RdZoN,0x1d,0x2|1);}Y_ymu:;}{if(!(esWTk2-> -tQcig.G15W41&(CeDcj3<<0x1)))goto ODyYT;{s3sCI1(RdZoN,0xaa,0);s3sCI1( -RdZoN,29,0);s3sCI1(RdZoN,0xaa,128);s3sCI1(RdZoN,0x1d,02|01);}ODyYT:;} -{if(!(esWTk2->tQcig.G15W41&((CeDcj3<<0)|(CeDcj3<<0x1))))goto SAgXh1;{ -esWTk2->tQcig.G15W41&=~((CeDcj3<<0)|(CeDcj3<<0x1));pxiAh4(J7Iki4, -esWTk2,16*0x4);return 01;}SAgXh1:;}{if(!(esWTk2->tQcig.G15W41&(zJyAP1 -<<0)))goto fGWWi1;{BucKo(RdZoN,0xaa,0);BucKo(RdZoN,29,0);}fGWWi1:;}{ -if(!(esWTk2->tQcig.G15W41&(zJyAP1<<0x1)))goto aLsUC;{s3sCI1(RdZoN, -0xaa,0);s3sCI1(RdZoN,0x1d,0);}aLsUC:;}{if(!(esWTk2->tQcig.G15W41&(( -zJyAP1<<0)|(zJyAP1<<01))))goto mQ8yF3;{esWTk2->tQcig.G15W41&=~(( -zJyAP1<<0)|(zJyAP1<<1));pxiAh4(J7Iki4,esWTk2,16*4);return 0x1;} -mQ8yF3:;}{if(!(esWTk2->tQcig.G15W41&(KZp71<<0)))goto XcyvD;{BucKo( -RdZoN,0xaa,0);BucKo(RdZoN,0xaa,64|32);BucKo(RdZoN,16,J7Iki4->v6D2d3[0 -].AuCs73|1);BucKo(RdZoN,0xaa,0);BucKo(RdZoN,16,J7Iki4->v6D2d3[0]. -AuCs73);}XcyvD:;}{if(!(esWTk2->tQcig.G15W41&(KZp71<<1)))goto qvoJV3;{ -;s3sCI1(RdZoN,0xaa,0);s3sCI1(RdZoN,0xaa,64|32);s3sCI1(RdZoN,16,J7Iki4 -->v6D2d3[0x1].AuCs73|0x1);s3sCI1(RdZoN,0xaa,0);s3sCI1(RdZoN,16,J7Iki4 -->v6D2d3[01].AuCs73);}qvoJV3:;}{if(!(esWTk2->tQcig.G15W41&((KZp71<<0)| -(KZp71<<01))))goto ue27A3;{esWTk2->tQcig.G15W41&=~((KZp71<<0)|(KZp71 -<<01));pxiAh4(J7Iki4,esWTk2,16*04);return 1;}ue27A3:;}{if(!(esWTk2-> -tQcig.G15W41&(KZEMj4<<0)))goto ilsQH;{dMM0e1(RdZoN,6);dMM0e1(RdZoN, -0x7);dMM0e1(RdZoN,0x8);J7Iki4->YRHFy->io7IZ3[0].H4ghS2=J7Iki4->oXafA1 -[0].H4ghS2=0;cYVI15(0u,J7Iki4->hRUi43[0][0u]);cYVI15(02u,J7Iki4-> -hRUi43[0][2u]);}ilsQH:;}{if(!(esWTk2->tQcig.G15W41&(KZEMj4<<01)))goto -RwWZN;{NHDsK3(RdZoN,0x6);NHDsK3(RdZoN,0x7);NHDsK3(RdZoN,8);J7Iki4-> -YRHFy->io7IZ3[1].H4ghS2=J7Iki4->oXafA1[01].H4ghS2=0;cYVI15(0u,J7Iki4 -->hRUi43[0x1][0u]);cYVI15(02u,J7Iki4->hRUi43[0x1][0x2u]);}RwWZN:;}{if -(!(esWTk2->tQcig.G15W41&(D1OxN4<<0)))goto ft5w45;{BucKo(RdZoN,0x16, -J7Iki4->v6D2d3[0].Q1iXV3=esWTk2->tQcig.C6yEr1.Q1iXV3);BucKo(RdZoN,23, -J7Iki4->v6D2d3[0].DvwSz1=esWTk2->tQcig.C6yEr1.DvwSz1);}ft5w45:;}{if(! -(esWTk2->tQcig.G15W41&(D1OxN4<<1)))goto tgTLB4;{s3sCI1(RdZoN,026, -J7Iki4->v6D2d3[01].Q1iXV3=esWTk2->tQcig.C6yEr1.Q1iXV3);s3sCI1(RdZoN, -027,J7Iki4->v6D2d3[0x1].DvwSz1=esWTk2->tQcig.C6yEr1.DvwSz1);}tgTLB4:; -}{if(!(esWTk2->tQcig.G15W41&((KZEMj4<<0)|(KZEMj4<<0x1)|(D1OxN4<<0)|( -D1OxN4<<0x1))))goto khgda1;{GLE_s4(J7Iki4,(-1));w_2xo4(J7Iki4);esWTk2 -->tQcig.G15W41&=~((KZEMj4<<0)|(KZEMj4<<1)|(D1OxN4<<0)|(D1OxN4<<1));} -khgda1:;}{if(!(esWTk2->tQcig.G15W41==0))goto Y_niG4;{a02Gz4->QvZLK&=~ -64u;}Y_niG4:;}}pqgzS:;}return 0;}unsigned long __attribute__((cdecl))TAU32_Diag -(kWMzp1*J7Iki4,unsigned Smebz2,unsigned long a0Zcs){volatile unsigned -long*RdZoN;unsigned long qwUGv3=0;h2LrH3(&J7Iki4->h2LrH3);RdZoN=& -J7Iki4->fV7o35->UyRVB4;switch(Smebz2){case 01:((RdZoN)[-1])=0;((RdZoN -)[0])=0xFFFF;((RdZoN)[-1])=224;((RdZoN)[-01])=0;case 0:qwUGv3=((( -RdZoN)[0])&0xFFFF)|(((RdZoN)[-0x1])<<16);break;case 02:((RdZoN)[-1])= -a0Zcs>>16;((RdZoN)[0])=a0Zcs&0xFFFF;qwUGv3=((RdZoN)[0]);break;case 0x3 -:((RdZoN)[0])=a0Zcs&0xFFFF;((RdZoN)[-1])=a0Zcs>>16;qwUGv3=((RdZoN)[0] -);break;case 0x5:AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>0x8)&0xFF); -break;case 0x6:AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>8)&0xFF);case 04 -:qwUGv3=RtiEy4(RdZoN,(a0Zcs>>16)&0xFF)<<010;break;case 0x7:AUUSL3( -RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>8)&0xFF);qwUGv3=RtiEy4(RdZoN,0x5); -break;case 010:AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>8)&0xFF);AUUSL3( -RdZoN,0x5,a0Zcs&0xFF);break;case 011:AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,( -a0Zcs>>010)&0xFF);qwUGv3=RtiEy4(RdZoN,05);AUUSL3(RdZoN,(a0Zcs>>16)& -0xFF,(a0Zcs>>0x8)&0xFF);AUUSL3(RdZoN,0x5,a0Zcs&0xFF);break;case 012: -AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>8)&0xFF);AUUSL3(RdZoN,0x5,a0Zcs -&0xFF);AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>0x8)&0xFF);qwUGv3=RtiEy4 -(RdZoN,05);break;case 013:AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs>>8)& -0xFF);AUUSL3(RdZoN,5,a0Zcs&0xFF);AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,(a0Zcs ->>0x8)&0xFF);qwUGv3=RtiEy4(RdZoN,5);AUUSL3(RdZoN,(a0Zcs>>16)&0xFF,( -a0Zcs>>0x8)&0xFF);AUUSL3(RdZoN,05,qwUGv3&a0Zcs&0xFF);break;case 014:{ -if(!(a0Zcs>2097151999ul))goto bZsbt1;qwUGv3=~0ul;goto NQD_Y1;bZsbt1:; -{unsigned long T8Tg75=a0Zcs;__asm __volatile("mul %2;" -"add $2147483648, %0;" "adc $0, %1":"=a"(T8Tg75),"=d"(qwUGv3):"r"( -01422335136ul),"0"(T8Tg75));qwUGv3+=a0Zcs+a0Zcs;}NQD_Y1:;}LzuvP2( -RdZoN,qwUGv3);AUUSL3(RdZoN,0,J7Iki4->GEt0d=(J7Iki4->GEt0d&~043)|32); -break;}uYS5N2(&J7Iki4->h2LrH3);return qwUGv3;}int __attribute__(( -cdecl))TAU32_SetSaCross(kWMzp1*J7Iki4,Drk7M4 Uwhrn4){unsigned char -f2E883=0;{if(!(Uwhrn4.CCKdO2>04u||Uwhrn4.HZ1wC3>04u))goto scDVj2; -return 0;scDVj2:;}{if(!(!Uwhrn4.XmIKi3&&(Uwhrn4.CCKdO2==1u||Uwhrn4. -HZ1wC3==01u)))goto dS8884;return 0;dS8884:;}{if(!(J7Iki4->SP4ZU==0x2))goto -Ksejb1;{if(!(Uwhrn4.CCKdO2==3u||Uwhrn4.HZ1wC3!=0u))goto E8X83;return 0 -;E8X83:;}Ksejb1:;}{if(!(Uwhrn4.XmIKi3))goto O1Tns4;f2E883|=64;O1Tns4: -;}{if(!(Uwhrn4.CCKdO2))goto rXxhw3;f2E883|=16|((Uwhrn4.CCKdO2-01)<<0); -rXxhw3:;}{if(!(Uwhrn4.HZ1wC3))goto nVDTK2;f2E883|=32|((Uwhrn4.HZ1wC3- -01)<<2);nVDTK2:;}{if(!(f2E883!=J7Iki4->HtJEJ))goto stLrO1;{volatile -unsigned long*RdZoN;h2LrH3(&J7Iki4->h2LrH3);RdZoN=&J7Iki4->fV7o35-> -UyRVB4;AUUSL3(RdZoN,8,J7Iki4->HtJEJ=f2E883);GLE_s4(J7Iki4,(-0x1)); -uYS5N2(&J7Iki4->h2LrH3);}stLrO1:;}return 1;}static const unsigned long -oSrkU4[32]={01u<<0,01u<<0x2,1u<<4,1u<<0x6,01u<<010,01u<<012,1u<<12, -01u<<016,1u<<16,0x1u<<0x12,01u<<024,0x1u<<0x16,1u<<0x18,01u<<26,1u<< -0x1c,1u<<0x1e,1u<<0x1,01u<<0x3,1u<<5,1u<<0x7,01u<<011,01u<<013,0x1u<< -13,01u<<017,1u<<17,0x1u<<0x13,01u<<025,1u<<23,0x1u<<031,0x1u<<27,0x1u -<<035,0x1u<<037};__noinline static void GLE_s4(kWMzp1*J7Iki4,int NNm8q -){unsigned long k6bCf4[02],pGYUX1[2],M782F4[0x2];unsigned long uXZM21 -,bpv453;int FNU7M3;unsigned CUmDv[0x2];CUmDv[0]=J7Iki4->oXafA1[0]. -H4ghS2;{if(!((J7Iki4->iO1iw4[0]&017ul)==(0x1ul<<0)))goto NMePf2;CUmDv -[0]&=~0x1u;NMePf2:;}CUmDv[0x1]=J7Iki4->oXafA1[0x1].H4ghS2;{if(!(( -J7Iki4->iO1iw4[1]&017ul)==(0x1ul<<0)))goto g6I792;CUmDv[1]&=~0x1u; -g6I792:;}k6bCf4[0]=k6bCf4[0x1]=3;pGYUX1[0]=pGYUX1[1]=0;M782F4[0]= -M782F4[1]=0;uXZM21=J7Iki4->v6D2d3[0].aW7n84|J7Iki4->v6D2d3[1].aW7n84; -bpv453=0;FNU7M3=31;{baWV_:{if(!(!J7Iki4->Rc7LY4.ZKJvS1[FNU7M3].V9ej93 -.iGfEm1))goto uC7LN2;{unsigned rNKzp2=J7Iki4->Rc7LY4.ZKJvS1[FNU7M3]. -V9ej93.dQ5DX;{if(!(J7Iki4->nvFyD4[rNKzp2]&&(J7Iki4->ZWSDs2.X_sGC1&( -0x1u<=0)goto baWV_;};FNU7M3=037;{XtsC:{unsigned long Bvuqc2=0x1u -<v6D2d3[0].JhCor3&16)==0))goto rcbUq3;{if(!( -NNm8q==(-0x1)||NNm8q==0))goto bskGf2;{unsigned char XT1xI3,sxdur; -unsigned xRh664;volatile unsigned long*RdZoN;{if(!(FNU7M3==0&&(J7Iki4 -->iO1iw4[0]&0360ul)>(5ul<<04)))goto TTn4I3;goto _3uXJ1;TTn4I3:;}{if(! -(FNU7M3==16&&(J7Iki4->iO1iw4[0]&240ul)>(06ul<<4)))goto Lxstn;goto -_3uXJ1;Lxstn:;}XT1xI3=0xFFu;sxdur=J7Iki4->jyElQ3[0][FNU7M3];xRh664= -J7Iki4->veMrO[FNU7M3+32* (0+0x1)]&127;{if(!(xRh664==127u))goto G9xz03 -;{k6bCf4[0]|=oSrkU4[FNU7M3];M782F4[0]|=Bvuqc2;}goto JpR8F1;G9xz03:;{ -if(!(xRh664<32))goto mYgJ61;{{if(!(!(bpv453&(1ul<iO1iw4[0]&240ul)>=(0x8ul<<0x4)&&(!(bpv453&( -0x1u<<16))||(uXZM21&(01u<<16))!=0)))goto bJIQf2;{XT1xI3=0xFFu;k6bCf4[ -0]|=oSrkU4[FNU7M3];}bJIQf2:;}}goto Lm1jn;mYgJ61:;{if(!(xRh664<64))goto -lX9V74;{{if(!((J7Iki4->v6D2d3[0].JhCor3&16)!=0||(J7Iki4->oXafA1[0]. -H4ghS2&(01u|1024u|32768u))))goto iMrKM1;{XT1xI3=0xFFu;sxdur=0xFFu; -k6bCf4[0]|=oSrkU4[FNU7M3];pGYUX1[0]|=Bvuqc2;}goto yZBWm3;iMrKM1:;{if( -!((J7Iki4->oXafA1[0].H4ghS2&((01u|1024u|32768u)|16u|4096u))&&(J7Iki4 -->iO1iw4[0]&4096ul)==0))goto NY8VK3;{XT1xI3=0xFFu;k6bCf4[0]|=oSrkU4[ -FNU7M3];}NY8VK3:;}yZBWm3:;}}goto LxT2Y4;lX9V74:;{{if(!((J7Iki4-> -v6D2d3[01].JhCor3&16)!=0||(J7Iki4->oXafA1[1].H4ghS2&(0x1u|1024u| -32768u))))goto _A9MD3;{XT1xI3=0xFFu;sxdur=0xFFu;k6bCf4[0]|=oSrkU4[ -FNU7M3];pGYUX1[0]|=Bvuqc2;}goto hqqA05;_A9MD3:;{if(!((J7Iki4->oXafA1[ -0x1].H4ghS2&((01u|1024u|32768u)|16u|4096u))&&(J7Iki4->iO1iw4[0x1]& -4096ul)==0))goto ABEyi1;{XT1xI3=0xFFu;k6bCf4[0]|=oSrkU4[FNU7M3];} -ABEyi1:;}hqqA05:;}}LxT2Y4:;}Lm1jn:;}JpR8F1:;}RdZoN=&J7Iki4->fV7o35-> -UyRVB4;{if(!(FNU7M3&017u))goto xP2Rg3;{{if(!(FNU7M3<16))goto tIraz1;{ -XT1xI3=(J7Iki4->v6D2d3[0].FNU7M3[FNU7M3]&0xF0u)|(XT1xI3&017u);{if(!( -J7Iki4->v6D2d3[0].FNU7M3[FNU7M3]!=XT1xI3))goto HepqV3;BucKo(RdZoN,64+ -FNU7M3,J7Iki4->v6D2d3[0].FNU7M3[FNU7M3]=XT1xI3);HepqV3:;}}goto EPvtH; -tIraz1:;{XT1xI3=(J7Iki4->v6D2d3[0].FNU7M3[FNU7M3-16]&017u)|(XT1xI3& -0xF0u);{if(!(J7Iki4->v6D2d3[0].FNU7M3[FNU7M3-16]!=XT1xI3))goto Zjm4o4 -;BucKo(RdZoN,64+FNU7M3-16,J7Iki4->v6D2d3[0].FNU7M3[FNU7M3-16]=XT1xI3); -Zjm4o4:;}}EPvtH:;}}xP2Rg3:;}{if(!(sxdur!=J7Iki4->v6D2d3[0].mHM361[ -FNU7M3]))goto KDOPk2;BucKo(RdZoN,96+FNU7M3,J7Iki4->v6D2d3[0].mHM361[ -FNU7M3]=sxdur);KDOPk2:;}_3uXJ1:;}bskGf2:;}rcbUq3:;};{if(!(J7Iki4-> -SP4ZU!=0x2))goto rYEHN;{if(!((J7Iki4->v6D2d3[01].JhCor3&16)==0))goto -pfdlj4;{if(!(NNm8q==(-1)||NNm8q==0x1))goto CkBTP2;{unsigned char -XT1xI3,sxdur;unsigned xRh664;volatile unsigned long*RdZoN;{if(!( -FNU7M3==0&&(J7Iki4->iO1iw4[01]&240ul)>(05ul<<4)))goto sw3N93;goto -LOfuB;sw3N93:;}{if(!(FNU7M3==16&&(J7Iki4->iO1iw4[01]&240ul)>(06ul<<4)))goto -dEq9x4;goto LOfuB;dEq9x4:;}XT1xI3=0xFFu;sxdur=J7Iki4->jyElQ3[0x1][ -FNU7M3];xRh664=J7Iki4->veMrO[FNU7M3+32* (1+01)]&127;{if(!(xRh664== -127u))goto cCT_25;{k6bCf4[01]|=oSrkU4[FNU7M3];M782F4[0x1]|=Bvuqc2;} -goto BGrxq1;cCT_25:;{if(!(xRh664<32))goto mKvGg;{{if(!(!(bpv453&( -0x1ul<iO1iw4[0x1]&240ul -)>=(8ul<<4)&&(!(bpv453&(1u<<16))||(uXZM21&(01u<<16))!=0)))goto G_ORW2 -;{XT1xI3=0xFFu;k6bCf4[01]|=oSrkU4[FNU7M3];}G_ORW2:;}}goto IQmkM3; -mKvGg:;{if(!(xRh664<64))goto EpqFw4;{{if(!((J7Iki4->v6D2d3[0].JhCor3& -16)!=0||(J7Iki4->oXafA1[0].H4ghS2&(0x1u|1024u|32768u))))goto qFEoL;{ -XT1xI3=0xFFu;sxdur=0xFFu;k6bCf4[0x1]|=oSrkU4[FNU7M3];pGYUX1[01]|= -Bvuqc2;}goto o79Zu4;qFEoL:;{if(!((J7Iki4->oXafA1[0].H4ghS2&((01u| -1024u|32768u)|16u|4096u))&&(J7Iki4->iO1iw4[0]&4096ul)==0))goto PfBVS2 -;{XT1xI3=0xFFu;k6bCf4[0x1]|=oSrkU4[FNU7M3];}PfBVS2:;}o79Zu4:;}}goto -oR3jC2;EpqFw4:;{{if(!((J7Iki4->v6D2d3[0x1].JhCor3&16)!=0||(J7Iki4-> -oXafA1[0x1].H4ghS2&(01u|1024u|32768u))))goto qEhA12;{XT1xI3=0xFFu; -sxdur=0xFFu;k6bCf4[0x1]|=oSrkU4[FNU7M3];pGYUX1[0x1]|=Bvuqc2;}goto -hqEL_;qEhA12:;{if(!((J7Iki4->oXafA1[1].H4ghS2&((0x1u|1024u|32768u)| -16u|4096u))&&(J7Iki4->iO1iw4[0x1]&4096ul)==0))goto M9dD24;{XT1xI3= -0xFFu;k6bCf4[01]|=oSrkU4[FNU7M3];}M9dD24:;}hqEL_:;}}oR3jC2:;}IQmkM3:; -}BGrxq1:;}RdZoN=&J7Iki4->fV7o35->UyRVB4;{if(!(FNU7M3&017u))goto BRFyY2 -;{{if(!(FNU7M3<16))goto m6qun4;{XT1xI3=(J7Iki4->v6D2d3[0x1].FNU7M3[ -FNU7M3]&0xF0u)|(XT1xI3&017u);{if(!(J7Iki4->v6D2d3[1].FNU7M3[FNU7M3]!= -XT1xI3))goto sa9Wd4;s3sCI1(RdZoN,64+FNU7M3,J7Iki4->v6D2d3[1].FNU7M3[ -FNU7M3]=XT1xI3);sa9Wd4:;}}goto ORrU41;m6qun4:;{XT1xI3=(J7Iki4->v6D2d3 -[01].FNU7M3[FNU7M3-16]&017u)|(XT1xI3&0xF0u);{if(!(J7Iki4->v6D2d3[1]. -FNU7M3[FNU7M3-16]!=XT1xI3))goto Cb3U94;s3sCI1(RdZoN,64+FNU7M3-16, -J7Iki4->v6D2d3[0x1].FNU7M3[FNU7M3-16]=XT1xI3);Cb3U94:;}}ORrU41:;}} -BRFyY2:;}{if(!(sxdur!=J7Iki4->v6D2d3[0x1].mHM361[FNU7M3]))goto TG0CA; -s3sCI1(RdZoN,0140+FNU7M3,J7Iki4->v6D2d3[0x1].mHM361[FNU7M3]=sxdur); -TG0CA:;}LOfuB:;}CkBTP2:;}pfdlj4:;}rYEHN:;};}if(--FNU7M3>=0)goto XtsC; -};{if(!(NNm8q==(-0x1)||NNm8q==0))goto rqh6a2;{volatile unsigned long* -RdZoN;unsigned char PBtXm1,TIQMZ1,l9wtw1;unsigned long BDstt2,NmrSW4; -RdZoN=&J7Iki4->fV7o35->UyRVB4;{if(!(k6bCf4[0]!=J7Iki4->v6D2d3[0]. -wGgJV2))goto JNHsP4;HcALQ1(RdZoN,042,J7Iki4->v6D2d3[0].wGgJV2=k6bCf4[ -0]);JNHsP4:;}TIQMZ1=J7Iki4->v6D2d3[0].TIQMZ1&07u;{if(!(J7Iki4->HtJEJ& -((0==0)?16:32)))goto uDv1H1;{TIQMZ1|=0xF8u;switch((J7Iki4->HtJEJ>>((0 -==0)?0:02))&0x3){case 0x0:{if(!(!(J7Iki4->HtJEJ&64)||(uXZM21&(0x1u<<0 -))!=0||!(bpv453&(1u<<0))))goto iHF8s3;TIQMZ1&=0x7u;iHF8s3:;}break; -case 1:{if(!((J7Iki4->v6D2d3[0].JhCor3&16)!=0||(J7Iki4->oXafA1[0]. -H4ghS2&(0x1u|1024u|32768u))))goto Qjzun3;TIQMZ1&=07u;Qjzun3:;}break; -case 02:{if(!((J7Iki4->v6D2d3[0x1].JhCor3&16)!=0||(J7Iki4->oXafA1[1]. -H4ghS2&(01u|1024u|32768u))))goto aIFlj3;TIQMZ1&=07u;aIFlj3:;}break; -case 0x3:break;default:;}}uDv1H1:;}{if(!(J7Iki4->v6D2d3[0].TIQMZ1!= -TIQMZ1))goto n395L2;BucKo(RdZoN,023,J7Iki4->v6D2d3[0].TIQMZ1=TIQMZ1); -n395L2:;}PBtXm1=J7Iki4->v6D2d3[0].PBtXm1&~16;BDstt2=pGYUX1[0]|M782F4[ -0];{if(!(BDstt2!=J7Iki4->v6D2d3[0].x8DWY2))goto m5bfE2;HcALQ1(RdZoN, -0xa0,J7Iki4->v6D2d3[0].x8DWY2=BDstt2);m5bfE2:;}{if(!(J7Iki4->v6D2d3[0 -].JhCor3&16))goto FUHcS4;{{if(!((J7Iki4->v6D2d3[0].aW7n84&~bpv453)))goto -OzcmC4;PBtXm1|=16;goto Q9zdR1;OzcmC4:;{if(!((J7Iki4->iO1iw4[0]&8192ul -)&&(CUmDv[0]&01u)))goto HCntb3;PBtXm1|=16;HCntb3:;}Q9zdR1:;}}goto -z7rPl;FUHcS4:;{{if(!((J7Iki4->iO1iw4[0]&8192ul)&&(CUmDv[0]&(1u|1024u))))goto -EOiva3;PBtXm1|=16;goto wHGgP4;EOiva3:;{if(!(J7Iki4->iO1iw4[0]& -262144ul))goto AVbbz3;{unsigned long jwgpJ2=pGYUX1[0];{if(!((J7Iki4-> -iO1iw4[0]&240ul)>(06ul<<4)))goto AGHnT4;jwgpJ2|=65537ul;goto d0ozh3; -AGHnT4:;{if(!((J7Iki4->iO1iw4[0]&0360ul)>(5ul<<0x4)))goto b0zBt1; -jwgpJ2|=1ul;b0zBt1:;}d0ozh3:;}{if(!(jwgpJ2==0xFFFFFFFFul))goto CiD2k1 -;PBtXm1|=16;CiD2k1:;}}AVbbz3:;}wHGgP4:;}}z7rPl:;}{if(!((J7Iki4-> -iO1iw4[0]&15ul)==(4ul<<0)))goto DxnG43;PBtXm1|=16;DxnG43:;}{if(!( -J7Iki4->v6D2d3[0].PBtXm1!=PBtXm1))goto HyV8D2;BucKo(RdZoN,18,J7Iki4-> -v6D2d3[0].PBtXm1=PBtXm1);HyV8D2:;}NmrSW4=0;l9wtw1=J7Iki4->v6D2d3[0]. -FNU7M3[0];{if(!(CUmDv[0]&((0x1u|1024u|32768u)|16u|4096u)))goto cgV573 -;{l9wtw1|=04u;NmrSW4=0x1u<<16u;}goto THoFe2;cgV573:;l9wtw1&=~04u; -THoFe2:;}{if(!(J7Iki4->iO1iw4[0]&1048576ul))goto aOLhV;{l9wtw1&=~4u;{ -if(!(J7Iki4->iO1iw4[0]&4194304ul))goto lqIwU2;l9wtw1|=4u;lqIwU2:;}} -aOLhV:;}{if(!(J7Iki4->v6D2d3[0].FNU7M3[0]!=l9wtw1))goto lSniI2;BucKo( -RdZoN,64,J7Iki4->v6D2d3[0].FNU7M3[0]=l9wtw1);lSniI2:;}{if(!(J7Iki4-> -iO1iw4[0]&524288ul))goto Ueefz1;{unsigned char jf4g9=J7Iki4->v6D2d3[0 -].jf4g9&~32;{if(!(J7Iki4->iO1iw4[0]&2097152ul))goto BTZCK4;jf4g9|=32u -;BTZCK4:;}{if(!(jf4g9!=J7Iki4->v6D2d3[0].jf4g9))goto FJ5s9;BucKo( -RdZoN,0x21,J7Iki4->v6D2d3[0].jf4g9=jf4g9);FJ5s9:;}}Ueefz1:;}{if(!( -CUmDv[0]&(01u|1024u|32768u)))goto SKVej1;NmrSW4=0xFFFFFFFFul;SKVej1:; -}{if(!(NmrSW4!=J7Iki4->v6D2d3[0].oWLOw3))goto bWMg15;HcALQ1(RdZoN, -0xa4,J7Iki4->v6D2d3[0].oWLOw3=NmrSW4);bWMg15:;}}rqh6a2:;};{if(!( -J7Iki4->SP4ZU!=02))goto Ej8DZ3;{if(!(NNm8q==(-0x1)||NNm8q==1))goto -OzDgd;{volatile unsigned long*RdZoN;unsigned char PBtXm1,TIQMZ1, -l9wtw1;unsigned long BDstt2,NmrSW4;RdZoN=&J7Iki4->fV7o35->UyRVB4;{if( -!(k6bCf4[01]!=J7Iki4->v6D2d3[1].wGgJV2))goto qRHWB3;Rqv1w3(RdZoN,042, -J7Iki4->v6D2d3[1].wGgJV2=k6bCf4[01]);qRHWB3:;}TIQMZ1=J7Iki4->v6D2d3[ -01].TIQMZ1&7u;{if(!(J7Iki4->HtJEJ&((0x1==0)?16:32)))goto WfLqn2;{ -TIQMZ1|=0xF8u;switch((J7Iki4->HtJEJ>>((01==0)?0:0x2))&3){case 0:{if(! -(!(J7Iki4->HtJEJ&64)||(uXZM21&(0x1u<<0))!=0||!(bpv453&(01u<<0))))goto -Jonao4;TIQMZ1&=07u;Jonao4:;}break;case 0x1:{if(!((J7Iki4->v6D2d3[0]. -JhCor3&16)!=0||(J7Iki4->oXafA1[0].H4ghS2&(0x1u|1024u|32768u))))goto -XsZf_4;TIQMZ1&=7u;XsZf_4:;}break;case 02:{if(!((J7Iki4->v6D2d3[01]. -JhCor3&16)!=0||(J7Iki4->oXafA1[1].H4ghS2&(0x1u|1024u|32768u))))goto -LdTsZ2;TIQMZ1&=7u;LdTsZ2:;}break;case 0x3:break;default:;}}WfLqn2:;} -{if(!(J7Iki4->v6D2d3[1].TIQMZ1!=TIQMZ1))goto xq2Sw1;s3sCI1(RdZoN,19, -J7Iki4->v6D2d3[01].TIQMZ1=TIQMZ1);xq2Sw1:;}PBtXm1=J7Iki4->v6D2d3[1]. -PBtXm1&~16;BDstt2=pGYUX1[1]|M782F4[01];{if(!(BDstt2!=J7Iki4->v6D2d3[1 -].x8DWY2))goto aoMMx4;Rqv1w3(RdZoN,0xa0,J7Iki4->v6D2d3[01].x8DWY2= -BDstt2);aoMMx4:;}{if(!(J7Iki4->v6D2d3[0x1].JhCor3&16))goto VW_Yt3;{{ -if(!((J7Iki4->v6D2d3[0x1].aW7n84&~bpv453)))goto LnVlP2;PBtXm1|=16; -goto YADMu;LnVlP2:;{if(!((J7Iki4->iO1iw4[0x1]&8192ul)&&(CUmDv[01]& -0x1u)))goto haHZJ3;PBtXm1|=16;haHZJ3:;}YADMu:;}}goto _QnaE2;VW_Yt3:;{ -{if(!((J7Iki4->iO1iw4[01]&8192ul)&&(CUmDv[0x1]&(01u|1024u))))goto -Va2tt3;PBtXm1|=16;goto O8ZNs4;Va2tt3:;{if(!(J7Iki4->iO1iw4[01]& -262144ul))goto xTeNq1;{unsigned long jwgpJ2=pGYUX1[01];{if(!((J7Iki4 -->iO1iw4[0x1]&240ul)>(06ul<<0x4)))goto wfVl21;jwgpJ2|=65537ul;goto -f3lP35;wfVl21:;{if(!((J7Iki4->iO1iw4[01]&240ul)>(05ul<<4)))goto vi8Hd3 -;jwgpJ2|=01ul;vi8Hd3:;}f3lP35:;}{if(!(jwgpJ2==0xFFFFFFFFul))goto -Mxm1G4;PBtXm1|=16;Mxm1G4:;}}xTeNq1:;}O8ZNs4:;}}_QnaE2:;}{if(!((J7Iki4 -->iO1iw4[01]&15ul)==(4ul<<0)))goto Nyor63;PBtXm1|=16;Nyor63:;}{if(!( -J7Iki4->v6D2d3[0x1].PBtXm1!=PBtXm1))goto HDjd12;s3sCI1(RdZoN,0x12, -J7Iki4->v6D2d3[1].PBtXm1=PBtXm1);HDjd12:;}NmrSW4=0;l9wtw1=J7Iki4-> -v6D2d3[1].FNU7M3[0];{if(!(CUmDv[0x1]&((01u|1024u|32768u)|16u|4096u)))goto -PHeCM1;{l9wtw1|=4u;NmrSW4=1u<<16u;}goto M2BM14;PHeCM1:;l9wtw1&=~04u; -M2BM14:;}{if(!(J7Iki4->iO1iw4[01]&1048576ul))goto gWFIT3;{l9wtw1&=~ -04u;{if(!(J7Iki4->iO1iw4[01]&4194304ul))goto IJToQ3;l9wtw1|=04u; -IJToQ3:;}}gWFIT3:;}{if(!(J7Iki4->v6D2d3[0x1].FNU7M3[0]!=l9wtw1))goto -Kybko3;s3sCI1(RdZoN,64,J7Iki4->v6D2d3[01].FNU7M3[0]=l9wtw1);Kybko3:;} -{if(!(J7Iki4->iO1iw4[0x1]&524288ul))goto AroFR4;{unsigned char jf4g9= -J7Iki4->v6D2d3[0x1].jf4g9&~32;{if(!(J7Iki4->iO1iw4[01]&2097152ul))goto -qzx0n3;jf4g9|=32u;qzx0n3:;}{if(!(jf4g9!=J7Iki4->v6D2d3[1].jf4g9))goto -Mxu9u;s3sCI1(RdZoN,0x21,J7Iki4->v6D2d3[0x1].jf4g9=jf4g9);Mxu9u:;}} -AroFR4:;}{if(!(CUmDv[1]&(1u|1024u|32768u)))goto VsaX55;NmrSW4= -0xFFFFFFFFul;VsaX55:;}{if(!(NmrSW4!=J7Iki4->v6D2d3[0x1].oWLOw3))goto -DnIa91;Rqv1w3(RdZoN,0xa4,J7Iki4->v6D2d3[0x1].oWLOw3=NmrSW4);DnIa91:;} -}OzDgd:;}Ej8DZ3:;};}int __attribute__((cdecl))TAU32_SetFifoTrigger( -kWMzp1*J7Iki4,int b9Zs_,unsigned UYtd71,unsigned iBs7A2,MhiF14 IkJYR1 -){{if(!(b9Zs_!=(-1)&&b9Zs_>0x1))goto SXW_i;return 0;SXW_i:;}{if(!( -J7Iki4->SP4ZU==2&&b9Zs_>0))goto nor1g1;return 0;nor1g1:;}{if(!(UYtd71 ->03u||iBs7A2>=256))goto RsG2u4;return 0;RsG2u4:;}h2LrH3(&J7Iki4-> -h2LrH3);{if(!(b9Zs_==(-1)||b9Zs_==0))goto c6OfL3;CDXHr1(J7Iki4-> -hRUi43[0][UYtd71],iBs7A2,IkJYR1);c6OfL3:;}{if(!(J7Iki4->SP4ZU!=2))goto -rdouy4;{if(!(b9Zs_==(-1)||b9Zs_==1))goto ODnGX4;CDXHr1(J7Iki4->hRUi43 -[1][UYtd71],iBs7A2,IkJYR1);ODnGX4:;}rdouy4:;}uYS5N2(&J7Iki4->h2LrH3); -return 01;}void __attribute__((cdecl))TAU32_ReadTsc(kWMzp1*J7Iki4, -GFihS3*Q7gY12){volatile unsigned long*RdZoN;unsigned char*MGVo72=( -unsigned char* )Q7gY12;unsigned X3V8j4;h2LrH3(&J7Iki4->h2LrH3);RdZoN= -&J7Iki4->fV7o35->UyRVB4;AUUSL3(RdZoN,013,0);X3V8j4=8;{hx8lQ4:MGVo72[ -X3V8j4-0x1]=(unsigned char)RtiEy4(RdZoN,013);if(--X3V8j4)goto hx8lQ4; -};uYS5N2(&J7Iki4->h2LrH3);}static const unsigned char A7Lph2[]={0117, -0347,0377,0377,0142,0377,57,0,0,213,255,255,0377,0377,0377,0377,0377, -0377,0377,0377,0377,0377,255,255,255,0377,0377,0377,0377,0377,0377, -255,255,0377,0377,255,255,255,0377,0377,0377,0377,0377,0377,255,255, -255,255,255,255,255,0377,0377,0377,0377,0377,0377,255,255,255,0377, -255,255,0377,0377,0377,0377,0377,0377,0377,255,255,255,0377,0377,0377 -,0377,0377,0377,0377,128,011,48,129,0x26,208,4,152,128,023,0,0,0x19, -32,3,0144,128,011,0x26,0101,6,0xc8,0,0,0x19,32,3,0144,128,0144,0x31,1 -,0,017,12,16,01,0x32,0,0,062,0x1c,0216,19,32,0x3,0114,128,014,48,0214 -,0x26,208,4,64,6,0xc8,0140,02,0114,128,011,144,01,0x38,253,0,0,21, -0240,2,0124,128,012,0120,01,42,128,012,0120,01,0x2a,64,0x3,0164,0,0, -013,96,0x1,054,128,0x5,0240,0,0,0x2e,160,0x2,0,017,18,192,0x2,0130,0, -0,21,208,2,052,128,5,168,0,0,0x14,0240,05,0124,128,012,0240,0x2,0124, -64,05,168,0,0,21,192,02,104,251,0,0x18,16,0,32,02,0,14,168,0376,0, -0112,152,255,0,15,0x4,0,2,16,0,0,0x2,64,0,0,010,0,026,4,0,04,64,0,0x2 -,1,0,014,32,0,0,96,0376,0x18,0,13,4,0,0x3,16,0,0,012,64,0x1,0x8,0,0, -0x1,0,012,64,0,06,0240,0,0,144,0,0x4,64,1,0,1,0x5,0,014,0240,0,0,0136 -,0377,0,4,144,16,128,0,0x7,128,02,0,07,0240,0,0,4,0,17,0x4,0,011,32,0 -,01,128,0,0x8,32,0,0,024,0,0,208,0375,0,04,64,0,1,010,0,07,04,0,0x8, -01,0,054,32,0,0,104,248,0,4,176,0,0,6,0,0x7,128,0x5,0,0x7,96,0x1,014, -0,17,48,0,011,96,0,1,128,01,0,0x7,0140,0,0,054,0,1,0374,0,04,0120,0,0 -,0x2,0,0x7,128,0x2,0,7,0240,0,0,04,0,021,48,0,011,32,0,0x1,128,0,0x8, -32,0,0,024,0,01,248,0,0x4,128,0,0,24,0,0x8,19,04,0,06,192,0x8,48,010, -0,16,48,01,0,0x8,128,5,0,0x1,06,0,0x7,128,17,0x18,0x2,208,0376,0,04, -0140,0,0,036,8,0,0x7,4,0,010,129,56,0,021,074,32,0,0x8,192,0101,0,0, -128,0x7,0x2,0,06,192,0101,36,16,0360,0377,0,0x4,128,0,0,24,0,010,0x4, -0,8,0x1,48,0,021,48,32,0,010,128,0x1,0,1,06,0,07,128,01,32,0,0,8,252, -0,4,64,0,0,0x18,0,8,042,1,0,06,128,0x48,48,0,021,48,0,011,128,1,0,01, -06,0,7,128,1,16,011,0240,0371,0,4,16,0,0,0x2,0,07,128,0,010,32,0,0,4, -0,0x7,34,0,6,17,0,0,04,0,011,0240,01,0,0,128,0,8,160,0x1,04,0,0,0130, -0376,0,0x24,014,0,6,06,0,013,128,1,0,012,128,01,0,0x1,240,252,0,4,48, -0,011,128,5,0,7,0140,1,014,0,0x7,12,0,6,0x6,0,1,8,0,8,0140,0,01,128, -01,0,0x7,96,0,0,054,0,0,104,0373,010,0,0x3,16,0,011,128,0x2,0,0x7,160 -,0,0,4,0,07,012,0,06,0x5,0,0,128,0,011,32,0,1,128,0,0x8,32,0,0,0x14,0 -,0,0172,248,0,4,192,0,0,128,0,8,0x13,04,0,0x6,192,010,48,0,0x7,012,0, -06,05,0,0x1,010,0,011,0x8,0,0x1,0106,0,0x8,04,24,2,16,255,0,4,224,32, -0x6,4,0,0x7,0x4,0,010,129,0x38,0x8,0,16,014,0,011,64,128,0,0,128,0x7, -0x4,0,06,64,64,36,16,0xc8,0376,0x4,0,03,192,0,0,0x18,0,8,4,0,010,1,48 -,0,0x12,0x8,0,0x8,128,0x1,0,1,06,0,07,128,01,32,0,0,0161,0376,0,0x4, -192,0,0,24,021,0,0x7,02,0x1,0,0x6,128,64,48,0,021,48,0,011,128,0111,0 -,0x1,0x6,0,07,128,041,16,010,128,0376,0,0x4,16,0,0,0x2,0,07,128,0,010 -,32,0,0,04,0,17,064,128,0,8,32,0,012,1,32,0,0,04,0,0,112,0374,0,056, -48,0,26,152,0374,0,0x4,48,0,0,06,0,0x7,128,0x5,0,0x7,96,0x1,12,0,021, -48,0,0x1,0x1,0,06,0140,0,012,0x3,0140,0,0,0x2c,0,0,128,0377,8,0,03,16 -,0,0,2,0,0x7,128,0x2,0,07,0240,0,0,0x4,0,17,48,0,011,32,0,012,01,32,0 -,0,024,0,0,042,0377,0,0x4,192,010,0130,0,0x8,0x13,0x4,0,6,192,0x8,48, -0x2,0,17,042,0,0,1,0,06,128,011,0,011,054,128,011,24,02,0x28,248,0,4, -224,32,036,8,0,07,04,0,0x8,129,56,010,0,16,12,128,1,0,7,192,0101,0, -011,017,196,0101,36,16,232,248,0x4,0,3,192,0,0,0x18,0,8,04,0,010,01, -48,0,017,2,0,03,0x1,0,0x6,128,1,0,011,014,128,01,32,0,0,0241,248,0, -0x4,192,0,0,26,0,8,0x12,0x1,0,6,128,0104,48,0,15,8,0,0x2,026,0,7,128, -01,0,011,014,128,1,144,010,136,252,160,128,4,0,1,208,0,0,2,1,0,0x6, -128,0,0x8,32,0,0,064,0,021,064,0,0,32,0120,64,0,0,64,0,03,32,0,1,128, -0106,0x2,0,5,01,32,0,0,36,2,0334,248,0,0x4,192,0,01,010,0,18,48,0,15, -0x8,0,0,48,0,01,02,0,012,04,0,011,16,16,216,0373,128,0,0,014,0,01,48, -0,0,16,16,0,6,128,5,0,7,0140,1,014,0,17,48,128,0x1,64,128,0,05,0140,0 -,0x2,0x6,1,0,5,3,96,0,0,054,0,0,176,0375,010,16,5,0,01,16,0,011,128, -02,0,7,0240,0,0,04,0,021,48,128,0,0x1,02,0,0x5,32,0,2,0x16,0,0x6,0x1, -32,0,0,024,0,0,0263,0376,0,0,132,48,0101,0,01,2,8,0,010,0x13,4,0,6, -192,010,0,0,32,0,016,021,0,0,128,0x8,06,0,0,0102,0,1,8,04,0,1,128, -0x49,0,1,0106,04,0,5,014,128,0x49,0x28,0,0,051,0373,0140,0,0,074,0,1, -32,32,06,16,0,7,0x4,0,8,129,010,0,017,8,0,0,12,128,7,062,0,1,192,0,03 -,192,1,0,0,128,07,0,6,017,0310,1,0x24,0,0,48,248,132,128,48,0,1,192,0 -,0,8,8,0,0x7,04,0,0x8,0x1,48,0,017,01,0,02,0x6,64,0,02,131,0,0x2,128, -0x1,0,01,6,0,06,014,128,0x1,32,0,0,0x49,248,0,0,021,48,0,01,192,024, -136,0,010,0102,0x1,0,06,128,0120,176,010,0,016,04,0,02,06,128,0x14,0, -0x1,0x3,0,02,128,01,0,01,0x26,1,0,5,014,128,01,32,0,0,112,251,16,0, -0x3,16,0,0,0202,0,0x7,128,0,010,32,0,0,0x4,0,021,0x34,128,0,3,64,03,8 -,0,01,160,1,0,0,128,06,0120,64,02,010,0,03,32,061,0x4,01,168,255,0,7, -16,0,043,16,0,0,48,0,0x5,0x3,0140,0,1,128,0x1,0,4,16,0,0x4,128,0,0x1, -0x8,0xc8,249,0,04,48,0,0,16,16,0,0x6,128,0x5,0,0x7,0140,0x1,014,0,017 -,01,0,0,48,128,1,0,3,131,0,0,64,0,0,0140,0,02,06,64,0,06,0140,01,16,0 -,0,0x28,0373,014,0,0x3,16,0,011,128,2,0,7,0240,0,0,04,0,07,64,1,0,05, -0x2,0,0,48,128,0,04,0x8,0,0,0x1,0,0,32,0,3,0x1,64,144,02,0,03,0240,0, -0,128,010,0142,253,0x4,0,3,192,0x4,0x18,0x1,0,07,023,0x4,0,06,192,8, -48,01,0,14,010,0,01,010,046,0,0x3,0x23,1,64,0,04,64,0x1,0102,64,8,0, -0x4,01,0,0x1,48,252,0,04,224,32,0x6,16,0,0x7,0x4,0,0x8,129,56,010,0,6 -,128,0x1,0,07,014,128,0x7,1,0,1,192,03,24,0,01,64,64,0,0,128,01,48,0, -0,06,0,04,192,0,0,12,0x8,0x38,253,16,0,0x3,192,0,0,0x18,16,0,0x7,0x4, -1,0,7,0101,48,0,023,6,0,03,0x3,01,0,0x1,128,0101,0,0x2,64,128,010,0, -0x5,1,0,1,0111,248,0,0x4,192,0,0,8,0x1,0,0x7,0102,0,7,128,16,48,0,18, -128,0x6,0,0x3,043,0,0,64,0,0,128,05,0,0x1,0x26,136,8,16,041,0,0x3,128 -,0,1,8,144,255,0,4,16,0,0,0202,64,1,01,0,04,128,0,0x3,64,0,3,32,0,0, -0x34,0,7,64,2,0,0x5,32,0,0,16,128,024,0x1,0,01,64,0,2,0x1,32,0,0,48, -144,0,8,32,061,0x4,0,0x1,252,0,7,16,0,0x25,32,010,2,0,011,48,0,011, -128,1,0,0x1,56,0377,0,4,48,0,0,24,16,1,0,05,128,5,0,0x2,192,0,0x3, -0140,01,014,0,0x7,64,0x4,0,05,0140,0,0,054,128,03,0,0x2,192,3,0,1,3, -96,0,0,074,128,01,0,07,224,0,0,074,0,0,136,252,8,0,0x3,16,0,2,32,01,0 -,04,128,0x2,0,0x2,64,0,0x3,160,0,0,04,041,0,016,32,0,0,148,136,4,0,02 -,64,32,1,0,0,0x1,32,0,0,52,128,0,010,160,011,05,16,0372,249,0,0x4,192 -,0x24,0120,16,0x8,0x1,0,05,023,04,0,2,023,0,2,192,0x8,48,32,0,0x7,2,0 -,5,128,011,24,0,0,4,0,3,8,02,0,0,014,136,0121,128,0x8,38,0,8,0x48,176 -,0x8,24,0376,0,4,224,0,0,06,192,0,7,4,0,0x2,192,0x3,02,0,02,129,0x3c, -0,017,224,01,0x25,128,02,0,2,192,0,02,017,192,0x1,014,128,0x7,0x4,0,6 -,224,0,0,56,0,0,0xc8,0375,04,0,3,192,0,0,16,0,0,1,1,0,05,4,1,0,0x2,03 -,0,0x3,0101,48,0,8,02,0,05,128,0x1,0x28,0,0,02,0,0x3,0x3,0,0x1,12,128 -,1,0,0x1,06,0,0x8,64,48,010,0241,0372,0,0x4,192,0,0,0130,16,0x2,0,06, -0x12,0,03,3,0,02,128,4,128,010,0,06,64,0,06,128,0x1,16,0,0,0x4,0,3, -0243,0,1,014,128,0x1,0,0x1,0x6,0,8,011,48,0x2,224,0376,0240,144,04,0, -1,16,0,0,012,01,0,2,0x5,0x4,0,01,128,0,0x3,64,0,3,32,0,0,0x4,0,0x8,02 -,0,0x8,128,0,0x3,64,32,0x28,32,015,32,0,0,52,128,0,8,32,0,0,0264,010, -112,248,128,0,06,010,0,0x1c,0x1,0,8,0x8,0,5,01,0,3,48,0,015,176,0376, -0,0x1,12,0,1,48,0,0,0x18,4,0,2,4,0,0x2,128,0x5,0,0x2,192,0,03,0140,1, -014,0,021,054,128,0x5,0,03,1,042,32,014,96,0,0,48,128,01,0,07,0140,0, -0,48,0,0,128,0371,010,144,0x4,0,1,16,0,0,72,0,0x3,64,4,0,1,128,2,0,02 -,64,0,0x3,160,0,0,04,0,017,1,0,0,148,136,02,0,03,041,0,1,12,0x21,0,0, -48,128,0,8,32,0,0,16,04,0342,0374,0,0x1,062,0101,0,0,192,042,24,1,0,2 -,32,0x4,0,2,0x13,04,0,0x2,013,01,0,1,192,0x8,48,011,0,016,8,0,0,24,0, -0,3,0,0x3,34,0x4,041,128,128,021,128,0x8,026,0,07,128,0x1,0,0,32,240, -0372,96,0,0,074,0,0x1,224,0,0,0x1e,04,0,0x2,3,0,3,4,0,0x2,192,03,0,03 -,129,56,0,17,36,128,4,0,0x2,192,0x2,24,0,0,017,0xc8,0101,014,128,0x7, -2,0,6,192,0101,074,0,0,216,253,0x4,1,48,0,0x1,192,0,0,0x18,0x4,0,02,4 -,4,0,0x2,04,1,0,02,0x3,0,0x3,0101,48,0,021,0x28,0,0,4,0,04,32,0,1,132 -,01,0,0x1,6,0,7,128,01,48,0,0,153,255,64,137,48,0,0x1,192,0,0,0x18, -0x1,0,02,8,0,03,02,0,3,0x3,0,2,128,0,0,48,0,17,16,0,0,2,0,02,128,32, -0104,129,054,128,01,0,01,06,0,7,128,1,48,042,32,0377,0240,136,0,0x2, -144,0,0,02,0,07,128,024,0x14,0,01,64,0,0,0x28,32,0205,32,011,064,0, -017,0240,16,32,128,0x4,0,1,26,64,0101,0,1,133,160,1,04,128,0,03,64,0, -0,012,0,0,1,32,0,0,04,0,0,0120,0377,128,0,0x3,192,128,0,011,02,0,06, -010,136,128,48,0,15,011,1,021,010,02,0,1,24,0,0,01,0,01,010,8,0,7,0x2 -,0,6,8,249,0,4,48,0,0,6,0,7,128,05,0,03,03,32,0,0,0x4,0140,0x1,014,0, -017,128,0,0,054,128,0x5,0,01,0x18,0,03,4,0140,0,0,12,0,0,06,0,04,1,0, -0,0x3,0140,0,2,24,0371,8,16,0x1,0,1,144,024,2,0,07,128,02,0,03,16,2, -0x21,010,0240,0,0,4,0,0,04,0,0x5,16,0x2,0,05,8,1,148,136,0x2,0,1,0x18 -,0,0,010,02,0,0,8,32,8,0x5,0,0,64,2,0,05,01,32,0,0x2,062,0373,0,0,0x4 -,0x2,0,01,128,0x28,24,0,010,0x5,192,132,0,01,163,0,0,041,0x4,64,01, -128,0,0,02,0,05,16,1,0,05,136,0,0,24,0,0,3,0,01,128,16,32,0,1,04,128, -011,48,0101,38,0x1,0,2,010,0x4,0102,0114,128,0121,0,0,011,248,254, -0140,0,03,0360,0,0,0x1e,04,0,7,0x4,240,0,1,192,0,0,0x18,0,0,013,0,0, -01,010,010,7,0,05,144,3,0,0x5,104,0x1,36,128,0x4,0,1,06,192,0,0,0x2,0 -,0,013,224,129,0x3c,128,07,0,2,192,0,0,24,0,0,017,196,01,12,0,0,224, -0373,4,01,0,04,24,0,010,04,192,0,02,0x3,041,32,4,0,0,0x1,48,136,5,0, -05,208,2,0,0x5,136,0,0,24,0,0,0x2,0,3,02,0,01,04,128,0x1,48,0,6,96,0, -0,014,128,0x1,48,0,0,129,248,0,0,0205,0,0x2,128,0x24,0x1a,0,0x8,0x4, -192,0,0x2,3,64,04,8,0,0,0x1,48,0,0,04,0,0x5,0x8,02,0,0x5,4,0x1,32,0,0 -,0x4,0,3,18,2,0,0,0x8,0,0,72,48,0,0,0106,0x1,0,0x3,0142,0104,014,128, -1,48,16,216,0377,0,035,4,0,06,0x2,0,043,248,0373,32,0,0,0x4,128,0,0, -16,0,01,64,0,0,8,0,0,01,32,0,0,04,128,0,0,16,0,0,02,64,0,0,8,0,0,01, -32,0,0,4,0,0x7,02,0,0x6,0x21,0,0,4,0,01,16,0,0,2,64,0,0,0x8,0,0,01,32 -,0,0,04,128,0,0,16,0,0,2,64,0,0,010,0,0,1,32,0,0,0x4,0,0,8,254,0,7,4, -0,0101,216,0377,0x24,0,0,04,128,0,0,16,0,0,0x2,64,0,0,010,0,0,01,32,0 -,0,04,128,0,0,16,0,0,02,64,0,0,8,0,0,01,32,0,0,04,0,15,32,0,0,0x4,128 -,64,0x18,0,0,0x2,64,0,0,010,0,0,01,32,0,0,04,128,0,0,16,0,0,2,64,0,0, -010,0,0,1,32,0,0,0x4,0,0,053,0374,014,0,0,010,0,1,32,24,0,011,16,0,02 -,128,0,4,4,8,0x6,0,16,0x8,0,8,02,64,144,8,0,0,1,0,0x6,2,64,144,0x8,17 -,011,0375,32,0,1,128,0,0,16,0,0,0x4,64,0,0,010,0,0,01,32,0,0,0x4,128, -0x1,18,0,0,2,0,1,8,0,0,1,96,128,0,024,0x1,16,0,0,2,128,0,0,010,0,6,16 -,0,0,2,64,0,0,8,0,01,32,0,0x2,0x38,252,0x8,0,73,212,251,32,0,0,04,128 -,0,0,16,0,0,2,64,0,0,010,0,0,1,32,0,0,04,128,0,0,16,0,0,02,64,0,0,010 -,0,0,01,32,0,0,04,0,15,32,16,6,128,0,0,16,0,0,2,64,0,0,010,0,0,1,32,0 -,0,0x4,128,0,0,16,0,0,02,64,0,0,8,0,0,1,32,0,2,168,0372,0,16,128,0, -0x16,32,0,013,64,0,0x7,0x1,0,04,16,0,2,4,0,0,0120,248,0,07,04,0,0x1d, -32,0,025,16,0,013,248,0376,0,025,129,0,047,0x2,0,012,176,0374,0,075,8 -,0,013,24,255,0,43,64,0,0x5,16,0,026,136,251,0,0x35,128,0x4,0,011,32, -0,7,0x38,251,0,0x14,64,0,43,16,0,07,0xc8,0377,0,0x6,4,0,011,01,32,0, -0x8,0x8,0,023,16,0,0x12,0x4,128,64,8,0,0,104,253,0,6,012,0,011,0x4, -128,0,0,128,0,6,32,0,19,16,0,016,010,0,0x2,1,32,0,0,5,0,0,208,252,32, -0,0,16,4,0x2,0,2,2,0,0x7,04,0,0,0x1c,0,01,01,0,3,0x1,96,0x7,0,017, -0120,32,0,1,16,136,0,011,0202,128,1,0,02,192,0,0,8,128,0176,16,8,0360 -,255,0,1,16,0,0,04,0,017,64,0,0x17,64,0,016,0x4,0,07,128,128,0x8,16, -0130,255,0,2,16,0,3,8,0,0x7,02,0,0,32,0,0x5,128,0,0,16,010,0,16,16,0, -016,0101,0,03,32,0,0,2,0,0,64,0,2,0374,0,0x36,1,128,0,17,16,254,0,2, -64,0,45,16,0,0x1,64,64,0,0x5,64,0,0x1,16,0,011,0310,255,0,0112,152, -0377,16,0,03,16,0,0102,16,0,0,0334,0373,0,07,8,0,16,4,0,18,128,0,010, -32,0,0,04,0,03,4,0,03,0x1,0,0x6,253,0x8,0,046,32,0,0,16,0,0,0x1,0, -0x1d,146,255,0,53,0x4,0,8,01,0,011,216,0372,0,0x36,021,0,0x12,136, -0377,0,047,32,0,0x1f,64,0,0,248,0371,02,0,73,184,253,0,067,010,0,17, -24,0377,0,54,0x2,0,8,0x2,128,0,07,56,0375,0,37,128,0,0,64,0,041,0120, -251,0,0105,0x8,0,0x3,16,0377,0,0106,32,0,0x2,152,253,0,0x34,2,0,4,128 -,0,013,128,0,0x1,176,0377,0,032,0x1,0,024,0x4,0,3,0x2,0,0x13,168,248, -0,0112,152,255,128,0,0x6,02,01,0,1,0x4,0,011,32,0,0x19,64,0,03,32,0,0 -,01,0,4,64,0,0,0x8,0,0x8,152,0377,0,026,0x1,0,13,128,0,3,16,16,0,010, -0x1,0,0x6,0x5,0,013,0120,254,0,1,1,0,0x1,16,0,0,32,4,0,18,04,0,0x12, -0x8,0,7,32,0,010,010,0,05,136,64,248,0,0,03,0,0x4,64,0,3,18,0,011,64, -0,062,232,0376,0,0x36,0x4,0,0x12,152,0373,0,07,2,0,013,128,0,0x2e,0x8 -,0,04,48,255,0,04,04,0,0x8,04,0,0,2,01,32,0,1,64,0,02,128,64,16,0x8,0 -,16,16,0,1,1,0,0x4,64,0,17,128,248,128,0,04,128,0,15,2,0,027,010,0x2, -0,0x3,128,0,0,16,0,0,128,0,0,16,0,0,02,0,010,128,0,0,144,0,0,0375, -0240,0,0x3,2,128,0120,0,01,64,01,0,2,010,0,0,0x1,0x2,64,0,0x2,3,0,0, -0x28,64,128,010,16,0,16,8,0240,024,2,0,02,0120,0102,0141,0x28,32,0,0, -0x4,128,0,01,024,128,02,0,0x2,0x28,0,01,021,32,32,251,0,0,04,0,0,6,0, -0,0101,32,0x8,0,0,01,0x2,01,0,0,2,0,02,0x2,128,0x4,0,0,64,64,136,0,0, -32,0,1,128,041,0,12,0140,0,0,128,64,1,128,4,132,0,0,16,0,01,136,0,0x1 -,42,06,128,04,132,64,0,0,16,128,0,0,192,16,32,128,0103,0,0,0x4,248, -255,0,03,128,64,128,8,64,0,3,8,0,0x2,02,0,24,64,0,0,128,0,0,01,0,011, -2,0,3,16,0,4,32,0,0,128,64,0,0x1,24,0371,0,0x2,010,0,015,64,0,0x2,128 -,0,0x13,32,0,0x4,02,16,0,0,0x8,0,7,8,0x2,0x1,0,0,0x2,0,0x1,32,0,01,64 -,0,0x1,16,232,248,64,0,06,128,0,02,0x2,0,011,16,0,016,32,0,011,32,0, -0x3,16,0,0x5,0x4,32,0,0,04,0,0x8,0140,255,0,0x2e,128,0,032,16,255,0,0 -,01,02,0,5,0x2,0,021,128,0,16,64,0,014,0x8,0,015,216,248,0,6,16,0,012 -,16,0,02,32,0,0x32,152,253,0x2,0,0x28,0x2,0,13,4,0,16,216,251,0,7,010 -,0,0x7,4,0,0x8,01,0,016,8,0,26,0x4,0,2,128,254,0,0x29,1,0,014,0x1,0, -012,04,0,5,216,0376,0,046,16,0,042,136,0377,0,0,64,0,0x4,16,0,062,01, -0,016,216,0372,192,0,0x4,64,0,0,128,0,023,16,0,16,2,0,1,8,0,0x1,128,0 -,0x3,64,0,013,64,0,2,248,254,0,6,4,0,075,010,0,0x1,128,0,0,0x18,251,0 -,0x6,32,0,041,0x1,0,05,0x8,0,24,32,0374,0,0x6,0x2,0,41,144,64,0,02, -0x28,0,1,32,129,0,0x5,64,0,0x2,0x5,32,0,3,0373,0,0x36,64,0,015,8,0,03 -,0120,0373,0,0x7,0x8,0,0x28,128,128,0,02,0130,0,02,01,0,5,192,0,02, -013,0,03,144,0371,0,0x36,0x28,0,2,144,0,0x5,64,0,0x2,0x5,0,03,248, -0371,0,6,24,1,0,0x29,0102,0,02,48,64,0,01,132,0,6,0x23,02,0,0,134,04, -16,0x2,0,0,208,0376,0,0x6,0x1e,04,0,0x28,48,0,3,64,0,01,0140,0,0x6, -192,03,0,1,010,0140,0,0x2,0x28,0374,0,0x31,128,0,3,64,0,0x2,01,0,0x6, -3,0,1,0x8,128,0101,0,1,16,0371,0,6,0x58,16,0,0x28,64,0102,0,02,32,18, -0,0,128,0x28,0,06,3,0,01,0104,0202,0x1,0,1,0120,0376,0,01,4,0,03,032, -02,0,5,064,0,0x3,128,0,4,32,0,0,04,0,0x7,0x28,0,06,024,0,0,0x4,0,01, -16,0,0x3,010,0,01,32,129,0,0,128,0,0x7,1,32,0,0,0x34,0,0,0154,251,0,6 -,0x18,0,6,48,0,0x4,0x4,0,016,12,0,6,0x6,0,0x1a,48,0,0,168,0373,0,01, -12,0,03,010,16,0,012,6,0,0x6,074,8,0,6,014,0,0x6,06,0,0,014,0,0x1,240 -,0,3,0130,0,02,1,0,0,128,07,0,06,013,224,1,075,0,0,48,0373,8,0,0,0264 -,32,0,0x2,24,01,0,05,48,0102,0,0x2,0x2,0,05,0x28,0264,0,07,012,0,6,5, -0,0,4,0,1,208,0,03,0x28,0,0x3,01,128,0x6,0,6,05,32,010,0x34,0,0,123, -0376,0,01,176,0,3,0x8,01,0,0x6,2,0,2,0x18,0x5,0,3,128,0x5,0,0,0x2,0, -06,012,0,0x6,05,0,0,48,02,0,0,192,0,0x3,48,64,0,1,132,0,1,198,0,6,134 -,0x4,144,0,0,2,0x29,0371,0,01,0x3c,0x8,0,0x2,036,16,0,5,074,16,0,0x2, -036,0,04,224,0101,56,16,0,16,074,32,0,0,0360,64,0,02,64,0,1,96,0,1, -128,7,0,6,8,96,0,0,12,010,208,0377,0x4,0,0,48,0,0x3,0x8,16,0,06,32,0, -2,24,0,25,48,0,01,192,0,0x3,64,0,02,1,0,01,06,0x1,0,0x5,0x8,128,01,0, -1,014,0375,0,0x1,48,010,0,2,16,0,07,0x1,0,0x2,032,0,04,128,041,176,8, -0,16,52,0,01,208,36,0,0x2,32,16,0,0,128,16,0x1,0,0,06,0,0x6,4,0202, -0111,0,0x1,32,251,0,0x1,0x4,0,03,2,0,011,208,0,0,128,0,4,160,129,4,0, -021,52,0,1,16,0,01,64,0,0,8,0,1,32,0,012,01,32,137,0,01,232,252,0,021 -,192,0,01,04,0,0x3,128,0x1,0,18,48,0,032,128,249,0,1,014,0,04,8,0,010 -,192,0,0,0x6,0,0x4,128,0,0,0x3c,010,0,016,2,0,0,074,0,01,0360,0,1,192 -,0,0,0x58,0,0x1,224,0x1,0,011,013,0,0,01,0,0x1,16,251,0x4,0,0,04,0, -017,0x8,3,0,4,128,0205,0x34,2,0,016,02,0,0,064,0,1,16,0x28,0,0,64,0,0 -,0x28,0,0x1,0240,01,0,011,5,0,0,0x28,0,1,0272,0372,014,0,0x1,02,0,0x2 -,152,0,011,192,136,24,01,0,03,128,16,0,0,2,0,14,0x4,0,0,48,0,02,0102, -0,0x1,043,48,64,0,0,128,01,0,011,134,0x4,132,0,1,152,0373,0,0x1,014, -16,0,2,036,0x4,0,0x8,48,0,0,036,0x4,0,0x3,224,129,0x38,16,0,016,02,0, -0,56,0,01,32,0,0x1,192,03,0102,0,1,224,129,0,011,0x8,0140,0,0x2,128, -0372,0x8,0,0,48,16,0,14,64,24,0,0x4,128,0,021,0x2,0,0,48,0,0x2,64,0, -01,3,64,0,1,128,0101,0,011,8,0,0,01,0,0x1,0x49,251,0,1,48,0,3,0x18, -041,0,011,04,26,0,05,021,49,021,0,016,0x1,0,0,48,0,0x1,16,0x4,0,0,64, -03,32,021,0,0,128,17,0,011,36,0202,32,0,0x1,112,0374,0,02,0202,6,0120 -,010,0x1b,0102,0,03,160,1,0,0x4,0x2,0,0x3,0x1,32,0,0,52,0x4,0,016,010 -,0,0,4,0,0x1,16,0,1,64,0,0,0x8,0,1,32,0,012,1,32,136,0,0x1,136,0372,0 -,0x2,0x8,6,128,0,0,24,0,0x4,128,1,0,12,48,0,017,04,0,0x18,128,0,02, -0140,0377,0,0x1,12,0,0,06,64,0,0,0x8,16,0,03,128,0x1,0,4,06,0,06,16,0 -,021,014,0,01,48,0,02,03,0130,0,1,224,01,0,011,013,0,0,128,0,0x1,224, -0375,0x8,0,0,4,0,0,32,136,0,0,24,1,0120,0,3,16,0x2,0,3,0132,16,0,02, -64,0x1,0x28,48,32,0,016,8,0,0,04,0,0x1,16,0,0x2,32,41,0,0x1,0240,01,0 -,011,0x5,128,010,0,1,162,248,0,01,48,011,198,64,0,0,010,0x1,0213,0, -0x2,128,0x1,0,0x4,0130,04,0,02,0214,0202,73,16,041,0,16,48,2,0,0,192, -0,0,0x1,0,0,0213,48,64,0,0,128,05,0,011,134,4,132,0,0x1,176,0375,0, -0x1,074,128,07,176,0,0,0x1e,0xc8,03,0,2,96,0,0,1,0,3,0x1e,0,0x3,017, -224,01,0x3c,0,021,0x3c,32,0,0,224,0,01,192,03,64,0,0x1,224,0x1,1,0,8, -8,96,0,02,184,0376,4,0,0,48,0,0,6,64,0,0,0x8,0,06,01,0,3,24,0,4,0x8,0 -,0,16,0,15,011,0,0,48,0,0x1,192,0,02,03,64,0,01,128,1,0,011,010,0,0, -01,0,01,041,0372,0,1,064,0,0,0106,132,0,0,144,010,013,1,0,0x2,010,0, -0x4,0x18,0x5,0,02,0114,128,5,0x21,34,0,016,0x8,0,0,48,0,01,192,0,02, -03,041,0x14,0,0,128,73,0,011,132,0202,128,0,0x1,216,0373,16,0,01,0202 -,0,2,26,0102,0,012,128,64,0,3,0240,129,0x4,0,7,128,0,0x6,0x21,0,0, -0x34,0,0x1,16,0,0x1,64,011,010,0,0x1,32,129,0,010,36,1,32,0,0x2,064, -0372,0,02,010,0,2,24,0,014,0x4,0,03,128,01,0,010,64,0,010,48,0,05,0x2 -,02,0,18,176,252,0,01,014,128,0x1,01,0,0,8,208,0x3,0,011,0x6,192,0,3, -128,0,0x1,16,0,0x7,2,0,5,0144,0,0,48,0,0x1,48,0,01,192,01,0130,0,0x2, -1,0x1,0,6,24,0,0,013,224,01,0,02,0371,014,0,0,0x4,128,32,0,1,24,0101, -0243,0,011,2,64,0,03,128,133,0,0x8,128,0,6,051,0,0,48,0,01,16,0,01,64 -,2,0x28,0,013,010,0,0,0x5,160,0x1,0,1,131,248,4,0,0,176,010,16,2,0,0, -0x8,010,010,0x1,0,0x8,24,04,043,02,0,1,128,0,0,48,01,0,6,128,0,6,128, -0105,0,0,012,0,0,192,2,0,01,0x1,48,64,0,1,132,0,7,0140,0,0,134,132, -0x1,0x2,0,0,0141,254,0,1,0x3c,0,0,7,0,0x1,036,128,03,0,011,036,192, -0x3,0,02,224,01,61,0x8,0,6,64,0,06,224,1,12,0,1,224,128,0,0,128,2,64, -0,01,0140,0,0x8,0170,32,8,224,01,0,0x1,168,0377,0x4,0,0,48,0,1,0x2,0, -0,010,16,128,0,011,24,0,0,3,0,2,128,0,0,1,0,8,01,0,05,128,0x1,0,02, -192,0,0x2,01,64,16,0,1,129,0,07,0140,0,0,0x8,0202,0x1,0,01,011,0375,0 -,0x1,064,128,32,0,01,144,0,0,023,0,011,0x1a,0,0,3,0,0x3,01,48,4,0,14, -0240,1,0,02,192,0,02,0x2,32,4,0,0,128,0,0x8,0140,0,0,132,128,0105,0, -0x1,112,0376,16,0,0,48,2,0,02,02,64,013,0x2,0,4,128,06,0,1,0x2,0,4,32 -,0,0,0x4,0,7,64,1,0,0x5,32,0,0,064,0,0,16,024,0,0x1,64,145,8,0,01,160 -,144,0,0,128,04,2,0,05,0x1,32,0,2,0x78,0377,0,0x2,0x8,0,04,3,0,27,2,0 -,07,48,0,011,128,0,15,136,0377,0,01,074,16,0,02,0x1e,0,0,0x1,0,06,6,0 -,01,0x6,0,0x4,224,1,0,0,16,0,016,0140,0,0x1,128,0x1,48,0,0x2,129,0x58 -,0,03,1,0,0,0x4,0x4,0,05,013,224,0x1,0,01,0360,0373,014,0,0,4,0,03, -0232,04,013,0x2,0,5,026,0x2,0,0,0x2,0,0x4,160,0101,0,16,32,0,01,128,0 -,0,16,0,0x2,16,0x28,0,0x5,64,0,06,05,160,1,0,0x1,0142,0372,4,0,0x5,64 -,0x8,01,0,0x6,64,0,0x2,0x1,0,04,132,48,012,0,0x6,64,02,0,0x5,128,0x5, -129,64,0x6,192,010,0,01,18,0x31,64,0,1,32,0,01,16,2,0,05,134,132,011, -0,0x1,0x8,0375,0,0x1,074,0,0x3,0x1c,192,3,1,0,0x4,128,0x7,04,0,0,0x6, -0x8,0,0x3,192,0x1,074,0,010,2,0,05,224,1,12,128,07,0342,128,0,0,192, -03,64,0,01,0140,0,0x1,128,1,0,06,010,224,129,0,1,176,0373,16,0,06,4, -01,1,0,010,24,0,0x5,64,0,0x8,64,0,06,128,01,0,01,06,208,0,03,64,16,0, -1,0x1,0,1,04,0,06,010,0202,0x1,0,01,0141,0375,0,0x1,064,0,03,24,0,0, -18,0,0x6,06,02,0,0,152,0x2,0,03,128,011,176,32,0,016,128,01,0,0,34, -0x6,192,0,0x2,0x2,0x21,01,0,0,64,145,0,0x1,0102,0x8,0,5,36,128,0121,0 -,0x1,176,248,0,02,2,0,0,208,0,0,0x2,64,013,0x2,0,8,128,0,01,104,0,0, -015,36,0,0,064,0x4,0,0x7,01,0,0x5,0240,01,0264,0,1,208,0,1,64,0,0,0x8 -,0,1,0240,0x8,0,0,128,4,02,0,0,032,0,3,0x1,32,16,0x35,0x8,0,0,0376,0, -2,0x8,0,0,192,0,2,3,0,012,4,0,0,0140,0,0,014,0,1,48,0,07,64,02,0,0x5, -128,01,48,16,0,010,128,0,0,01,0,0x3,0x18,0,6,32,0,0,152,0371,0,01,014 -,0,0x3,036,0,0,0x1,0,011,06,0,3,0x4,224,1,16,0,021,32,32,0,0,48,32,0, -1,0x3,0130,0,05,0x4,04,0,0,0x1e,0,0x3,013,128,0,0,48,16,0,0,248,010,0 -,0,4,0,03,0132,4,013,2,0,0x8,02,0,0x3,0x2c,168,011,0x32,32,0,14,1,0,0 -,16,01,0,0,16,2,0,01,0x3,0x28,0,0x3,01,0,0,32,0,1,0x1a,0,3,05,128,132 -,48,0,0,138,254,0,01,48,01,0,0,192,0x8,64,010,17,0x4,0,8,152,0x4,0,01 -,0101,0104,0x4,132,16,021,0,016,4,0x8,0261,32,0,0x1,0102,0,0x1,32, -0x34,64,0,0x1,0x4,01,0,0,16,0x2,0,0,24,0,03,134,0x4,129,0,0,0x2,0x18, -0372,0,1,0x3c,010,0,0,240,128,0x1c,192,3,0,011,036,0,1,0x18,0,0,15, -192,1,074,0,017,0140,0,0,014,0,01,32,0,01,192,0,0,64,0,01,0140,0,01, -128,1,0,0x1,28,0,0x3,010,0140,1,014,010,0360,0372,04,0,0,48,0,0x1,192 -,0,0x1,4,0x1,0x2,0,8,24,0,0x2,64,4,0,0,64,16,0,16,128,32,16,0,0,16,64 -,0,1,128,64,16,0,01,1,0x1,0,0,0x4,04,0,0,0x18,0,3,0x8,0x2,0,01,32,061 -,0372,0,0x1,064,0,01,192,024,152,0,0,18,0,011,0x1a,0,02,2,0x48,136,5, -32,041,0,16,010,2,0,0,16,04,0,01,32,32,0,02,011,0,1,18,0,1,24,0,03, -0x4,64,128,128,0,0,216,248,160,0x1,0,0,0202,0,0x2,26,73,0103,104,0,0, -015,0,6,152,0,1,104,0,0,1,32,0,0,4,0,017,0240,0x1,0x34,18,0,0,16,0,0, -02,64,0,0,72,64,01,32,0,0,0x4,128,0,0,16,0,0,26,0,03,137,164,48,4,0,0 -,112,253,128,01,0,0,010,0,0x2,0x18,0,0,03,0140,0,0,014,0,0x7,0x4,0,0, -0140,0,024,132,1,48,0,06,32,0,010,24,0,0x3,0x4,128,0,0x2,0x38,253,128 -,1,014,128,01,0,1,036,192,131,0140,0,010,036,0,1,0170,0,0,0x3,224,1, -0x3c,0,017,224,01,32,0,1,48,32,24,192,0,0,0x58,0,0,017,224,0x1,48,128 -,7,192,0,0x5,013,0,01,48,0,0,224,253,8,16,6,128,0,02,0132,0x48,0x3,0, -0,36,0,0x7,0202,2,0,0,104,0,0,0x1,160,0121,064,0,0,4,0,0x5,16,2,0,5, -168,1,16,34,0,0,16,010,24,64,0,0,0x28,0,0,015,0240,01,48,128,06,192,0 -,0x5,05,0,0,0x28,48,0,0,0232,0377,128,011,48,012,0106,0,01,64,010,010 -,0141,0,0,054,0,011,96,0,0,0214,0x8,132,48,02,0x2,0,0x5,16,01,0,0x5, -136,1,48,0x1,0,1,0102,24,011,013,0120,0,0,0214,128,01,0,0,0x2,046,194 -,0202,64,32,0,2,012,0,0,010,0262,0,0,144,249,0140,0,0,0x3d,0,0,7,4,0, -0,4,128,3,24,32,017,0x8,0,0x5,036,0,1,112,0,0,017,192,0x1,0x38,16,0x7 -,0,05,144,03,0,05,0xc8,01,12,0x8,0,0,32,0,0,036,192,131,64,0,0,016, -0344,1,015,0240,07,240,0,0,0x6,0,3,0x8,0140,0,0,0x3c,16,248,0374,0x4, -0,0,48,0,0,6,0,01,24,04,0,2,014,4,0,0x8,96,0,0,12,0,1,0x31,128,0x5,0, -0x5,208,2,0,05,136,1,32,0,02,64,24,16,03,64,0,0,014,128,0x1,0,0x1,0x6 -,193,0,0x5,0x8,0,0,0x1,49,32,0x29,0376,0,0,32,52,0,0,06,0,0x1,16,01, -02,0x1,132,0114,0,6,26,0,01,0140,0,0,014,128,0x5,48,010,04,0,5,0x8, -0x2,0,05,132,01,0,0,010,0,0,208,4,0130,0,0,3,64,0,0,014,144,0101,0,0, -16,026,192,0102,64,8,0,2,8,0,0,021,48,01,8,248,0,1,0x8,0,16,0x4,0,8, -04,0,06,02,0,5,64,0,0x4,0202,0,026,156,0375,32,0,0,4,0,0,0x1,16,0,0, -02,64,0,0,0x8,0,0,01,32,0,0,4,128,0,0,16,0,0,02,64,0,0,8,0,0,1,32,0,0 -,4,0,7,0x8,0,6,04,0,01,128,0,0,32,0,0,02,0,01,010,0,0,1,32,0,0,0x4, -128,0,0,16,0,0,02,64,0,0,010,0,0,0x1,32,0,0,0x4,0,0,176,253,0,0x35, -128,0,19,24,255,0x28,0,0,0x4,128,0,0,16,0,0,0x2,64,0,0,0x8,0,0,01,32, -0,0,4,128,0,0,16,0,0,0x2,64,0,0,010,0,0,0x1,32,0,0,0x4,0,017,32,0,0, -0x4,0205,0,0,16,0,0,02,64,0,0,0x8,0,0,01,32,0,0,0x4,128,0,0,16,0,0, -0x2,64,0,0,010,0,0,0x1,32,0,0,0x4,0,0,0363,0371,0,0x1,0x8,0,0,32,0, -0x2,0x3,32,0x1,0,8,0x4,128,0,01,024,0x2,0,0,144,0,0,34,0,017,0120,128 -,010,0,0x1,2,0x1,128,8,0,0,0101,128,4,0,0x6,132,0,2,32,8,0,2,0231,249 -,32,0,0x1,128,1,021,0,0x3,0x8,0,0,0x1,32,0,0,0x4,128,0,0,16,0,29,01, -48,0,0,2,0,1,0x19,0,0x1,64,0,0,4,0,0,01,16,0,03,16,0,0,0x3,64,0,0,16, -0,0,64,255,4,0,0x6,010,0,023,32,0,0x2c,0x49,248,32,0,0,4,128,0,0,16,0 -,0x1,0x1,32,011,0,0,1,32,0,0,04,128,0,0,16,0,0,2,64,0,1,128,01,0,0, -144,0,0,0x1,0,017,0x28,0,0,192,0,0,16,0,0,2,0,0x1,010,0,0,128,36,0,0, -4,128,0,0,16,0,0,128,0x48,0,0,010,0,0,01,32,0,0,04,0,0,144,0375,0,23, -8,0,031,16,0,3,8,0,015,01,0,2,16,0377,0,24,04,0,0x13,32,0,27,184,0371 -,32,0,24,32,0,0,0x4,0,18,010,128,0,0x2,02,0,011,16,0,7,01,4,0xc8,0371 -,0,02,010,0,16,4,0,0x1f,128,0,0x7,0x8,0,010,2,0,0,0130,249,0,6,32,0, -29,128,0,0x2,0x2,0,31,16,0377,0,27,16,0,054,128,0,0,254,2,0,0x7,02,0, -013,128,0,23,16,0,0x1,64,0,02,2,32,16,04,0,8,128,32,0,1,02,0,02,0274, -0371,0,04,64,0,0,16,0,38,04,32,0,012,010,0,015,224,0372,0,04,16,0,0,2 -,128,0,5,16,0,01,64,0,0x3,1,0,0x16,014,32,0,0,0140,0,1,128,0,0,16,32, -02,0,01,04,0,6,021,0,01,0x4,0,0x2,24,0376,128,0x1,16,0,0,2,64,2,0,0,2 -,128,0,4,128,0120,0,4,176,0240,0,0x2,64,0,18,32,0,0x1,64,16,0,0x1,0x1 -,0,0,16,32,0,0,0x1,0,0,06,132,0,4,0240,1,0,0,0x2,32,0,0,0120,216,0371 -,32,0,0,16,0,0,04,64,0,03,02,0,012,128,32,0,0x3,1,0,0x14,32,0,0x2,1,0 -,0,16,0,012,32,0,0x1,0x2,0,2,128,255,0102,0,6,0x8,0,0x25,04,0,02,32,0 -,0x5,128,0,01,010,0x4,01,0,0x7,64,0,1,0314,248,0,0112,152,0377,0,045, -2,0,02,0x2,0,017,128,0,016,16,253,0,04,01,0,7,0x4,0,011,32,0,24,128,0 -,18,0140,2,0,01,72,0371,0,19,2,0,0x7,010,0,024,2,0,19,0x4,0,1,0130, -249,0,021,0x2,0,18,64,0,2,1,0,021,16,0,12,184,0371,0,0x5,128,0,057, -0x2,0,0x12,24,253,0,39,0x1,0,2,1,0,035,136,254,0,1,0x8,0,0x19,04,0, -054,0130,255,0,0x1b,0x1,0,45,152,0376,0,0x6,64,0,012,0x2,0,06,4,0, -0x21,128,0,07,32,32,0,01,48,0377,0,47,4,0,031,216,0373,0,0112,152,255 -,0,4,0x4,0,0104,216,255,0,16,0x4,0,0x1f,128,0,0x14,01,0,1,64,0376,0,5 -,64,0102,0,0,8,0,4,128,0,014,16,0,0x14,64,0,026,0120,248,0,07,0x2,0, -0x4,128,0,012,04,0,0,128,16,0,0x2c,120,0376,0,0112,152,0377,0,36,64,0 -,02,0x1,0,32,0xc8,0373,0,0x3,0x2,0,0x23,010,0,0x7,64,0,6,128,0,2,02,0 -,07,128,0,0x2,184,249,0,37,136,0,01,32,0,32,144,0375,0,02,128,0,0x3, -128,0,0,64,0,16,128,0,24,0x4,01,0,0x2,0101,64,0,015,0xc8,0372,16,0,0, -2,0,03,0x28,64,128,128,0,1,2,0,0,2,64,0,0x2,01,0,0x3,1,042,1,0,0x12, -16,0,02,1,0,024,0x1,0,0,216,254,0,0x8,02,0,16,03,0,0x1c,0x8,0,02,128, -0,014,136,0376,0,046,128,0,2,128,0,036,16,0377,128,0,0,04,010,0,0,64, -0,0,4,4,0,012,8,0,3,4,0,023,64,16,0,1,64,32,8,0,01,16,16,0,03,136,0,1 -,64,010,010,0,1,16,04,0x2,0,0,32,0,0,48,248,16,1,0x1,0,1,01,0,03,16,0 -,012,128,0,0x1,0x2,128,0,024,8,1,0,0x4,01,0,0,2,0,01,021,0,0x3,4,0,5, -64,16,0,0,32,0377,96,0,0,0251,16,0,0,045,0,0,0x4,0x8,0,0,010,0,8,0x4, -0,0,128,02,0,0,3,32,0,15,0x8,0,1,128,010,0240,0,0,32,64,4,0,01,18,32, -0x1,0,1,05,16,0x1,0,0,64,6,8,0,0x1,32,2,0x4,0,0,13,0,0,176,251,0,0,04 -,144,010,0,0x1,32,128,4,64,0x8,0,0,04,0,0x1,16,0,0,02,0x1,0,0,8,0,0, -0x5,0,1,041,162,0x2,0,016,32,0,01,64,128,4,04,0120,4,0120,0,0,01,32, -16,129,2,32,144,0x5,4,128,0,0,010,0,01,0240,16,0,0,03,32,32,0,0,144, -253,0,01,16,010,0,1,128,0,0,04,0,2,4,0,01,0x4,128,0,0,01,0,0,010,0,0, -01,0,0x2,0104,0,15,32,0,0x1,128,0,2,64,0,01,128,0,0,32,16,0,0,02,0,0, -16,0,0x3,2,0,1,32,32,0,0,2,0,2,0x38,255,0,011,01,0,36,32,01,0,0x1,010 -,0,0x6,1,32,02,64,0,6,0x8,64,16,0,0,176,0375,0,0x3,1,0,0x2c,32,0,0x6, -64,0,2,1,0,013,0310,248,0,025,010,0,1,32,0,32,64,0,06,8,0,2,128,0,2, -48,0371,0,04,02,0,2,64,0,0x1,2,0,013,02,64,0,0x1a,0x2,0,3,164,0,01, -144,0,013,184,0372,0,0x6,0x4,32,0x2,0,0,128,0,15,0x8,0,017,64,0,0, -0x28,0,0x3,04,0,0,1,0,0x2,32,4,0,2,128,0,0,16,0,1,16,0,0,02,64,0,0, -0x28,0,0,32,0372,0,1,64,0,03,010,0,0,0x1,0,6,8,0,1,32,0,4,128,0,0,64, -0,0x12,64,0,2,01,0,03,16,0,07,32,0,7,56,253,0,010,0x4,04,0,31,16,0, -036,0310,0376,0,06,04,0,0102,152,0373,0,032,128,0,016,64,0,015,0x8,2, -0,016,0360,251,0,0,64,0,06,4,0,04,64,0,0x1,32,0,0x7,96,0,0,8,0,15,32, -0,0,16,0,0x16,01,0,1,56,252,0,04,16,0,0,0x12,0x4,0,016,64,0,1,64,0104 -,0,15,32,0,0,4,32,0,01,32,0,0x1,2,0,0x2,64,0,02,2,0,1,32,0,010,168, -0371,0,07,010,0,016,1,0,13,72,0,2,24,0,2,128,0,7,0x1,0,016,04,128,0,0 -,0x8,0373,0,0x7,128,0,16,64,0,025,0x8,0,06,2,0,011,128,0,5,48,0371,0, -15,128,2,0,0x1,146,32,0,0,72,0x1,0,0,32,01,1,021,0,16,48,2,0,07,0x1,0 -,0x2,32,0,0x4,0x3,0,04,128,8,48,0371,0,16,02,1,0,04,32,0,026,16,0, -0x12,0x2,0,05,184,0376,0,017,128,0x5,0x2,0,0,036,0,1,0x78,0,1,224,0x1 -,015,0,021,074,0,8,014,0,0x1,014,0,04,192,0,5,0x3c,0,0,0x28,253,0,017 -,128,36,0,0x1,012,0x21,0,0,0x28,041,0,0,160,8,04,0,021,52,0102,0,07, -12,0,1,4,0,0x4,64,144,0,04,52,0,0,48,0376,0,16,04,0,01,014,0,0x1,48,0 -,0x1,192,0,0,48,04,0,16,48,012,0,07,054,0,1,48,2,0,04,0x23,4,0,3,48, -0102,224,0372,0,15,128,4,0,1,012,0,0x1,0x28,0,1,160,0,0,56,0,021,0x3c -,0,0x8,017,0x4,0,0,56,010,0,3,128,3,0,4,0x38,0,0,0360,0374,0,16,2,0, -0x1,16,0,01,64,0,2,0x1,48,0,17,48,0,8,014,04,0,0,48,0,0x5,0x3,0,04,48 -,0,0,208,0373,0,16,02,0,1,16,0,0x1,64,0,02,0x1,48,0,021,0264,64,0,0x7 -,0214,0,0x1,48,0,05,0x23,1,0,0x3,48,011,120,0375,0,017,128,36,0,01,18 -,02,0,0,72,8,0,0,32,041,0,010,042,0,0x6,17,0,0x3,16,32,0,4,015,0,02, -32,0,0x8,32,0x48,0,1,0x58,0374,0,021,2,0,17,12,0,6,0x6,0,012,12,0,16, -24,0373,0,017,128,07,0,1,036,0,1,0170,0,0x1,224,0x1,0,0x8,014,0,06,6, -0,03,64,0,0x5,014,0,1,12,0,012,64,0,0x1,176,248,010,0,016,128,0102,02 -,0,0,0212,0x2,0,0,0x28,012,0,0,160,0x28,0,010,012,0,0x6,05,0,0x4,0x14 -,0,0x4,014,0,0x1,04,0,012,4,0,01,0172,252,0,16,03,0,01,12,0,01,48,0, -0x1,192,0,011,012,0,0x6,5,0,3,192,36,0,04,32,0,1,176,0,012,0101,0,01, -16,0376,0,017,128,02,0,01,012,0,1,0x28,0,01,0240,0,026,0360,0,5,03, -0x4,0,0,0x38,0x8,0,0x8,96,0,2,16,249,0x4,0,15,0x4,0,01,16,0,1,64,0, -0x2,01,0,025,192,0,010,48,0,012,64,0,01,0141,0372,0,16,0x4,0,1,16,0, -01,64,0,0x2,0x1,0,21,192,128,0,7,48,0,015,0360,0377,0,0,136,0,01,32, -0x2,0,011,128,0104,8,0,0,0122,32,0,0,72,34,64,0x24,0x1,2,021,0,16,48, -0x2,0,7,01,0,02,32,0,12,0xc8,0374,0,057,16,0,011,128,0,017,0377,0140, -0,0x1,128,01,0,012,128,0x7,0,1,036,0,1,0x78,32,3,224,01,014,0,021,074 -,0,011,0142,0,0,014,0,015,184,251,0x28,0,1,128,0,013,128,2,8,0,0,0112 -,32,0,0,0x28,0x4,0x1,160,0x8,0x6,0,17,0x34,0102,0,07,32,32,0,0,4,0, -015,146,0375,128,011,0,01,06,0x2,0,012,3,0,1,014,0,01,48,0,0,0114, -0xc8,0,0,48,0x2,0,16,48,011,0,010,0202,0101,48,0x8,0,014,0x28,248,192 -,01,0x1,0,0,7,0,012,128,2,0,01,012,0,01,0x28,0,0,14,0240,0,0,0x38,16, -0,016,01,0,0,074,0,8,03,224,01,0x38,0,13,0130,0372,132,1,0,1,6,0,013, -4,0,0x1,16,0,01,64,0,0,12,0,0,01,48,0,017,0x4,0,0,48,0,011,0202,0x1, -48,0,015,0311,251,128,1,0,1,6,0,013,4,0,0x1,16,0,1,64,0,0,014,0,0,0x1 -,48,0,017,4,0,0,0264,64,0,07,12,128,1,48,0,13,0130,248,0,0x4,16,0x48, -0,8,128,0104,0,1,18,021,0,0,0x48,0,01,32,05,0,16,1,0,1,0102,0,7,015, -128,17,0,0,32,0,02,2,5,0,0x3,0240,01,128,0x8,0x18,0372,0,021,02,0,04, -32,0,02,01,0,0x1b,014,0,0,128,0,010,32,0,0,128,1,0,01,224,0371,0,0x4, -192,0,011,128,07,0,1,036,16,0,0,0170,0,1,224,1,0,16,0x5,0,0,0x3c,0,8, -014,224,01,014,0,0x3,0x8,4,0,0,24,0,01,128,01,014,0,0,0x38,0372,0x4,0 -,3,192,02,01,0,7,128,2,0x2,0,0,012,0,1,0x28,042,0,0,160,0x4,01,0,017, -5,0,0,064,0,010,12,160,021,6,0,3,0120,0,1,8,0,0x1,128,0x1,04,0,0,0252 -,0374,014,0,0x4,0104,0,011,3,0,01,014,0,01,48,0,0x1,192,0,023,48,012, -0,010,0202,0101,48,0x1,0,2,128,16,0,0,0140,04,0,1,64,48,0102,32,251,0 -,04,112,0,011,128,2,0,01,012,0,01,0x28,0,0x1,0240,0,021,8,0,0,074,0,8 -,0x3,224,1,0x38,16,0,0x2,036,0,0x1,0x78,64,0,0,96,0,0,56,0,0,0x28, -0374,010,0,3,192,32,0,011,04,0,01,16,0,0x1,64,0,02,1,0,18,48,32,0,0x8 -,128,01,48,0,03,010,0,6,064,0,0,193,0372,0,0x4,192,4,0,011,0x4,0,01, -16,0,1,64,0,0x2,01,0,18,52,02,0,8,0240,05,0x32,0,03,0x58,0x8,0,0x1, -012,0,02,48,0,0,152,0376,0,04,16,0,011,128,0x4,0,0,0104,18,041,0,0,72 -,0102,64,0x24,021,0x2,0,15,8,0,0x3,16,042,0,0x4,015,0,0,16,0x6,0,02, -128,26,0,01,010,0x24,0,0,160,0,02,144,0373,0,021,02,0,0x19,011,0,01, -16,0,7,014,0,02,010,0,02,24,0,05,01,0,1,224,248,0,04,192,0,011,128,7, -48,0,0,036,0,0x1,120,64,3,224,0x1,0,0x12,014,0,1,64,32,0,4,014,224, -0x1,0,0x2,48,0,0,0x1e,0,0x2,64,0,0,0140,1,0,0x1,176,0371,0x8,0,0x4, -0104,0,0x8,128,042,18,0,0,012,32,0,0,0x28,04,1,160,0,0,02,0,07,128, -0x1,0,7,04,0,01,128,0,5,014,0240,01,0,0,8,0,0,16,0,0,02,16,0,1,0x4,0, -0,0240,0,2,0242,254,0,4,192,0x28,0,011,3,192,0x48,014,0,1,48,0,0,12, -0310,0,021,17,0,0,48,012,0,0x1,132,0,04,128,0202,0101,0,0,0x8,0,0,192 -,0104,0130,0,4,192,0,2,48,255,0,4,48,0,011,128,2,224,0,0,012,0,01, -0x28,0,0,016,0240,0,0x13,074,0,0x1,0360,0,0x5,03,224,01,0x2c,0,01,224 -,0,0,0x1e,16,0,0,0130,32,0,0x1,1,0x1,0,0,184,0373,04,0,3,192,0,012, -0x4,192,0,0,16,0,1,64,0,0,014,0,0,01,0,0x8,64,2,0,0x7,48,0,0x1,64,0, -06,128,01,1,0,01,192,0,0,24,0,0x1,32,0,0x2,0101,0,01,041,254,0,4,192, -132,0,011,04,192,0,0,16,0,01,64,0,0,014,0,0,1,0,010,64,0,010,48,0,01, -192,0x8,0x1,0,04,0240,021,136,8,0,0,192,0,0,24,010,0,0,64,024,0,0,128 -,16,0,1,176,255,0,4,16,0,0x2,16,1,0,2,136,0,0,145,0104,0,01,18,010, -0140,0x48,129,0,0,32,17,0,011,0x2,0,0x5,32,0,0x1,0102,0,0,0120,136,2, -0,03,0x4,128,021,04,129,6,0,0x1,012,0,0x3,128,48,0,0,04,0,0,176,248,0 -,021,0x4,0,07,128,0,21,128,0,05,8,2,128,16,010,06,0,0x1,16,16,0,1,32, -0,0x4,152,248,0,04,192,64,0,0,192,0,3,96,0,0,014,128,7,0,1,0x1e,0xc8, -0,0,0x78,0,1,224,01,0,0x8,64,0x4,0,05,0140,128,074,0,0x1,112,0,05,013 -,224,0x1,0,0,16,06,0,1,016,0,01,0x18,0,0,017,0140,0x1,0,1,216,0371,04 -,0,3,192,0,01,64,0,3,32,0,0,4,128,02,04,0,0,0212,64,0,0,0x28,129,0,0, -160,128,0,010,128,0,06,160,1,52,0,01,144,0,05,05,162,021,02,02,0x6,0, -0x1,18,0,0x1,0x8,0,0,015,0240,0,0x2,0342,0373,014,0,4,0104,0,01,0143, -0,0x2,128,1,0x31,0101,03,0,0x1,014,0,0,013,48,0,0x1,192,0,011,128,0, -0x6,128,05,48,011,0,0,64,0,01,011,0,02,06,128,5,0,0,1,128,0,0x1,0x8,0 -,0x1,96,0x2,054,192,0,0x2,56,0376,0,0x4,0360,0,0x1,128,03,0,02,192, -0x1,56,128,0x2,0,0x1,012,128,3,41,0,01,160,0,011,64,02,0,0x5,224,129, -0x3c,0,0x1,176,0,0,6,0,0x3,011,224,0101,014,144,1,0,01,026,0,0x1,120, -16,15,8,01,015,32,0130,0376,0x8,0,0x4,128,0,01,0x3,0,0x2,128,1,48,0,0 -,4,0,01,16,0,0,3,64,0,2,1,0,16,128,0101,48,32,0,0,64,0,0,0x18,0,0x3, -012,128,01,0,0,0x8,0,2,8,0,1,0140,0,0,014,010,0101,48,0,0,0141,251,0, -04,192,2,0,0x1,03,0,02,128,0x1,48,0,0,4,0,01,16,0,0,3,64,0,02,1,0,011 -,1,0,05,128,5,52,2,0,0,128,0,0,152,8,0,2,4,0240,0x5,0x2,0,0x3,16,0, -0x1,96,0,0,0214,128,0x4,48,18,0120,0371,0,0x4,16,128,128,0x8,0,01,042 -,0,0x3,128,0x14,0x8,0104,0122,0,0,0140,0x48,2,0,0,32,145,0,0,021,0, -0x6,64,0,013,0120,24,2,64,0,0,0x8,0,02,16,02,160,0102,0,01,0212,32, -043,010,36,0,0,32,0,0,52,0,0,192,248,0,024,8,0,0x1,32,0,12,0x2,0,010, -16,0,0,128,0,0x6,0x2,0,02,4,4,0,0,16,0,1,1,0,0x3,48,0,0,0x28,0373,0, -0x4,64,32,6,0,1,24,0,4,128,7,48,0,0,0x1e,192,0,0,120,0,01,224,129,014 -,0,0x7,64,0,8,12,0,01,112,0,05,013,224,01,014,128,03,0,1,016,192,03,0 -,0,64,0,0,96,0x1,48,0,0,168,0374,8,0,3,128,02,2,0,0x1,010,0,0x4,128, -18,0x18,0,0,0112,72,0,0,0x28,36,0,0,0240,0,0,04,0,15,0x6,0,0,04,0,1, -144,0,05,5,0242,1,4,128,0x4,0,0x1,18,64,0x23,0x4,4,0,0,0240,0,0,48,0, -0,0x21,248,0,0x4,128,0102,152,0,1,96,64,0,0x4,3,192,0102,014,0,0,0x13 -,48,0,01,192,0,0,48,042,0,16,48,32,0,0,64,0,0,64,32,0,0,1,36,6,128, -0x5,48,0x1,0x2,0,01,8,0,0,013,32,0,1,192,0,01,8,0103,255,0,4,0360,0,0 -,034,010,0,0,112,0,04,128,02,224,0,0,012,128,03,0x29,0,01,0240,0,0,56 -,0,021,0x3c,0,01,176,0,0,0x6,192,0,0,0x18,0,0,011,224,0101,56,136,0x5 -,0,0x1,026,192,03,0132,32,0,1,01,015,0,0,0130,249,0x4,0,0x3,192,0,0, -24,0,0x1,0140,0,0x5,04,192,0,0,16,0,0,0x3,64,0,0x2,0x1,48,0,021,48,0, -1,64,0,0,0x18,0x8,0x3,0141,64,012,128,01,061,0,0,2,0,0x1,8,0,0,0x3,0, -3,0101,0,0x1,0202,0371,0,04,192,0x28,24,0,0x1,96,0,5,4,192,0,0,16,0,0 -,03,64,0,02,01,48,0,021,48,0,01,128,0,0,24,0,0,3,96,02,4,0240,17,48,0 -,0,4,0,1,16,0,0,013,0104,024,0,0,128,0,02,24,0372,0,0,136,064,0,01,16 -,0,0,128,0x48,041,2,34,64,0x4,136,0,0,145,4,0,1,146,16,0140,72,0202, -64,36,129,0,16,32,0,0x1,128,0,0,144,010,02,64,17,0144,042,0x8,0,0x2, -32,0,0x2,0202,0x4,0,3,0240,0,0,128,0x8,0x18,248,0,010,02,0,7,0x4,0, -031,8,0,01,16,0,0x1,64,0,0x1,0x2,0,01,4,2,128,0,8,32,0,01,0x1,1,0,0, -0x78,0375,0140,0,0,48,0,2,128,6,0,0,01,0x18,0,0,0x3,0140,0,0,014,128, -0x7,0,1,036,208,0,0,120,0,0,0x3,0140,129,0,16,128,01,014,0,0x1,0360,0 -,0x1,192,0x1,24,0,0,013,96,0,0,014,0,03,010,0,1,24,0,0x1,224,0,0,074, -0,0,0130,0372,0x24,0,0,48,17,0,0,192,0x2,2,0,0,02,010,0,0,01,32,0,0, -04,128,042,04,0,0,012,0101,0,0,0x28,132,1,32,8,0,1,4,0,05,16,02,0,0x5 -,136,0x1,04,0,0,0246,208,04,1,64,0x2,0x8,64,5,042,0,0,0x4,0,0x3,128,2 -,0,0,010,0,1,32,1,52,0,0,178,253,0214,011,48,021,0,01,0104,0x58,32, -0x1,0140,129,014,132,01,48,0x1,03,0,0x1,014,0,0,19,0x31,0,0,0214,64, -0x1,0,1,0x2,0,5,16,1,0,0x5,136,011,0x32,011,046,196,02,1,011,01,0140, -0102,0x6,128,05,48,012,0,2,152,0,1,96,021,0,0,64,0x1,48,0102,112,0375 -,192,129,074,0,01,48,0,0,034,192,2,112,0,0,14,192,129,56,0240,2,0,1, -012,128,3,0x28,0,0,016,0x24,0x1,0,01,0x7,0,0x5,144,3,0,05,232,1,0x3c, -128,0x7,240,0,0,06,128,02,112,0,0,011,224,0x1,57,0,0x3,036,04,0,0, -0x78,0,0x2,0x1,0x38,0,0,64,0377,136,01,48,32,0,01,128,24,0,0,1,0140,0 -,0,12,128,1,48,0,0,0x4,0,01,16,0,0,03,64,0,0,014,0,0,0x1,0,0,128,05,0 -,5,208,2,0,5,136,01,48,0,0,0x6,192,0,0,24,0,0,01,0140,0,0,6,128,0x1, -48,0,0x3,0x18,16,0,0,0140,0,02,0x1,0,0,8,0361,0373,128,01,48,01,0,1, -010,24,0,0,0x2,0140,0,0,014,128,1,48,0,0,04,0,0x1,16,0,0,03,64,0,0, -014,0,0,01,0,01,04,0,5,0x8,0x2,0,5,132,0x5,0x32,0,0,6,196,136,0x58, -0x8,02,0140,012,010,128,1,48,0,03,24,0,0x1,0140,0,2,01,0,0,0x1,48, -0375,0,035,04,0,06,02,0,7,0x8,0,011,64,0,14,021,0x28,0376,32,0,0,0x4, -128,0,0,16,0,0,0x2,64,0,0,0x8,0,0,0x1,32,0,0,0x4,128,0,0,16,0,0,0x2, -64,0,0,8,0,0,01,32,0,0,04,0,0x7,2,0,6,0x21,0,0x1,128,0,0,16,0,0,02,64 -,0,0,0x8,0,0,01,0,0x1,0x4,128,0,0,16,0,0,0x2,64,0,0,010,0,0,01,32,0,0 -,4,0,0,232,0376,0,0112,152,255,36,0,0,04,128,0,0,16,0,0,2,64,0,0,010, -0,0,1,32,0,0,04,128,0,0,16,0,0,02,64,0,0,8,0,0,1,32,0,0,0x4,0,15,32,0 -,0,04,128,0,0,16,0,0,02,64,0,0,8,0,0,1,32,0,0,4,128,0,0,16,0,0,2,64,0 -,0,010,0,0,0x1,32,0,2,0311,254,014,04,0,0x1,16,0,1,64,0,0,0x8,0,0,0x1 -,32,0,0,04,128,0,02,0x2,0,0x1,0x8,1,0,0,32,0,01,128,0,017,64,0,0,010, -0,4,128,0,0,16,1,02,64,0,0,136,0,0,01,32,2,0,0,128,16,021,0,0,2,64, -136,136,0,0,0343,0372,128,128,0x4,0,0,2,0x12,0,0,8,0x8,0x1,0x21,32,4, -132,128,16,16,0x2,64,64,0x8,0,0,1,32,0,0,4,132,0,0,16,16,0,16,4,128,0 -,02,2,0,0x1,012,32,0,0,32,0,0,0x4,16,0,0,16,64,0,2,8,0,4,16,24,254,8, -0,64,16,0,7,0242,0375,0,01,0x4,0,0x1,16,0,011,128,0,0x2,0x2,0,01,8,0, -01,32,0,021,32,0,0,0x4,128,0,0,16,128,2,0,3,1,32,0,1,128,0,0x2,0x2,0, -01,8,0,0,01,0,3,136,0375,0,0112,152,255,0,0x36,0x1,0,18,152,0376,0, -0x3,01,0,012,010,0,03,0140,0,0,64,0,0,32,0,024,0x2,64,0,0x2,01,0,0x2, -1,0,2,2,0,05,2,4,0,0x3,32,0,0,96,251,128,0,0,64,0,0,2,0,0,0x1,0x8,0,0 -,1,32,0,0,0x4,128,0,0,16,0,01,64,0,0x4,128,04,64,0,0,16,0,16,01,0,2, -16,0,0,32,0,0x3,8,0,0x6,02,0,0x1,1,0,1,128,128,16,16,0x38,0374,0,025, -01,0,063,152,254,0,0,01,0,01,04,0,1,16,0,0,2,64,0,0,0x8,0,0,0x1,32,0, -01,128,0,05,8,0,01,32,0,36,8,0,7,0360,0377,0,02,32,0x2,32,0,010,010, -160,0,0,129,0,3,01,0,0,0x4,0x28,0,0,17,0x8,0,23,2,0,0x1,04,0,0x7,16, -128,0,3,64,0,0,8,176,0374,0,0x8,2,0,0x29,16,16,0,0x8,32,0,012,136, -0375,0,0x2,16,0x1,32,0,1,64,0,05,010,16,0x1,34,0,3,01,0,0,0x2,0104, -128,010,16,0,16,160,0x5,0,2,02,144,0,0x2,0x2,0,01,16,0,1,16,0,0x1,010 -,0,0,0x1,0,02,128,0,0,16,48,0373,0,0,64,0,0,012,0x4,128,32,0,0x1,64,0 -,0,16,0,02,16,8,0,0,64,0,0,0x8,0,0x1,32,0,0x1,128,0,0,16,8,0,16,0x4, -010,0,0x1,128,0,4,8,0,0x1,128,0,0,02,64,0,5,0x4,0,0,73,024,011,0240, -0377,0,0x1,0x1,010,0,01,128,0,3,32,0,2,0x4,0x4,0,0,16,0,0,4,0,0x1,010 -,0,0x1,32,0,0,04,32,0,021,32,0,12,0x4,128,0,05,02,0,0,128,010,16,120, -0372,0,03,04,128,0,3,02,0,45,04,0,12,128,0,02,216,0375,0,0x29,04,0, -0x6,16,0,0x17,216,0372,0,054,64,0,025,16,0,5,216,0376,0,0,1,0,0x5, -0140,0,0x1,1,0x2,0,013,16,0,0x26,32,0,0x8,184,0371,16,0,4,64,0,011, -010,0,1,0x2,0,0x21,64,0,03,32,0,0x1,128,0,2,1,0,0x4,32,0,0,236,0374,0 -,05,16,0,36,64,0,29,136,0373,0,0112,152,255,010,0,05,01,0,0102,0262, -0374,0x14,0,73,0310,0373,0,012,128,0,5,64,0,8,64,0,0x2d,16,0373,0,015 -,02,0,0x6,1,0,2,1,0,0,128,0,36,32,0,7,128,0376,0,0112,152,0377,0,04, -32,16,0,0103,136,0375,0,0112,152,0377,0,026,64,0,0x1b,16,0,0x15,136, -0372,0,1,128,0,0x2,0x2,0,58,0x8,0,07,0x38,0375,0,017,64,0,4,02,0,0, -0x8,0,0x16,04,128,0,0,02,0,0x3,0x8,0,01,32,0,0x8,010,0,0,1,0,0x2,32, -0375,0,062,1,0,026,136,254,0,0x28,32,0,0x5,128,0,0x5,0x8,0,013,0x8,0, -0x5,16,0375,0,0x4,64,0,0x2b,02,0240,0,03,32,0,05,02,0,0x4,32,0,4,24, -0373,0,37,128,0,3,64,0,02,0x2,64,0,0x5,4,0,3,2,0,0x6,04,0,0x5,0120, -0375,0,06,16,0,017,128,0,0,64,0,023,64,0,2,64,0,0,32,0,04,02,128,0,02 -,0x2,0,0x1,0x4,0,06,232,0372,0,0x1,16,0,0x1,64,0,02,010,0,7,046,0,0, -16,0,01,0x8,0,026,64,0,0x3,0x4,128,0,0,48,0,0,4,0,0,0102,0,4,64,0,0, -128,0202,0,01,2,0,01,32,010,248,0,38,8,0,042,144,0377,0,052,32,0,036, -184,0375,0x4,0,04,32,010,0,0,01,0,0,32,4,0,1,16,136,0,0,0104,32,04, -010,1,0,02,0202,0,1,32,0,16,16,010,0,7,0x4,64,0,0x1,0x8,0,0,0x1,0,0x3 -,042,0,04,16,192,0372,0,061,64,0,0,0x8,0,0,1,32,0,01,0x2,0,0x8,16,0,0 -,2,128,64,16,0,0,248,248,0,0x5,0124,0x4,128,0,1,32,02,0,01,010,16,01, -042,64,4,136,0,0x3,0104,0,1,16,0,16,010,025,0,0,16,0,0,2,64,0,0,8,0,0 -,02,72,0x28,0,0,16,024,0x2,0,0,010,0,0,012,031,0,0,0x1,32,0,0,05,16, -0x28,0375,128,0,0,32,0,03,8,5,012,160,16,164,02,0,0,144,015,0,0,0101, -32,0x28,05,0x1,0,0x1,0x4,2,0x4,0,015,01,0,0x1,128,0102,128,041,04,0,0 -,0x2,16,0202,0,0x1,024,32,0,01,0x1,34,160,0,0x1,64,0,0,013,32,0,0,024 -,136,043,0,0,0x8,208,0372,128,0,0x5,02,04,0,0,32,32,02,02,0,0,16,8,0, -0,024,128,8,0x4,0x2,0,01,4,8,0,021,128,0,0,01,0,7,16,0,8,64,0,0,32,0, -0,0x4,64,0,01,16,010,249,0,01,16,0,0x5,1,0,0x5,32,0,24,0x2,0,0x5,01,0 -,0x1,0x8,04,0,0x8,1,0,2,2,0,0x2,128,64,0,0x1,152,0375,0,0x25,010,0,0, -8,0,041,144,0377,0,046,0x1,0,042,136,0376,0,015,0x4,0,0x1,0x8,2,0,0, -04,0,0,2,0,23,128,0,04,128,0,0x5,32,0,13,0x18,255,04,0,0x12,64,32,0,0 -,32,0,0x1,32,64,01,0,026,1,0,06,16,128,0,0,64,0,0,16,0,8,0361,0377,0, -41,1,0,036,128,042,252,0,0x1b,4,0,011,48,0,34,168,251,0,0x28,32,0,32, -152,0375,0,0112,152,255,0,0,64,0,14,5,8,0,0x7,06,1,0,45,224,252,0, -0x14,18,0,0,128,0,23,32,0,0x1,16,0,07,1,0,04,0x2,0,03,010,0,2,0240, -254,0,0x26,2,0,0,02,0,0,0140,0,036,248,251,0,0101,0x4,0,07,216,0373,0 -,7,64,0,0,0x8,0,0,0214,0x4,0,6,64,0,34,0101,8,0,3,16,0,3,8,04,0101,32 -,0x1,52,0,0,0360,0377,0,0104,16,12,136,64,0,0x1,0x48,251,0,013,017,4, -0,6,192,0,043,0x4,0,0x3,48,0,0x3,56,16,014,224,0,0x2,128,0371,0,0x8, -64,0,0,32,0101,0,7,64,0,042,128,0,4,16,0,03,8,0,0,0114,041,0x1,0,0, -042,48,253,0,010,0x3,0,0,0x21,0,011,139,0,041,128,0,0x4,192,32,0,03, -0101,136,010,1,0,0,021,8,0376,0,07,192,0,0,0172,0,0,14,0,7,192,03,0, -041,7,4,0,03,240,0,03,24,0,0,3,0240,0,0,014,0,0,64,252,0,011,01,0,012 -,3,0,34,0x8,0,3,192,0,5,010,128,0,02,208,253,0,8,32,0,0,0101,12,0,07, -64,03,0,041,64,0,4,208,0,04,129,04,0x4,0x1,0,0,0x4,176,248,0,06,0x12, -1,0,2,128,041,0,010,0140,64,0,013,042,0,0x6,021,0,010,104,0,013,8,0x4 -,0,0,32,0,0,064,0,0,0x4,251,0,6,8,04,0,0x1b,014,0,6,06,0,026,64,0,0x4 -,248,253,0,06,016,0,0x3,3,0,011,0x78,0,12,014,0,06,6,0,010,120,16,0, -015,96,1,0,0,16,160,0377,8,0,05,18,0,03,0x1,0,0,32,0,7,0x8,021,0,013, -012,0,06,05,0,0x8,010,01,0,013,012,0,0,0240,0,02,195,0372,0,06,16,0, -03,0114,0,012,0202,0,013,012,0,06,05,0,010,0140,04,0,013,2,0,0,192,0, -01,17,0161,255,0,6,012,0,03,016,0142,0,0,0x1,0,06,16,0,0x1e,0170,16,0 -,012,24,64,0,0,32,01,014,0,0,168,0377,4,0,5,8,0,0x3,12,0,0,128,0,7,96 -,0,054,32,0,0x1,1,0,1,0261,249,0,6,16,0,0x3,13,128,021,0,0x7,0140,64, -0,29,96,132,0,012,64,04,0,0,128,0,1,0x4,168,0372,176,0x21,0,04,0x12,0 -,01,8,0,0,0214,0x4,0,5,0x18,0,0x1,96,64,01,32,0,0x1c,0202,0,7,2,64,32 -,014,014,128,32,0,0x1,0x1,224,0377,0,06,010,0,014,0x8,0,054,03,0,02, -010,0,1,0x8,24,0374,0,0,64,0,4,0x16,0,0x3,017,0,0x6,036,0,01,0x78,0, -036,120,0,011,010,0,0,0142,0,0,03,0144,01,014,0,0,216,0374,12,8,0,0x4 -,012,0,1,0140,32,129,4,0,0x5,02,011,0,0,0x8,024,128,0x8,32,0,032,104, -0,012,023,0,0,0202,129,160,0,0,4,0,0,0232,254,0x4,011,0,04,014,0,0x2, -041,0,013,0202,64,0x4,0,27,0140,0x4,0,7,128,0x8,013,64,0101,0x2c,196, -0,0,48,0,0,64,0373,224,0101,0,04,18,0,1,24,0,0,14,0,06,28,0,1,16,0,0, -03,0140,0,0,1,0,07,16,0,0x6,010,0,0x8,120,16,0,07,036,192,128,24,0,0, -2,32,1,56,010,0x78,255,4,0101,0,0x4,0x8,0,016,0140,0,1,128,129,0,010, -0x2,0,0x6,0x1,0,024,03,0101,0,2,01,48,0,0,57,254,0,0,16,0,04,16,0,0x2 -,0101,014,0,0x6,24,0,01,0140,010,014,01,16,0,0x8,4,0,6,2,0,011,021,0, -0x8,0x2,011,0140,0104,0,0,129,0,0,48,0,0,0360,0371,32,0,012,0x2c,16,0 -,0,024,0,4,0x3,0,0x1,64,0,013,16,0,06,010,0,5,0x2,64,16,0152,0,03,024 -,0202,6,0,03,16,8,014,0,0,32,0,0,0x34,0,0,208,248,0,14,32,0,024,014,0 -,0x6,06,0,0x8,0140,0,0x3,32,32,06,0,0x4,0x1,0,05,64,249,0140,0,012, -017,0,0x1,0x2c,0,0x3,6,0,01,0x78,0,27,6,0,0x1,0171,0,0x3,16,0,0,0x6,0 -,0x2,192,0,0,64,0,01,0140,1,48,8,224,251,0x28,0,012,129,0x4,0,0,024,0 -,03,0x2,0,0x1,104,0,12,012,0,6,5,0,0x5,02,0,0,32,104,0,03,32,0,0,0246 -,0,0x2,64,0,0x1,0202,0,0,0240,0,0,176,0,0,0172,248,128,01,02,0,013, -152,32,0,0x2,24,04,0,0,0140,0202,0,032,152,04,32,0140,0,03,16,0,0,06, -2,0,02,0x3,0140,132,0,0,192,0,0,48,0,0,0x58,0376,224,0x1,0,011,016,0, -01,32,0,0x3,0x1c,0,1,112,0,014,4,0,06,0x2,0,0x5,034,192,0x2,0161,0,3, -0x2c,128,0x7,0,0x2,192,3,0x1a,0,01,32,1,074,0x8,0310,0377,132,01,0,12 -,32,0,0x3,0x18,0,1,0140,16,0,013,04,0,0x6,2,0,5,0x18,0,1,0142,0,03,16 -,0,05,0x3,0140,32,0,01,0x1,48,0,0,49,248,128,0x1,0,011,014,0,0x1,16, -012,0,0x2,0x1a,0,1,96,4,0,013,2,0,6,01,0,05,26,0,0,16,104,0,0x3,32,0, -0,026,0x2,0,02,3,32,0,1,128,0,0,48,8,0,0,0374,128,0121,0,011,128,0x1, -0,0,0x4,0,0x4,0x3,0143,0,0,64,0,02,4,0,07,010,0,06,04,0,5,0130,0,1, -0x28,36,0,0x3,128,0,03,64,3,8,0,01,32,0,1,0x1,184,0374,0,27,48,0,017, -0x1,0,05,0x18,0x8,0,014,3,0,0,32,0,3,8,0,0,0377,224,0101,0,011,03,0,1 -,054,0,3,0x6,192,0x3,120,0,12,4,0,0x6,010,0,0x5,0x1e,0,0x2,64,0,012, -64,0,01,0140,01,014,0,0,0x48,0371,0x28,04,0,011,01,0,01,024,0,3,2,64, -32,0151,0,4,16,0,0x6,16,0,6,8,0,5,0x1a,0,0x8,128,0,04,04,0202,0,0, -0240,0,0,4,0,0,0163,0376,0,0,8,02,0,010,054,0,1,152,32,0,02,0x58,04,0 -,0,0140,0202,0,03,0102,2,0,5,0x2,0x1,0,05,1,0,05,24,0,0x2,2,0,4,16, -0x2,0,2,013,041,129,0,0,192,0,0,48,0x2,0231,0375,64,0,012,016,02,0,0, -32,0,0x3,28,128,0x3,112,0,0x3,014,128,0x2,0,5,64,0x1,0,014,28,0,0x1, -24,16,0,03,128,1,0,0x2,192,03,24,0,01,32,01,56,010,208,0373,132,01,0, -011,014,0,0x1,32,0x8,0,02,0x18,0,1,96,16,0,032,0x18,0,010,0x6,02,0, -0x2,3,32,0,0x2,01,48,0,0,193,248,128,01,2,0,010,015,0,0x1,16,0x2,0,02 -,0x1a,0,0,0x3,0140,01,0,2,128,32,0,025,0x18,0,02,16,0,4,64,0,0x3,0240 -,32,0x24,0,0,128,0,0,48,0,0,160,253,144,0121,0,0,128,0,0,16,0,0x1,64, -0,2,128,0x1,0,0,164,32,0,0,208,0,0,0x18,64,0,0,0140,64,0,0x3,128,2,0, -05,64,1,0,12,18,0,1,0x8,0,1,32,0,5,02,64,16,0x28,0,0x1,32,0,0,4,6,24, -0374,0,14,16,0,0x4,8,0,0,0140,0,034,8,0,12,131,0,0,32,0,0x4,0x28,0372 -,224,01,01,0,0,06,4,64,0,4,0x3,0,01,0x2c,0,03,036,0310,0,0,0170,0,5, -0x4,0,6,02,0,12,16,0,0x1,24,0,01,0140,0,0x8,0142,0,1,0140,1,0,0,16,32 -,0373,0x2c,010,0,6,64,0,0x1,01,0,01,024,0,02,64,0202,64,0,0,104,0,27, -0x48,0x8,0,0,010,0,1,32,32,0,06,011,32,021,0,0,0240,0,0,32,02,146,248 -,04,010,0x2,0,0,6,0x1,0104,0,2,1,0,0,014,0,0x1,0x28,0,02,0102,0,1,163 -,0140,0202,0,0x4,0x1,0,05,128,0,015,0120,16,0,0,0140,02,0,0x1,132,0, -0x4,64,0x8,0143,0140,16,0,0,192,0,0,0240,16,208,0374,64,0,0x1,128,1, -48,0,1,192,0,0x2,14,0x2,0,0,32,0,1,48,0,0,034,128,0x3,112,0,05,3,0,05 -,128,1,0,014,14,0,1,112,16,0,0,64,0,0x5,06,192,03,0x78,0,0x1,32,01,12 -,0,0,192,252,132,129,0,1,6,0,0x4,01,0,0,014,0,01,32,0,04,64,3,0,0,16, -0,0x1a,16,16,0,0,0140,0,0x1,128,129,0,0x4,0x18,16,02,0140,0,02,01,48, -0,0,0x29,0372,128,011,0,01,0106,196,16,0,1,043,0,0x1,13,0,1,32,0,0x2, -0202,24,64,3,0,0x6,04,0,0x6,2,0,014,8,0,1,96,0,2,16,0,0x4,24,128,041, -0141,0x14,0,0,128,0,0x1,041,216,0377,32,0,0,04,0,6,0x8,0,0,054,48,0, -0x6,0103,0,0,8,0,0,1,0,2,128,0,0x6,64,0,011,128,0x16,16,72,02,64,03, -104,0,0,0101,0x28,0,3,16,0,0x1,64,8,014,0,1,32,0,0,0264,0x8,72,0375,0 -,035,02,0,6,0x1,0,012,194,0,0x3,0141,0,012,03,0,0x4,32,0,0,64,0377, -128,01,48,0,6,96,0,0,15,4,0,0x5,06,192,0,0,0170,0,0x4,128,0,0x6,64,0, -014,128,0x6,0,0x1,0x2,0,01,0144,0,3,48,0,2,03,0,02,0140,01,48,0,0,24, -0372,136,1,48,0,07,32,0101,0,0,16,01,0,03,02,64,0,0,0151,0,01,4,0,011 -,0x4,0,012,128,0,0,4,02,0,0,32,0,01,128,32,0,3,16,16,0,0x1,19,01,0,01 -,0240,0,0,48,011,063,0371,128,0101,0,0,021,0,0x6,041,0,01,136,0,0x4, -0130,0,0x1,0140,0202,32,4,0,011,8,0,6,0x3,0,2,0102,196,136,152,0,0, -0x21,02,02,136,128,0105,0,0x3,0102,0,1,34,2,36,0,0,192,0,01,04,021, -0372,224,0x1,014,0,06,24,0,0,016,224,1,0,0x4,28,132,0,0,0172,0,0,3,0, -0x15,128,07,176,0,0,036,196,3,24,16,03,196,01,0,02,32,0,01,192,0,0,24 -,0,0x1,32,1,12,0,0,0322,0375,132,0x1,0,17,0x18,64,0,0,1,16,0,027,2, -0101,0,0,24,0,0,01,0,02,136,01,0,0x2,192,64,0,01,0x2,0140,0,0x2,01,0, -0x1,0104,248,128,021,02,0x4,0,6,0101,014,0,0,32,0,4,0x1a,0,0,0x23,0, -01,0x2c,010,0,025,0x24,128,64,032,0,0,02,1,16,64,0240,0x1,0,03,010,0, -01,011,0141,36,0,0,128,0,0x1,010,0310,0371,32,0,0,04,128,0,0x7,128, -161,5,0,0,128,0,0,192,0,0,152,16,0,0,0140,64,0,02,176,0,15,160,133, -0x34,128,0x6,208,132,26,0,01,104,0,0,0101,0x28,0,0,0x34,0x6,0,0,16,0, -0x1,64,16,0x8,0,0,128,32,1,52,0x21,010,0372,0,12,128,1,0x1,0,2,64,0, -01,128,0,05,16,0,16,48,0,0,0x6,0,1,0x18,0,1,96,0,012,0x3,0x1,0,01,136 -,0,0,48,0,0,8,0371,0140,0,01,128,01,0,6,3,128,01,01,0,1,240,64,036, -0xc8,0,0,120,0,03,074,32,0,6,012,0,0x6,5,0,0,61,128,0x7,0,0,64,24,0, -01,0140,0,01,0144,0,01,16,0,0,48,0,2,03,2,0,0,0x3,96,0x1,48,010,16, -248,0x28,0,0x1,144,0,0x7,1,128,021,0,02,0x12,4,0202,64,0,0,8,16,0,02, -0x4,02,04,0,0x5,16,0x2,0,05,8,0x8,0x34,128,6,0,0,0x8,0x18,0,1,0140,0, -0,128,32,0,1,02,0,0,16,0,0x2,013,0,0x1,1,160,0,0,48,2,02,0373,128,145 -,176,16,0x6,0,06,0214,0202,17,0x1,0,0,16,0x2,0,0x2,147,0,0,0202,0,4, -02,0,05,16,1,0,05,136,16,061,0,0,6,64,136,0,0,01,0,0x1,1,132,128,0121 -,16,042,0,0,192,0x28,0,1,012,0,0,0x12,0,0,192,0,0,48,042,64,0372,192, -01,12,128,07,04,0,5,016,224,1,0,0,128,01,224,0,0,034,128,0x3,16,0,0x3 -,56,0,0,7,0,05,144,3,0,0x5,232,01,56,128,07,0360,0,0,0x6,010,0,0,0x18 -,16,03,0344,1,074,0,1,224,0,0x1,192,128,24,0,0,02,0x28,1,074,0,0,216, -249,132,1,0,0x1,06,0,06,014,0,0,1,0,0x1,6,0,3,3,96,0,04,128,5,0,0x5, -208,0x2,0,0x5,136,0,0,48,0,0,0x6,64,0,0,0x18,4,0,3,136,01,16,0,01,192 -,0,02,0x2,0140,0,0,014,136,0,0,32,0,0,0141,254,128,1,128,32,06,0,0x6, -015,0,0,16,1,0,0,16,196,0,0,0x18,64,03,0140,0202,0,02,48,0,0,4,0,0x5, -0x8,02,0,0x5,4,129,48,0,0,6,128,64,0130,0,0x3,64,160,0x1,32,16,0,0, -208,0,01,128,1,0141,8,054,0,0,01,0,0,042,0,0,0375,0,29,4,0,0x6,02,0, -027,64,0,012,184,251,32,0,0,4,128,0,0,16,0,0,2,64,0,0,010,0,0,4,32,0, -0,0x4,128,0,0,16,0,0,0x8,0,0,129,8,0,0,01,32,0,0,0x4,0,7,02,0,6,041,0 -,0,04,128,0,0,16,0,0,4,64,0,02,01,64,0,0,4,128,0,2,02,64,0,0,8,0,0,01 -,32,0,0,4,0,0,0xc8,248,0,067,64,0,021,152,251,054,0,0,04,128,0,0,16,0 -,0,2,64,0,0,0x8,0,0,0x1,32,0,0,04,128,0,0,16,0,0,2,64,0,0,8,0,0,1,32, -0,0,04,0,017,32,0,0,04,128,0,0,16,0,0,02,64,0,0,0x8,0x1,1,32,0,0,0x4, -128,0,0,16,0,0,0x2,64,0,0,8,0,0,0x1,32,0,0,04,0,0,0363,248,0104,0,0x2 -,0x1,0,0x1,0x8,0,03,32,0,2,02,0,01,02,64,0,0,8,16,0,03,128,16,0,021, -042,0,0x3,05,0,0,16,0x4,0,1,64,0,07,16,0,0,32,64,0,0,128,0,0,137,0377 -,0,01,05,0,1,16,0,0x1,64,0,0,010,0,1,36,0,1,144,0,01,64,0,0,010,0,0,1 -,64,01,32,0,021,32,0,0x3,16,0,0x1,64,0,0x1,16,1,32,0,0,4,128,0,0,16, -32,0x2,64,0,0x3,04,0,0x1,16,012,248,04,0,73,0234,255,0,1,4,128,0,0,16 -,0,0,02,64,0,0,8,0,0,64,0x28,0,0,0x4,145,0,01,132,128,16,0120,0,1,0x1 -,32,0,1,041,0,016,32,0,0x1,193,32,18,0,0,0202,0x48,0,0,010,0,0,0x1,32 -,0x28,0x4,128,0,0,16,024,0x2,64,16,011,0,0,64,041,0,1,05,0x58,0375,0, -0102,02,0,0,16,0,4,136,0375,0,27,32,0,0,128,0,06,64,0,014,16,0,0x8,4, -0,013,104,248,0,013,1,16,0,05,0x2,0,45,010,0,06,48,0377,0,18,1,0,0x36 -,152,0376,0,013,2,0,4,32,0,0,04,0,06,16,0,01,02,0,6,0x1,0,0x15,1,0,03 -,0x1,0,0,32,0,4,232,254,0,013,8,0,4,128,0,0,16,0,0,02,0,023,010,0, -0x19,0x8,0,01,32,0,0,48,0376,0,14,4,8,0,0,16,0,02,128,0,0x1,4,0,34, -128,0,0,16,0,0x4,16,0,0x4,64,0377,0,010,128,0,051,02,0x2,0,0,32,0,01, -042,0,0x1,16,0,0,64,32,0,5,128,0,0,16,0,0,208,0375,0,0x6,0120,0,0, -0120,2,0,3,0x8,025,0,0,32,0,0x2,0120,01,0,0,052,0,0x19,0x2,16,0,0,232 -,0,0,128,43,0,0x1,32,1,176,0226,0120,0,02,32,0x28,32,0,0,164,0,0,184, -0373,0,02,34,0,3,0x12,128,0,0,0104,145,8,0,0,16,011,0,02,2,0,07,42,0, -016,128,0,5,16,0104,0x2,0,0x4,48,0,0x2,0x2,0,04,031,128,046,245,0x26, -224,0371,0,011,02,0,03,16,32,0,013,8,0,016,32,0,06,16,0,0x5,16,0,011, -128,0,0,4,0,0,144,0372,0x8,0,0x6,0x4,0,42,2,0,0,1,0,4,0x4,0,8,4,0,0, -64,16,0x8,0x14,0371,0,035,0x4,0,0x6,02,0,043,248,0373,0,1,02,0,0x14, -128,0,0x4,2,0,6,0x1,0,16,128,0,012,32,0,0x5,128,0377,0,23,64,0,0x2b, -64,0,4,152,0377,0,0x3,16,0,6,02,0,61,168,252,0,7,128,0,48,128,0,01,16 -,2,64,0,0,010,0,0x3,4,0,0x1,16,0,0,248,0373,0,04,02,0,7,64,0,065,64,0 -,4,248,251,0,015,64,64,0,011,02,0,0x28,4,0,0x4,0x8,56,0373,0,037,1,0, -05,128,0,041,128,0242,0375,010,0,025,010,0,011,0x4,0,06,0x2,0,014,010 -,0,015,6,0,02,208,249,0,1,0x1,0,0107,136,0377,0,013,010,0,0x6,16,0,0, -2,0,06,0x2,0,0x1,16,0,0x3,0x1,0,35,176,0376,0,042,32,0,6,16,0,0x5,32, -0,0x17,136,0376,0,34,64,0,6,32,0,0,128,0,27,128,176,0371,0,036,16,0,6 -,010,0,0x1b,0x8,0,05,0104,0372,0,23,041,0,0x2a,0x8,0,05,0x28,0376,0,0 -,128,0,0,010,0,6,16,0,0x5,01,32,0,03,32,0,0,02,0,01,010,0,0x17,64,0, -0x2,01,0,0x8,01,0,05,0x78,0374,0,042,16,0,06,010,0,017,0x4,0,13,0120, -0372,16,0,0,16,0,1,96,0,02,0x1,0,0x2,128,0,07,1,0,01,0x4,128,0,0x1b, -16,0,0x1,128,0,0,16,0,0,0x2,64,0,0,12,0,3,4,0,0x1,24,0,0,0x28,248,0, -0112,152,255,0,015,32,64,0,17,2,0,0x6,01,0,0x5,8,0,0x1,32,0,13,4,0, -0x5,04,32,248,0,01,16,0,1,01,0,03,32,0,05,02,64,0,0x1,64,0,2,04,0, -0x28,04,0,0,128,0,04,010,252,0,024,0x2,0,6,32,0,15,4,0,0x1,16,0,0,0x2 -,64,0,0,010,0,4,128,0,0x5,010,144,0,0,32,0,03,0140,0377,02,0,64,64,0, -0x3,0x1,0,2,232,0375,32,0,8,0x1,0,2,132,0,7,01,0,02,128,0,27,01,0,7, -64,0,0x4,04,0,0,128,16,154,0371,0,0x1,32,0,2,32,0,02,010,0,02,1,0,0, -0x8,0,036,16,0,02,8,0,01,32,0,0x6,32,0,1,04,128,0,0x4,0x8,010,112,251 -,16,0,0,16,0,025,0x1,0,025,32,0,0x3,64,0,0,2,0,0,0x4,32,0,3,01,0,01, -02,0,4,64,0,1,0232,254,0,1,0254,0,02,64,0,02,16,012,0,0,64,0x5,0240, -16,0,02,208,0x2,0,0,64,01,0x1,0,0x2,05,0,0x3,16,0,6,8,0,4,48,0,0,128, -0x2,04,64,012,18,012,0x1,32,0,0,160,0,0,160,36,0,1,24,0,0,0101,1,0,0, -128,0x28,011,025,104,248,0,01,4,012,0,0x1,164,0,0,0x15,0,0,32,0106, -129,8,0,0,128,136,0,0,64,128,0,0,128,0,0,32,1,128,0x8,0,0,16,0x8,0, -016,32,0,0,024,0,0,02,16,136,16,0,0,0102,0120,0,0,0x8,1,0,0,132,0,3, -128,0,0,147,224,0x48,014,0240,04,0x4,43,0x78,252,0,2,8,0,0x1,32,0,0, -0x4,0,0,8,0,4,8,0,0,64,0,3,32,0,03,16,16,0,16,16,0,0,02,0,16,129,16,0 -,0,01,128,0,1,0x8,160,255,0,063,0x8,64,0,0,34,0,0,04,04,0,6,128,0,0, -32,0x8,0x2,0,03,248,0373,0,32,64,0,0x6,32,0,32,216,0375,0,043,0x1,0, -0x5,128,0,6,16,0,0x16,144,0376,0120,0x4,64,0,0x6,128,0,05,010,0,0,01, -0,04,16,0,01,64,0,16,4,0,03,0x2,0,0x1,0x8,0,01,32,0,012,010,0,0x4, -0124,0371,0,49,64,0,2,01,0,01,04,0,16,0xc8,0376,0,0112,152,0377,0,042 -,128,0,0x6,64,0,04,0x4,0,24,0120,255,0,1,4,0,0x1,16,0,01,64,0,3,32,0, -0x7,0x4,0,01,1,32,0,024,128,0,010,32,0,0x1,128,0,0,16,0,0,02,0,3,0x1, -0,1,04,128,232,248,64,0,041,16,0,0x7,16,0,8,04,0,19,152,251,0,1,1,0, -42,0x2,0,0,32,0,1,1,32,0,0,0x4,0,01,16,0,1,64,0,8,16,0,3,152,0373,0, -023,32,0,07,4,0,16,128,0,18,02,0x2,0,0x5,112,0377,0,15,4,0,015,32,0,6 -,16,0,12,02,0,014,64,64,0,0x5,0310,0371,0,12,4,0,0x4,64,0,0,72,0,0x6, -16,0,0x1b,32,0,01,128,0,0,16,0,0x5,0x1,0,01,4,0,0,168,0371,0,01,48,0, -0x8,128,16,0,0x1e,0240,01,024,0,01,16,0,0,012,0141,0,0x2,0x1,0,8,023, -0,6,112,251,0,02,16,0,052,32,0,03,010,0,016,0x1,0,05,16,253,0,01,074, -0,010,03,0,037,128,0x1,45,0,0x1,176,0,0,026,192,2,0,0x1,013,0,0x7,192 -,03,0,6,0360,0376,0,1,04,5,0,07,0x1,0,32,8,024,0,1,0120,0,0,012,64,1, -0,0x1,0x5,0,07,64,0,0,1,0,0x5,0xc8,253,0,013,054,16,0,037,0x8,25,64,0 -,0,0140,0,0,149,144,0x1,4,0,0,06,16,0,15,0x48,0372,0,1,56,0,0x8,017,0 -,037,224,0x1,36,0,0x1,144,0,0,16,64,0x2,0,1,011,0,7,128,03,0,0x6,224, -0374,0,013,014,0,037,128,0x1,041,0,01,128,0,0,16,0,0,0x2,0,01,8,0,16, -0360,251,0,01,48,0,0x8,014,0,0x1f,128,05,16,011,0,0,64,0x24,0x8,011, -145,0,0x1,0104,0x2,0,7,03,0,06,176,249,0,4,192,2,0x1,0,0,03,0,1,01,0, -010,32,96,014,128,16,0,011,042,0,0x6,17,0,0,04,0,1,16,0,0,2,0141,0,2, -0x1,0,16,16,0376,0,011,0x2,0,013,01,0,014,014,0,0x6,06,0,034,0140, -0377,0,04,240,0,1,192,3,0x1,0,0,12,0x4,0,6,192,0,0,120,0,0,3,0,012,12 -,0,06,06,0,0,054,0,1,176,0,0,026,192,2,0,1,013,0,16,128,251,0x8,0,3, -16,04,01,64,32,0,01,64,0,07,64,0,0,0x8,0202,0x1,0,012,012,0,0x6,5,0,0 -,024,0,01,0120,0,0,012,64,0x1,0,01,5,0,16,0242,0377,0,013,0214,2,0,7, -013,0,01,0x2c,4,0,011,012,0,6,5,0,0,0x18,64,0,0,0140,0,0,149,144,01, -0x4,0,0,0x6,16,0,017,216,0373,0,0x4,224,0,1,128,3,0,1,017,0,0x7,192,3 -,0162,0,0,15,0,0x14,0x24,0,1,144,0,0,16,64,0x2,0,0x1,011,0,16,0130, -0373,4,0,012,12,0,0x8,03,0,0x1,014,0,0x14,32,0,01,128,0,0,16,0,0,2,0, -01,010,0,16,185,248,0,0x4,192,0,2,0x3,0,1,0214,02,0,7,0x3,96,0,0,12,0 -,0x14,16,010,0,0,64,32,0x8,0x2,129,0,0x1,4,0x2,0,017,48,0375,0,02,02, -0,6,0x4,128,144,145,0,0x1,0x16,010,0,0x1,64,013,0,01,128,144,5,176,64 -,0,16,0x4,0,0,64,24,0,0,2,0141,0,0x1,132,01,0,2,128,0,12,0360,0374,0, -0x2,16,0,0x6,32,0,011,0x3,1,0,2,128,0,056,0x18,0376,0,0x1,014,0,6,24, -0,0,0x3,224,01,0,0,128,07,0,03,02,0x2,0,0,3,224,01,074,0,021,054,128, -1,176,0,0,026,192,2,0x18,0,0,013,0,16,32,0371,8,0,0,04,0,06,010,0,0, -01,32,010,2,128,128,0,0x3,17,0,1,1,32,32,0x4,041,0,16,0x14,128,0,0, -0120,0,0,012,64,1,0x8,0,0,5,0,0x3,0240,0,013,0102,0375,0,01,48,32,0, -05,0140,0,0,0114,0,8,35,01,0,0,0114,0,0x14,24,64,6,96,0,0,149,144,01, -0144,042,0x6,16,0,0x2,64,0,013,0130,0371,0,01,074,0,6,0170,32,017, -0xc8,01,0,0x1,0x7,0,02,192,0,02,017,196,0x1,0x38,0,021,36,128,0x7,146 -,0,0,16,64,2,0x78,0,0,011,0,0x2,128,0x1,04,0,012,176,0372,04,0,0,48,0 -,6,0140,0,0,014,0,8,0202,0,1,014,0,012,18,0,0x6,011,0,0,32,0,0,06,128 -,0,0,16,0,0,02,0140,0,0,010,0,3,6,0,013,217,0376,0,0x1,064,0,06,0140, -0,0,014,128,0x1,0,01,6,0,03,32,0,1,014,128,0x1,48,0,07,2,0,06,0x1,0,0 -,144,010,0x6,64,042,72,32,137,0140,0,0,36,0x2,0,0x2,16,02,0,012,104, -252,128,1,0,0x1,64,0,05,4,128,16,0,0,48,0101,6,192,0x48,0,0,64,8,0140 -,014,128,144,5,0x32,06,0,6,0x8,0,0x6,4,0,0,04,0,0x1,16,0,0,02,0141,0, -0x2,0x1,0,02,0102,6,0,2,0141,0x23,0x1,0,0x5,120,0373,0,0,128,0,02,2,0 -,04,32,0,0x5,2,0,3,1,0,12,18,0,0x6,011,0,16,0x2,0,2,02,0,06,168,253, -224,1,0,0,128,0x1,0,0x4,24,0,0,3,0,1,074,128,7,0360,0,2,01,0172,0,0, -0x3,224,0x1,074,0,021,054,0,1,176,0,0,026,192,2,0,01,013,0,01,014,128 -,0x7,0,1,6,0,0,3,0,6,184,248,0x28,32,0,0,128,0,05,010,0,0,0x1,0,1,04, -0241,32,24,16,0,01,0x12,0x8,129,01,32,128,04,0x21,0,06,8,0,06,0x4,0,0 -,0x14,0,01,0120,0,0,012,64,1,0,1,5,0,0x1,04,128,0,0,04,0,0,0x2,0,0,34 -,0x1,0,5,02,0377,0,03,0106,0x4,0,0x3,0140,0102,0214,04,0,0x7,128,0, -0x1,0114,4,0,011,2,0,06,01,0,0,0x18,64,0,0,0140,0,0,149,144,01,04,0,0 -,06,16,0,0,48,042,0,02,0x18,16,17,0x4,0,5,0140,0375,192,1,0,0,128,7,0 -,04,120,0,0,017,0,01,56,0,0,0x7,224,0,01,192,3,112,0,0,15,192,1,56,0, -7,04,0,06,02,0,0,36,0,1,144,0,0,16,64,0x2,0,01,011,0,0x1,0x3c,0,0,7,0 -,0x1,036,192,0x3,0,6,112,249,0x4,0,2,06,0,04,0140,0,0,014,0,010,1,0, -01,12,0,012,8,0,0x6,0x4,0,0,32,0,0x1,128,0,0,16,0,0,02,0,01,010,0,1, -48,0,0x3,24,0,0,0x3,0,06,0241,0374,128,0x1,0,1,06,0,04,0140,0,0,014,0 -,0x1,48,0,0,06,192,0,2,131,96,0,0,12,128,1,48,0,15,8,0,0,16,012,0,0, -64,0x28,136,16,0241,0,0x1,132,2,0,0,48,128,0x6,0,0x1,24,0,0,0x13,1,0, -5,168,0373,128,01,0,0x8,4,128,16,0,3,192,72,0,0x1,32,0,0x1,0x21,0,012 -,012,0,010,4,0,1,16,0,0,0x2,0141,0,0,104,0,0,0x1,0,07,64,013,0,0,132, -1,0,03,0254,248,0,0,128,0,0x8,32,0,012,01,0,0x1,4,0,011,32,0,16,0140, -32,0,011,02,1,0,0x5,144,249,224,01,0,0x7,24,0,0,3,0,04,240,0,01,192,0 -,02,0x4,010,0,011,0x2,0,06,5,0,0,054,0,01,176,0,0,026,192,0x2,96,0,0, -013,0,0x8,03,24,0,0,12,010,0,02,16,0374,0x28,0x8,01,0,0x6,0x8,0,0,1,0 -,04,16,132,0,0,64,0,2,0x48,0,012,02,0,010,024,0,1,0120,0,0,012,64,0x1 -,0140,012,0x5,0,8,34,011,0,0,128,0,03,0343,0377,0,011,0140,0104,0114, -8,0,0x7,03,0,0x2,16,0,0x2,2,0,5,32,01,0,05,02,0,0,24,64,0,0,0140,0,0, -149,144,0x1,4,01,06,16,0,0x7,011,0144,32,014,010,0,0x2,217,0373,192,1 -,0,07,120,0,0,15,0,4,224,0,0x1,192,3,2,0,0,017,0,024,36,0,01,144,0,0, -16,64,2,24,32,011,0,0x7,192,3,0170,0,0,017,0,03,194,0375,0x4,0,010, -0140,0,0,014,0,0x8,03,0,1,0x4,0,3,02,0,06,01,0,0x7,32,0x8,0,0,128,32, -16,0,0,0202,32,0,0,8,0x2,0,7,03,0140,0,0,014,02,0,2,024,248,128,01,0, -0x7,96,0,0,12,0,0x4,192,0,2,0x3,0,1,12,2,0,0x1,128,010,0,5,64,04,0,07 -,16,2,0,0,64,8,8,8,041,0,0,129,132,0,8,023,0141,0,0,054,0,3,0x38,255, -0,4,208,0,03,010,0,0,041,0,6,24,0,0,32,0,0x1,0x2d,0,0x12,32,8,0x6,128 -,6,16,0,0,02,0141,0,02,1,0240,1,4,0,0x2,010,01,0,3,128,0,0,16,0226,64 -,0114,0374,0,04,192,128,0,0x3,64,0,0,4,0,06,16,0,0,1,0,0,12,0x4,0,0x2 -,0x1,0,05,128,0,012,0x6,0,7,128,0x1,0,012,0x4,0,0,32,0,0,0x38,0372,0, -4,192,0,3,32,64,04,010,0,5,036,192,0,02,010,8,0,02,010,0,6,0x4,0,7, -054,0,0,06,176,0,0,026,192,2,0,01,013,224,01,0,0x2,48,0,5,03,0140,0,0 -,48,0,0,0x28,253,0x8,0,3,192,024,0,02,64,2,0x48,0,6,0202,0140,0,0x2, -0104,0,03,04,0,06,02,0,6,0x8,026,0,0,0x6,0120,0,0,012,64,1,0,01,0x5, -0240,01,0,02,16,0,5,01,32,0,0,32,021,131,254,0,05,0x2,0,0x3,128,128,0 -,0x8,013,02,0,0,0x2c,010,0,021,128,64,24,64,0x26,0144,0,0,149,144,0x1 -,0x4,0,0,0x6,144,01,0,0,0x2,0,0,192,0,5,054,128,1,17,0102,0151,248,0, -0x4,48,64,0,0x2,0x78,0,0,017,04,0,5,034,192,3,0,0x1,03,0,18,0142,0,0, -0x24,128,07,144,0,0,16,64,0x2,0,0x1,011,192,01,014,32,0,0,240,128,0, -04,017,0344,0x1,074,0,0,0172,254,0x4,0,3,64,0,03,32,0,0,4,0,010,3,0, -01,010,0,2,128,0x1,0,0x5,192,0,06,010,0,0,32,8,0,0,132,32,16,0,0,0202 -,0,0x1,0x8,0202,0x1,48,16,0,0,192,0,0x5,014,128,1,16,0,0,12,253,0,05, -16,0,0x2,96,024,054,0x2,0,05,0x1a,0,0,0x3,0,0x1,32,010,0,18,0x28,144, -0,0,16,64,0x2,136,32,011,0,1,0x24,128,1,48,0,0x1,192,0,05,12,128,1, -176,16,232,0372,0,011,010,0,0,0x21,0,07,64,0x3,0140,12,1,04,0,01,128, -0x4,0,5,0104,2,0,07,0x4,0,01,16,0,0,0x2,0141,0,2,1,32,0,02,64,010,0, -01,041,0,1,132,128,32,0,0x2,024,0373,0,012,64,0,0,04,0,07,02,0x1,0, -0x5,0x2,0,06,1,0,5,16,0,0x18,4,0,0x2,232,0377,0,011,32,64,4,010,0,7, -0x3,121,0,4,128,0,0x6,0104,0,8,0x2c,0,01,176,0,0,026,192,2,0,1,013,0, -0,64,0,0,128,0x1,0,01,0x6,0,0x1,24,0,0,0x3,128,129,0,0x2,0375,8,0,0x8 -,64,2,72,0,0x8,18,8,32,32,2,0,011,0x4,0,8,024,0,0x1,0120,0,0,012,64,1 -,0,01,0x5,0,0,8,0,0,128,0,02,2,0,1,8,0,0,01,0,0,8,0,0x1,147,0372,0, -012,01,128,1,0,0x7,137,0,0x1,32,2,0,011,010,0,0x6,5,0,0,24,64,0,0,96, -0,0,149,144,1,04,0,0,6,144,1,0x1,0,0,06,010,0,0,0130,16,0,0,0140,042, -014,129,01,0,01,129,0374,0,011,0x78,16,017,0,07,192,03,112,0,0,3,0, -0x14,0x24,0,1,144,0,0,16,64,02,0,0x1,011,0140,0,0x1,128,0x7,0,0x1,036 -,0,01,0x78,0,0,017,224,1,1,0,0,0162,255,0x4,0,8,32,0,0,0x4,0,8,03,0, -01,12,0,0x14,32,0x8,0,0,128,32,16,8,0202,0,0x1,0x8,02,0,0x2,6,0,1, -0x18,0,1,0140,0,0,014,128,0101,0,0x1,0134,0377,0,011,96,0x21,0114,02, -0,07,03,0142,0,0,4,1,0,023,16,0,1,64,0,0,010,0,0,1,0,01,0x4,0,0,0x28, -0,01,6,0,01,24,0,0x1,0140,0,0,12,128,05,0,0x1,0x38,248,128,01,0,04,24 -,64,041,010,0,0,0x5,132,1,48,0,1,192,0x48,0,0,0x1,32,0,01,0x5,04,0, -021,0240,1,0x4,0,1,16,0,0,18,0141,0,02,011,48,0,1,0102,0,0,192,0,0,24 -,0,02,132,0101,168,0x8,01,02,0120,0373,0,0,128,0,0x5,010,02,0x2,0,0x3 -,01,16,0,03,010,0,0,01,0,12,012,0,06,05,0,05,8,0,03,0x4,0,0x5,64,0,0, -8,0,04,0x1,0,0,16,96,248,224,01,0,0x4,036,0,0,0x1,0140,32,12,0342,0x1 -,0x3c,0,01,0360,0,0,0x6,192,0,2,014,0,0x14,054,0,1,176,0,0,0x16,192, -0x2,0,0x1,013,0140,0,0,014,0,0x1,0360,0,0,0x1e,0,1,24,0,1,0202,0x1,12 -,0,0,64,248,36,128,0,4,0x2,0x2,2,0,0,02,0214,32,128,4,0101,0,0,16,64, -02,64,0,02,0214,02,0,0x2,4,0,5,16,0x2,0,5,0x8,132,024,0,1,0120,0,0, -012,64,0x1,0,01,5,32,0,0,04,0,01,16,64,0202,16,0,0,0x8,0,2,137,0x4,0, -0,0152,254,014,0,0x7,1,96,021,054,0x2,0,5,0130,8,19,0,0x1,0114,02,0, -02,02,0,5,16,01,0,05,010,128,0x18,64,0,0,96,0,0,149,144,1,4,0,0,012, -128,0105,48,16,0,05,0140,0,0x1,132,0120,176,32,0x38,248,192,01,0,4,28 -,192,02,0x78,0,0,017,192,0x1,0x38,0,1,224,0,0,0x1e,192,0x3,0x1,0,0, -017,0,0x3,7,0,5,144,03,0,0x5,104,0,0,0x24,0,0x1,144,0,0,16,64,02,0,01 -,011,192,1,0x3c,0,0x1,224,0,0,034,0,1,0170,32,3,224,0x1,0x3c,0,0,128, -0372,010,0,7,0x1,96,16,12,8,0,0x5,24,0,0,0x3,0,01,014,0,0x2,128,0x5,0 -,0x5,208,2,0,05,010,0,0,32,010,0,0,128,32,16,0,0,0202,0,0x1,0x8,128, -0x1,48,0,6,96,0,0,014,128,0,0,48,0,0,145,0372,128,0x1,0,0x4,24,0,0,2, -0140,4,0x2c,128,0x1,48,0,01,192,0,0,0x18,0,0,03,0,01,12,0x4,0,2,04,0, -05,010,02,0,5,0x4,16,17,0x1,0,0,64,0x4,16,021,021,0,1,0x8,128,1,48,0, -1,208,0,0,0x1a,0,01,0140,0,0,0x4,144,17,061,0,0,0130,248,0,0x1,16,0, -032,0x4,0,0x6,0x2,0,0x23,0274,0376,32,0,0x1,128,0,0,16,0,0,0x2,64,0,0 -,0x8,0,0,0x1,32,0,0,0x4,128,0,0,16,0,01,64,0,0,0x8,0,0,1,32,0,0,4,0, -07,0x2,0,0x6,041,0,0,0x4,128,0,0,16,0,0,02,64,0,0,0x8,0,0,01,32,0,0, -04,0,0x4,64,0,0,010,0,0,01,32,0,0,04,0,0,208,252,0,0112,152,0377,0x28 -,0,0,0x4,128,0,0,16,0,0,0x2,64,0,0,8,0,0,0x1,32,0,0,04,128,0,0,16,0,0 -,0202,0102,0,0,8,0,0,0x1,32,0,0,04,0,017,32,0,0,04,128,0,0,16,0,0,02, -64,0,0,010,0,0,0x1,32,0,0,4,128,0240,16,0x14,0202,0102,0,0,0x8,0,0,1, -32,0,0,4,0,0,073,0373,0,0,0x4,128,0,0,2,0,0,2,64,0,0,0x8,32,0,0,0x4,0 -,0,04,128,0,0,16,0,0,02,72,0,0,1,0,0,1,04,0,0,132,128,0,021,16,0,0,2, -64,0,0,64,0,0,01,32,0,0,04,0,0,32,16,0,0,18,0102,02,72,0,0,8,0x21,0,0 -,4,128,0,0,16,0,0,0161,251,0,0,128,0,0,16,0,01,64,0,0,0x8,0,0,1,0,0x2 -,128,0,0,16,0,0,02,64,0,0,0x8,0,1,32,0,03,16,0,14,32,0,0x6,010,0,03, -64,0,04,64,0,0,010,0,07,26,0372,0x4,0,0111,156,0377,0,0,0x28,0,0,0241 -,0,01,0x14,128,02,0120,0x8,0,0,0x1,0,0,0x28,0,0,0x5,0240,0,0,0x14,0,0 -,64,0,0x1,012,0x1,0,0,0x28,0,0,0x5,0,14,32,0,0,04,128,0,0,16,0,0,128, -0102,0,0,8,0,0,01,32,0,0,0x4,0,5,0120,010,0,0,01,32,0,0,4,0,0,216, -0372,0,31,32,0,06,16,0,0x4,64,0,023,0x2,0,0x6,0310,0372,0,0x14,128,0, -0,1,0,0,0x4,0,0,01,0,0x21,04,0,7,0x8,0,2,216,0372,0,6,0x1,0,011,8,0, -0x3,0x1,0,03,2,64,0,0x15,16,0,011,04,0,011,04,144,253,0,0,02,0,12,64, -0,29,32,0,0x1,136,0,015,64,0,2,32,0,0,1,0,3,0x38,248,0,24,8,128,0,34, -0x2,0,0x3,0x1,0,01,32,0,0,64,0,01,216,252,0,0,01,32,0,1,128,0,0,16,0, -0,0x2,0,3,01,32,0,0,04,128,0,0,16,0,1,64,0,03,32,0,01,010,0,6,0x4,0, -0x6,2,0,3,16,0,1,64,0,6,128,0,0,16,0,07,32,0xc8,0372,0,017,16,0,0x7,2 -,0x4,0,0x12,64,0,0x2,64,32,0x8,0,0,128,16,0,0,04,4,0,01,32,0,0x2,4,04 -,0,0x7,208,0373,0,0x5,128,4,0,0x1,01,0,0x8,0x8,0,031,16,010,0,4,0x1, -64,0,01,042,0,0x3,32,64,0,1,01,0,04,010,0,0,8,251,0,1,16,0x8,0,0,64, -128,2,0,1,2,0,0x4,16,2,128,0x2,2,0,3,2,134,0,0x12,128,4,32,02,32,64, -0214,0102,0,0,071,0,0,02,0x2c,0,01,16,0x2,0120,128,0x4,0114,0,5,0x4, -128,0x78,0374,32,0,04,0102,01,02,0,0,05,0,0,0x4,01,0,0,4,38,0,0,16,2, -64,0,0,02,010,0,0,64,32,04,4,0132,0,16,32,0x8,0,0,64,32,0x12,054,0103 -,0,0x1,0x8,02,03,32,0,0x2,2,168,0,0,010,0,03,32,32,04,184,0377,0,013, -02,0,15,16,0,021,8,0,0,64,32,0,0,132,0,03,02,0,5,0x8,0,7,128,0120, -0372,0,0x7,0x8,0,03,2,0,01,16,0,0x4,1,0,0x17,16,0,3,0x8,0,0,129,0,1, -0x4,128,0,0,4,0,012,128,010,16,16,0374,0,12,2,0,18,01,0,5,128,0,0x21, -128,252,0,0x1c,128,0,0x6,64,0,6,32,0,28,112,0373,0,024,128,0,012,0x2, -0,021,2,0,013,64,0,01,16,0,0x5,0x38,0372,16,0,013,64,0,03,32,0,26,0x1 -,0,4,04,16,0,0,128,0,5,8,0,0,1,32,0,010,0x24,248,0,011,0x1,0,13,4,0, -042,16,0,12,136,0373,0,03,16,0,0105,136,254,8,0,0,64,0,0,8,0,0x4,128, -0,0,01,0,06,0x28,0,0,0x4,0,056,18,0,0x1,64,0,0,0362,0371,0,12,011,0, -013,010,0,04,01,0,5,128,0,011,0x4,0,4,64,0,03,32,0,0,4,128,0,0,16,0, -0x1,64,0,2,01,0,0,0x78,253,0,0x23,16,0,6,8,0,035,010,0377,0,34,128,0, -06,64,0,036,0120,0373,32,0,03,16,0,0,0x2,0,7,128,0,0,16,0,0x4,128,0,0 -,32,0,02,010,0,03,128,0,0x1,04,0,015,32,0,1,128,0,021,104,0374,0,59,8 -,0,015,144,255,0,0x1f,2,0x4,0,5,01,2,0,4,01,0,0x1a,0310,0372,0,0112, -152,0377,0,012,1,32,0,010,010,0,01,32,0,45,04,0,1,64,0371,0,012,32, -0x8,0,0x8,0x2,0,1,8,0,0x2b,0x8,0,0x3,144,255,0,0,02,0,013,0x2,0,03,1, -0,01,0x2,128,0,2,0x2,0,0x17,32,0,012,0x1,0,0x1,4,0,6,48,251,0,1,0x4,0 -,0x1d,02,0,041,4,0,5,184,0375,0,0x5,128,0,4,16,0,01,1,32,0,0,04,0,01, -16,0,01,64,0,010,04,0,6,012,0,011,16,0,0x8,0x2,0,3,0x4,0,5,96,0375,0, -0,128,0,06,1,0,5,16,0,1,64,0,1,128,0,0x5,16,0,12,128,0,010,010,0,013, -010,0,7,0172,248,0,026,0x8,0,3,04,0,06,1,0,05,192,0,0x15,02,0,0x7, -0140,252,0,0x24,1,0,0x15,128,0,05,02,0,3,32,0,0x1,0x38,0374,0,0x1,128 -,0,0x6,16,64,2,0,013,02,0,19,32,0,01,128,0,024,64,0,02,010,252,0,011, -192,0,59,0x1,0,2,192,251,0,6,0x2,0,4,64,0,011,64,0,19,32,0,0x2,02,32, -32,0,1,129,0,0,32,4,0,04,0x2,0,0x1,0x4,0,07,0x28,248,0,01,8,0,06,32,0 -,0x8,010,0,0x7,16,0,016,128,0,1,8,0,2,8,4,0,3,0202,0,02,02,0,4,32,16, -4,0,0,128,0,0,128,0214,252,0,0,64,024,0,03,04,0,0x1,0x8,0,0,4,64,0x3, -16,0,0x1,0x1,0,0,0x2,0,0,0121,0,0,32,04,0,02,32,0,0x2,4,0x8,32,0,0x4, -02,0,0,16,32,96,0,01,32,01,32,64,2,144,129,01,48,02,168,0,01,128,0,0, -0x2,0,0,010,8,0,0,0x8,64,01,02,0,0,01,0,0,0120,0371,0,1,144,0,0,02,0, -0,0140,3,4,02,0,01,0x28,0,0x1,132,0,0,32,16,32,64,0,0,24,0,1,136,0x14 -,0,021,128,132,18,010,16,129,48,0360,0107,0275,0105,0,0,0x4,1,0x3,16, -010,64,0x1a,0,0,0202,0,2,8,041,128,0,0,32,0x8,0120,0374,0,1,010,128,0 -,01,64,0,0,8,0,011,64,0,0x18,64,0,0,16,0x8,0,0,1,64,0,0,0x4,129,0,0x1 -,4,0,1,8,010,0,0x8,128,0,1,0x8,24,0377,0,8,0x1,0,1,04,0,013,0x4,0, -0x17,64,32,0x8,16,0,0,64,0,01,0202,0,011,8,0,2,16,0,0,48,0374,0,031, -01,0,7,64,0,0x6,32,0,036,168,249,0,012,1,0,0x3b,128,0,0x1,0x8,0377,0, -36,0x1,0,0x4,0x8,0,03,32,0,1,128,0,02,0x2,0,1,010,0,017,56,0374,0,043 -,01,0,6,0x1,0,7,02,0,0,32,0,011,128,04,0,03,0x2,64,0,0,120,0376,0,21, -64,0,02,010,0,0x2e,128,182,0375,0,012,010,0,62,24,255,0,0112,152,255, -0,013,02,0,0x3c,128,0164,249,0,12,0x1,0,012,021,0,017,4,0,2,4,0,0x5, -04,0,0x4,4,0x8,0,014,64,192,0372,0,0x1,64,0,0x2,64,32,0,0x1,0x1,0,02, -128,0,0,64,0x8,0,2,8,0,0x2d,128,0,0x5,48,0374,0,014,16,0,16,32,0,0x6, -16,0,0x4,64,0,034,248,0374,32,0,1,16,0,0,16,0,0,0x2,64,0,0x3,32,0,0,4 -,128,0,0,16,0,0,02,0,0,04,8,0,01,042,0,0,4,0,026,0x2,0,1,8,0,1,32,0,1 -,128,0,0,16,0,0,02,64,0,0x5,32,0,0,0240,0376,0,03,64,0x2,0,0,64,0x8,0 -,5,48,6,0,0x7,129,0202,0x1,0,25,32,051,0,0x1,32,0,1,0212,0,2,02,0,010 -,176,0372,0,0x1a,128,0,26,64,0,18,0x58,0373,0,02,128,01,0,01,06,0,6, -074,0,8,04,0342,1,0,0x18,192,0,0,0130,0,1,0140,1,014,128,0x5,0,1,026, -0,8,136,253,0,2,128,0,0x2,0x2,0,6,04,0x12,0,07,136,32,0,0,0x1,0,23,64 -,0,0,0x28,0,0x1,0240,0,0,4,128,02,0,1,012,0,8,128,0371,0,0x3,0x6,0,01 -,0x18,0x8,0,017,32,0,0x1b,35,52,1,0,0,192,04,48,0x6,19,0,0x1,0114,0, -010,0x58,0371,0,0x2,128,7,04,0,0,036,0,6,56,0,010,017,0xc8,01,0,24, -192,0x3,72,64,0,0,32,1,0x3d,128,4,4,0,0,0x12,16,0,0x7,120,248,0,0x3, -0x6,0,01,0x18,0,16,4,0,27,3,64,0,02,01,48,0,0,4,0,0x1,16,0,8,16,0372, -0,0x3,6,0,1,24,0,0x6,48,0,8,014,144,01,0,0x19,0x3,32,18,0,0,128,72,48 -,0,0,34,1,0,0,136,4,0,0x7,208,255,0,1,176,192,02,010,0,0,64,8,0,016, -36,0,013,48,0,06,24,0,0,064,0,5,32,011,0,0,0205,041,0,1,128,0,0x2,0x2 -,0,8,232,249,0,36,014,0,0x6,06,0,0,48,0,0x8,010,0,16,120,0376,0,1,074 -,0,0,02,01,0,0,0x6,0,016,0x18,0,014,12,0,6,0x6,0,6,192,0,0,0130,0,0, -014,96,0x1,0,0,128,05,0,0x1,0x16,0,0x8,112,0371,0x8,0,0,0x4,32,16,0,1 -,02,0,14,010,0,014,012,0,6,0x5,0,6,64,0,0,0x28,0,0,72,164,0,1,128,0x2 -,0,0x1,012,0,8,218,0371,0,0x3,64,0,01,0x18,2,0,015,96,0102,0,013,012, -0,6,5,0,01,32,0,4,0x3,48,01,0x4,192,0x4,0,0x1,023,0,01,0114,0,0x8, -0120,252,0,1,0x38,128,5,2,0,0,0x1e,0,016,0x78,0,026,014,0,04,192,0x3, -0112,64,017,0x28,0x1,1,128,4,0x4,0,0,18,16,0,7,248,253,0x4,0,3,04,0,0 -,24,0,016,0140,0,035,0x3,64,0,0,0x4,0x2,1,0,1,4,0,0x1,16,0,8,0161,253 -,0,01,48,0,3,0x18,0,016,96,0,23,16,0,0x4,03,32,16,0114,128,64,0,1,2, -01,0,0,0x8,04,0,7,240,254,0,03,64,194,0,0,0202,0,04,160,021,49,06,0, -06,36,0,013,16,0,06,010,0,7,32,011,0,1,32,0,0,164,128,0,02,2,0,02,36, -0,0x4,56,0377,0,0x5,64,0,0,4,0,0x1b,16,0,6,8,0,015,16,8,0,014,24,0376 -,0,2,128,0x1,0360,0,0,8,0,0x4,128,0101,074,0,06,24,0,12,0x2,0,6,01,0, -6,192,0,0,0x58,0,01,0140,1,034,128,5,0,1,0x16,0,0x1,24,0,0x5,0x28,248 -,0x4,0,0x1,128,0,0,16,72,144,8,0,3,128,011,0x4,32,0,5,8,0,014,16,0,6, -0x8,0,6,64,0,0,0x28,0,1,0240,0,0,36,128,0x2,0,0x1,012,0,01,010,0,5,34 -,254,014,0,0x2,0106,0x8,0,0,64,0,0x4,128,0,0,2,0,0x6,0140,01,0,013,02 -,0,0x6,1,0,7,0x13,49,01,0,0,192,4,32,0,0,0x13,0,0x1,0114,0,1,0140,1,0 -,4,176,252,0,2,128,07,224,0,0,0x1e,16,0,03,224,0x1,56,0,0x6,120,32,0, -013,32,0,0x6,16,0,6,192,0x3,0x48,64,0,0,32,0x1,17,128,4,0x4,0,0,18,16 -,0,0,0170,64,0,04,0140,0375,8,0,2,0x6,0,1,8,0,4,128,0101,0,0x7,0140,0 -,12,2,0,0x6,1,0,7,3,64,0,02,0x1,16,0,0,0x4,0,0x1,16,0,0x1,0140,0,5, -0x31,249,0,3,6,192,0,0,24,32,0,3,128,0x1,48,0,6,96,0,29,0x3,32,021,0, -0,128,0104,32,0,0,18,0x1,0,0,0x48,4,0,0,0140,0,0x5,56,0372,0,03,64, -0x2,0,0,64,010,0,04,144,0,6,32,0x2,36,128,0x4,0,0,04,0,7,042,0,06,145 -,1,0,6,32,011,0,01,32,0,0,36,128,0,02,0x2,64,3,104,0x12,0,2,0x34,0,0, -124,255,0,024,0x8,0,016,010,0,0x6,4,128,0,12,16,0,0x5,03,0140,0,0x3, -48,0,0,112,0375,0,0x2,128,01,0,01,06,0,4,96,0,5,0x6,192,0,0,24,0,0,3, -0,0x2,32,0,06,2,0,06,0341,0x1,0,05,192,0,0,0130,0,01,0140,01,054,128, -0x5,0,0x1,026,192,03,64,16,0,0x2,48,0,0,0x38,0372,8,0,0x1,128,0,2,0x2 -,0,0x4,32,0,5,0x2,64,0,0,8,0,0,0x1,0,02,1,0,06,0x2,0,06,0x21,0,0,0x1, -0,04,64,0,0,0x28,0,1,160,0,0,024,128,2,0,1,012,64,3,32,02,0,02,48,0,0 -,219,254,0,3,0x26,010,0,0,0130,0,04,128,011,2,0,0x3,0x18,021,0143, -0140,0,0,0214,8,0,01,041,0,06,16,0,0x6,0x8,0,07,3,0x32,01,0,0,192,04, -24,0,0,023,0,0x1,0114,0,0,0x3,0140,132,0,03,012,061,251,0,02,128,7,0, -0x1,0x1e,8,0,0x3,224,0x1,0,0x4,036,192,03,0x78,32,017,0,01,014,0,017, -192,0x1,0,5,192,03,72,64,0,0,32,01,041,128,04,04,0,0,18,144,03,24,0, -03,12,0,0,218,0373,04,0,02,06,0,1,24,0,4,128,1,0,4,0x18,0,0,03,0140,0 -,0,014,0,02,16,04,0,5,012,2,0,5,0x5,0,7,03,64,0,2,0x1,16,0,0,4,0,01, -16,0,0,0x3,64,64,0,04,0334,0373,0,0x3,6,0,1,0x18,0,4,128,1,0,4,0x18,0 -,0,03,0140,0,0,014,0,01,176,0,0,2,0,0x6,01,0,0x5,128,01,0,6,0x3,32, -024,0,0,128,0120,32,0,0,0102,01,0,0,8,05,3,0,0,0x2,0,04,32,0374,16, -144,0,01,64,02,0,0,64,8,0,0x4,144,0,7,104,16,128,04,0,0,48,146,0,0x6, -0106,0,0x6,0x3,0,6,64,32,0x8,0,0,128,36,0,1,138,0,2,0x2,64,03,0,0,36, -0,5,0375,0,0x16,64,0,05,2,0,05,0x4,1,0,5,2,0,0x7,128,0,0x13,0x8,0377, -0140,0,01,128,0x1,0,0x1,0x6,0,04,0140,0,8,96,16,03,0,1,074,128,0,06, -0x48,0,6,4,0,0x7,01,0x58,0,0,3,0140,1,014,128,0x5,0,1,026,192,131,24, -0,6,0372,054,0,1,128,0,0x2,02,0,0x4,32,0,8,64,0,0,0x1,0,01,4,32,011,0 -,5,0212,4,0,05,0x5,0,0x7,138,0x28,0,0,01,0240,0,0,0x4,128,02,0,1,012, -64,013,0x8,0,5,0102,248,132,0205,0,0x1,046,0,01,24,3,0,03,128,011,0, -07,32,0202,014,1,0,0x1a,0x8,52,01,014,208,0x4,48,64,19,0,0x1,0114,0,0 -,160,96,042,0,0x4,168,0376,224,0x1,0,0,128,07,4,0,0,036,0,4,224,129,0 -,07,120,0,0,017,0,01,56,0,23,192,3,72,64,15,32,01,0x3d,128,4,04,0,0, -18,208,3,0170,0,05,72,0375,132,01,0,1,0x6,0,1,24,0,4,128,0x1,0,0x7,96 -,64,12,0,02,128,2,0,0x5,64,1,0,016,01,64,16,014,0,0,0101,48,0,0,4,0x1 -,0,0,16,4,128,0140,0,5,217,254,128,1,0,1,6,0,01,0x18,0,04,128,1,0,0x7 -,0140,0,0,014,0,1,48,0,0,0x8,0,06,0x4,0,14,0123,32,04,12,128,16,48,0, -0,0102,0,01,0x8,0101,35,0140,0,05,0xc8,0376,0,02,128,38,1,0,0,0x1a,0, -3,014,0,0,144,176,64,0106,0,0x5,36,128,04,0,021,128,1,0,0x5,64,0,0, -010,0,0,128,0x24,0,0,04,128,0,0,16,0,0,0x2,64,0,0,010,1,0,04,0310,255 -,0,3,0x6,0,1,24,16,0,3,8,0,0x3,04,0,011,128,0,06,64,0,07,128,0,6,128, -0,015,16,0,4,152,249,0,3,0x4,0,1,16,0,3,15,0140,0,0,074,128,7,0,0x4, -24,0,0,0x3,0,3,04,0,06,02,0,5,224,0x1,0,0x6,0x1,0130,0,0,03,0140,01,0 -,0,128,05,192,0,0,026,192,0,0,32,16,0,0x4,48,0372,0x8,0,2,18,1,0,0, -0x8,04,0,02,01,0x28,0,0,04,146,32,0x8,0,0x3,0x8,0,0,1,0,0x12,32,144,0 -,06,0242,0x28,0,0,1,160,0,1,128,0x2,192,0,0,012,64,0,0,64,0,0x5,0x32, -0377,0,0x3,026,0,01,0x58,0,04,128,021,0,7,96,129,12,0,2,128,2,0,5,64, -01,0,14,010,0x34,1,0114,196,0x4,48,0x1,0x13,0,0,136,0114,0,0,19,0,0, -132,0,4,16,248,0,2,128,0x1,04,0,0,06,16,0,2,016,224,01,0x39,0,0,0x7,0 -,0x4,120,0,0,017,0x8,0,17,192,1,0,05,192,3,72,64,017,32,0x1,61,136, -0x4,0x34,0,0,18,208,131,0x78,0,0x5,192,0377,4,0,02,0x4,0,0x1,16,0,0x4 -,128,1,0,07,0140,0,0,014,0,0x2,128,01,0,05,192,0,017,01,64,16,12,0,0, -0101,0,0x1,4,0x1,0,0,16,4,3,32,64,0,0x4,193,0371,0,03,128,0,2,32,0,2, -014,128,0x1,48,0,0,0x6,0,0x4,0140,0,0,014,0,0x3,1,0,5,128,0,0x6,128,1 -,0,06,0123,32,1,014,128,04,128,8,18,0,0,128,72,64,03,0140,02,0,0x4,16 -,252,0,2,128,32,0,01,012,04,0,03,32,48,0,01,0106,192,0x48,0,01,32,012 -,021,128,0x4,0,0x2,02,0,0x6,1,0,014,2,64,147,0x8,0,0,0101,042,0,0,0x4 -,128,0,2,0x2,64,0,0x1,36,0,0x2,176,0,0,104,248,0,04,1,0,04,32,0,0x5,4 -,0,011,128,0x2,0,5,64,1,0,016,02,0,021,48,16,32,0377,0,3,02,0,01,010, -04,0,0,24,0,01,128,0,01,128,7,0360,0,0x1,192,0,0,32,0,0,03,0,27,03, -0132,0,0,0x4,0142,01,0,0,128,5,0,01,0x16,0,0,0x3,24,0,0x3,074,0,0, -0120,0375,010,0,2,36,0x1,0,0,64,0,0x1,010,0,0x2,5,0x1,128,64,18,72,0, -0,64,0,0,64,021,0x1,0,012,0x2,0,6,01,0,07,34,0x28,0,0,0x28,0240,0,0x1 -,128,2,0,01,012,0,0,0x3,010,0,0x3,064,0,0,0x3a,0375,0,0x3,16,0,02,011 -,0,0,96,014,0,0x1,16,0x2,0,05,3,4,1,0214,0,012,010,0,0x6,4,0,6,021, -011,48,01,128,208,4,128,8,19,0,1,0114,0,0x1,0142,0,04,012,72,0374,0, -02,128,07,0x4,0,0,0x16,0,01,0170,0,1,224,1,0,1,7,224,0,1,192,03,0x78, -64,017,0x4,0,24,6,192,03,0112,64,15,32,01,015,128,0x4,4,0,0,18,208,0, -0,0x78,64,0,02,014,0,0,64,248,0x4,0,02,2,0,02,16,0,0,0140,0,01,128,64 -,0,06,0x3,32,0,0,12,0,25,24,010,3,0102,16,0x4,0x8,0101,48,32,04,1,0,0 -,16,04,0,0,96,0,5,153,251,0,03,134,0,04,0140,0,0x1,128,17,0,1,6,192,0 -,2,03,0140,010,12,0,0x19,0x18,0,0,03,32,0,0,0114,128,0,0,48,0,0,02,0, -01,010,0,0x1,0141,0,0x5,192,253,0,2,128,0x16,02,0,0,26,0,0,0x3,0,02, -32,0,0,1,0,0,0106,4,0,0x1,64,0,0,010,4,0x21,0202,17,0x1,0,021,4,0202, -64,2,72,0,0,64,011,0x8,0,0,141,042,0,0,4,128,0,2,0122,64,0,01,36,128, -164,16,5,18,128,0371,0,03,04,0,1,24,0x4,0,0,2,0,12,16,0,013,010,0,06, -04,0,1,0x8,0,4,02,1,0,0,0x8,0,6,8,16,0,0x4,01,0,0x1,0x38,0376,0,0x3, -0x6,1,0,0,16,196,03,0,0x2,128,0,0x1,128,07,0,2,192,0,0,32,0,0,0x4,224 -,1,0,18,48,32,02,064,0,0x2,3,0130,0,0,12,104,1,12,128,05,0,01,026,0, -01,24,0,0,3,128,0,0,16,32,24,0374,0x8,0,0x2,0x4,0,01,8,0101,32,01,0, -0x2,5,0x2,128,64,0x2,0,0x1,64,0,0,64,024,136,042,0,0,1,0,0,04,0,5,16, -02,0,05,010,0,0,48,0,01,16,0,02,18,0x29,0,0,0x28,160,0,0,04,128,2,0,1 -,012,0,0x1,0x8,0,0,0x1,0,0,1,0,01,0132,0373,0,0x3,18,04,0,0,0130,32,0 -,04,0104,0,6,0243,0,0,132,32,0,03,02,0,5,16,01,0,05,010,0,0x1,0x21, -026,196,0,02,011,49,0x1,0104,208,4,48,011,023,0,1,024,0,0,0240,0140,2 -,0214,128,0,0,176,64,136,0377,0,02,128,07,0,01,06,128,0x3,0,02,224,01 -,0,01,07,0,2,192,0x3,0170,0,0,017,0xc8,0x1,0,0x1,0x7,0,5,144,3,0,5, -0x8,0,0,054,128,7,240,64,0,0,192,03,72,64,017,32,0x1,0x3d,128,0x4,0x4 -,0,0,18,192,0,0,120,32,017,104,0x1,074,0,0,24,251,4,0,0x2,6,4,0,0,16, -16,0,0x3,128,0,7,0x3,32,64,4,0,2,128,05,0,0x5,208,02,0,0x5,010,0,0,48 -,16,6,196,0,2,129,64,16,014,0x8,0101,48,0,0,4,0x1,0,0,16,0,0,131,0140 -,0,0,014,128,0,0,48,32,0371,0374,0,03,6,0,01,128,0,0,0x3,0,2,128,0121 -,0,0x1,0x6,0,02,64,0x3,0140,02,014,144,0x1,0,1,04,0,05,010,0x2,0,05, -04,0,0,16,0,0,042,192,0,2,3,32,2,12,128,010,52,0,0,34,0,1,16,0,0,043, -0140,0,0,014,0,0,1,16,0x1,176,248,0,024,128,0,07,0x4,0,0x6,0x2,0,0x14 -,010,0,015,064,0377,32,0,0,04,128,0,0,16,0,0,0x2,64,0,0,010,0,0,0x1, -32,0,0,04,128,0,0,16,0,0,02,0,1,0x8,0,0,01,32,0,0,0x4,0,7,16,0,06, -0x28,0,0,4,128,0,0,16,0,0,0x2,64,0,0,010,0,0,0x1,32,0,0x1,128,0,0,16, -0,0,2,128,0,0,0x8,0,0,01,32,0,0,4,0,0,64,0372,0,0112,152,0377,0x28,0, -0,0x4,128,0,0,16,0,0,2,64,0,0,0x8,0,0,1,32,0,0,04,128,0,0,16,0,0,0x2, -64,0,0,8,0,0,01,32,0,0,4,0,15,32,0,0,4,128,0,0,16,0,0,2,64,0,0,0x8,0, -0,01,32,0,0,0x4,128,0,0,16,0,0,02,64,0,0,8,0,0,01,32,0,0,0x4,0,0,0243 -,0374,0,01,128,16,0,1,0102,0,01,010,0x1,0,0,32,0x4,0,0,128,16,16,0x2, -0102,0,06,132,128,0,16,132,0,13,042,0,0x3,128,144,0,04,010,0,0,0131, -252,64,0,0x2,0x1,0,01,0x4,0,0x1,16,0,0x1,64,0,0x5,0x4,128,0,0,16,0,0, -02,0,02,16,0,16,0x4,128,0,0,32,0,0,0x2,128,0,0,16,0,0,02,64,0,0,8,0,0 -,01,16,0,0,0x4,0,01,16,0,0,0x2,32,0,0x2,032,0371,4,0,0x49,0234,0377, -32,0,0x1,133,0,1,0x14,02,0,0,0120,0x8,0,0,64,0x21,0,0x1,0x5,0240,0,0, -0x14,02,64,0,0,0x8,0,0,01,0,0,0x28,0,0,0x5,0,017,0x28,04,128,0,0,16,0 -,0,02,64,0,0,0x8,0,0,01,32,0,0x1,128,0,0,16,0,0,2,64,0,0,0x8,0,0,1,32 -,0,0,04,0,0,168,0375,0,0x4,128,0,02,02,0,0x4,32,0,0,0x4,128,0,4,128,0 -,02,128,0,16,0x1,0,27,0130,252,0,0x23,32,0,0x6,16,0,0x1d,184,0376,0, -02,64,128,0,012,64,0,062,64,0,5,144,0377,02,0,017,16,0,010,04,0,0x14, -01,0,1,0x4,0,012,02,0,03,32,0,01,04,0x28,0,0,48,249,0,1,16,0,0x1,64,0 -,0x1,32,01,0,0x1,4,0,1,0x12,0,0,02,64,0,6,128,0,17,128,0,010,04,0, -0x12,144,0373,0,23,72,0,02,32,0,0x4,32,0,6,16,0,14,010,0,011,64,0,4, -0x8,255,0,1,4,0,0x1,16,0,03,1,0,04,16,0,0x7,02,0,034,0x8,0,0,04,0x2,0 -,0,4,0,03,0x4,0,011,254,0,6,0x8,0,0x27,128,0,5,32,16,0,0,129,64,0,0x1 -,0x2,0x21,32,0,0,0x4,128,0,01,02,0,1,010,0,0,72,252,0,1,8,0,1,0140, -0x14,2,0,1,1,0,0x3,16,025,0,04,012,0,1,2,02,0x28,0,0x13,128,0,05,0x18 -,64,0x2,0x2c,05,0151,142,0,0,024,128,0x4,16,0,0,2,0,0,0x1,0,01,4,0,0, -216,0375,0,0,16,01,0,2,04,0,04,010,0x1,0,0x1,0122,0,0x3,64,010,0,0x4, -16,0x8,0,016,32,0,01,0x28,0,01,48,0,3,014,0140,128,0104,36,0x6,04,0,0 -,4,16,0,0,112,64,0,0,04,0,0,043,32,014,168,248,0,27,16,16,0,17,8,0, -0x1,64,0,05,128,64,0,011,02,0,2,32,217,0372,0x2,0,012,02,4,0,36,128,0 -,3,16,0,0x2,16,0x8,02,0,0x1,0x8,0,0,128,32,0,01,128,128,010,16,0271, -248,0,3,0x8,0,0x1b,64,010,0,5,32,04,0,03,128,0,0x12,0x8,0,0x6,152,249 -,0,0x16,64,0,8,8,0,6,014,0,32,0120,0373,0,016,1,0,1,0x2,0,067,168, -0374,16,0,16,32,0,010,010,0,16,2,0,0x8,16,0,0,16,64,0,02,01,0,0x1,04, -0,0x7,0x24,248,2,0,0x3,05,0,0103,128,0140,253,0x4,0,2,16,0,01,64,0,05 -,4,0,010,0x1,0,034,010,0,01,32,0,16,0341,0376,0,27,16,0,02,128,0,06, -64,0,0x21,64,0372,0,04,6,0,16,128,0,062,112,0377,0,0112,152,0377,0, -0103,32,0,05,152,0375,128,0,45,64,0,011,0x1,0,07,4,0,06,24,0376,0,0x4 -,0x8,0,0,2,0,25,0x2,0,6,01,0,31,8,254,0,6,6,0,27,128,0,6,64,0,035,24, -0375,0,0112,137,0376,0,0112,152,0377,0,0x7,0x8,0,023,0x4,0,38,16,0,04 -,72,0377,0,0112,152,255,0,016,0x1,0,05,8,0,01,0x1,0,061,0377,0,02,16, -0,010,04,0,1,16,0,0,4,0,7,128,0,0,16,010,64,0,0,32,0,0,64,0,1,0x4,32, -0,0,16,0,0,32,0,01,128,0,27,0x78,0374,0,0x6,32,0,16,32,04,0,3,16,0, -0x2,16,0,02,8,0,02,0x8,0,011,64,0,18,128,128,0377,0,016,0x4,0,0x2f,64 -,0,010,64,152,251,0,4,0x1,0,1,04,0,04,64,0,010,16,0,0,0x2,0,19,136,0, -0,16,0,0,0x1,64,0,0x1,0x2,0,03,128,0,013,128,0,0,56,0375,0,0x6,72,0, -05,04,0,8,01,0,31,32,0,012,0x1,0,4,48,0373,64,0,2,0x1,0,0x7,64,0,010, -16,0,0,0x2,0,0x17,32,0,01,192,0,0x2,2,0x4,0,8,16,0,0,0x2,0,03,48,0372 -,0,0x1,8,0,011,64,0,6,64,0,0,16,0,0x12,64,0,010,128,0,0,32,16,04,0,0, -64,16,0,0,02,0x2,32,2,0,0,128,0,2,8,0,1,16,0x28,252,0,013,0x1,0,054,2 -,0,0,0x8,0,3,8,0104,0,3,0x2,128,16,0,0,176,249,0,1,0x8,0,3,0120,0,01, -64,01,0x1,64,0,02,0x14,0,02,128,0,0,16,012,0,3,0x5,0,014,64,0,1,0x3,0 -,0,010,0,0x3,128,0,0,16,32,02,136,128,014,0,0,0x1,0x2,64,06,0120,0120 -,1,0,1,014,0,0,5,16,128,0374,0,0x1,0120,128,0,01,32,0,0,0104,0,0x3, -011,0,01,0240,18,04,136,042,0,0x1,192,0,01,64,0,05,24,6,128,0,0x4,014 -,02,0,0,0x8,0,0,3,0,0,0x1,4,192,0,01,021,0141,0,0x1,0140,32,0x26,128, -012,132,128,21,16,0102,0x2,0,0,8,0x48,128,1,32,8,112,0374,0,0x1,16,0, -2,64,0,0,010,0,0x7,1,0,016,8,0x8,0,5,04,4,0,06,32,0,0x2,0x1,0,05,8,0, -8,64,0,01,16,0120,0374,0,014,04,0,8,32,0,010,16,02,128,0,04,8,0,1,8, -128,0,2,2,64,0,02,128,0,03,64,0,0x1,2,0104,32,010,0x4,1,0,0,010,04, -128,0,0,16,0,0,0120,0377,0,026,2,0,06,32,0,06,16,0,010,16,0,012,32,0, -012,128,0,0,176,0376,0,19,64,0,8,8,01,0,0,16,0,0x3,132,0,0x8,4,0,0x19 -,0x8,0376,0,48,128,0,3,1,0,0x1,01,010,0,017,0x18,0377,0,0x6,0x4,0,45, -0x7,0,0x1,16,0,16,248,252,0,13,129,0,16,64,0,6,32,0,32,128,168,0371,0 -,0112,152,255,0,03,0x2,0,023,16,0,0x3,4,0,6,2,0,043,232,248,0,011,128 -,0,0x3,2,0,3,32,0,013,04,0,06,2,0,32,208,0373,0,2,128,0,0x8,32,0,8,8, -0,0x1d,0x8,0,15,4,0,0x2,0360,0375,0,5,01,0,0,16,0,0,0x1,0,01,4,0,013, -0x8,0x2,0,25,128,01,0,0,4,0,16,232,0375,0,011,8,0,011,64,0,014,128,0, -6,64,0,15,4,0,015,216,255,0,1,0x4,0,1,16,0,0,16,64,0,2,1,0,0x1,04,128 -,0,0,16,0,04,128,0,0,32,0,0,04,0,0,2,0,0,128,0,04,0x1,0,0,64,0,3,32,0 -,0x1c,216,0376,56,04,0,03,128,0,0x31,4,128,0,013,32,4,0,0x1,0116,0377 -,0,0,01,0,2,128,0,0,16,0,062,0x1,0,013,0x1,0,0x2,254,0,0112,152,0377, -0,0112,152,0377,0,0,0x16,192,0x2,0264,0,0,013,0140,1,0x2a,64,5,168,0, -0,45,0240,2,0124,128,012,0140,01,0x2c,128,5,176,0,0,026,64,2,0,017,21 -,192,2,0130,0,0,013,224,1,0x2c,128,05,176,0,0,026,0240,0x2,0130,128, -012,224,2,42,64,013,168,0,0,0x16,0240,2,152,0377,128,014,144,01,134, -0105,06,0xc8,0,0,023,0140,02,0114,128,0141,48,1,0x26,192,0x4,0xc8,0,0 -,25,32,03,0144,128,12,128,1,0,016,128,011,144,1,062,64,06,0310,0x4, -0x19,32,03,0144,128,014,48,1,0x32,224,04,0x48,0116,0x13,104,0x58,0115 -,128,12,56,01,136,0377,0377,0377,};static const unsigned char FZD5Q3[ -]={183,0115,0377,0377,0142,0377,0x36,0,0,0325,0377,0377,255,255,255, -0377,0377,0377,0377,0377,0377,0377,0377,0377,0377,255,255,255,0377, -0377,0377,0377,0377,0377,0377,0377,0377,0377,255,255,255,0377,0377, -0377,0377,0377,0377,255,255,0377,0377,255,255,255,0377,0377,0377,0377 -,0377,0377,0,0,12,148,1,48,192,4,152,0,0,0x19,32,0x3,0140,0x2,0114, -128,011,062,0,0,0x6,0,017,144,3,38,192,04,0xc8,01,03,0114,160,011,128 -,01,48,0,0,6,64,6,24,0,0,224,0,0,18,128,0x2,72,128,012,0120,1,0x2c, -128,0x5,208,0,0,26,64,0x3,0x58,0,0,011,0,017,168,0,0,5,0240,0x1,0124, -128,04,168,0,0,21,64,0x2,72,0,0,011,0240,2,0x24,128,193,0,0x1,64,0, -063,128,185,0,0x25,0x8,0,017,128,0361,0,01,0240,0,012,32,0,0,04,5,0, -19,024,0x2,0,017,0202,0x18,0,0,010,0,010,04,0,0,8,0x5,0x1,0,12,1,0, -0x5,64,4,128,0,14,96,198,0,01,52,6,16,194,128,0,4,0115,0,1,0x2,64,0,0 -,16,0104,0,16,8,0102,012,64,03,010,0,0,01,32,0,0,0x34,194,0,0,16,64, -24,011,0,0,132,184,0,014,0x2,0,24,16,0,0,3,0,0x4,48,0,06,128,0353,0,1 -,48,128,1,240,64,0,0x4,014,0140,0,0,014,0,18,128,0x1,48,0,0,026,192,0 -,0,0130,0,1,0144,01,32,128,05,128,0,0,0x1e,192,0,1,0324,0,01,32,0212, -0,0,16,010,0,0x4,0x2c,36,0,0,04,0,0x2,132,0,016,128,0,0,16,0,0,012,64 -,0,0,0x28,0,0,128,0240,0,0,16,0242,02,0,0,4,131,72,0,0x1,152,0,01,16, -0x12,0106,4,0,0x5,4,0202,011,062,0x4,0,0x1,0x8,0,15,198,192,16,12,0x1 -,043,52,0x4,32,196,16,48,011,0103,0,0,0x8,0x1,0,0,0x3,128,175,0,1,074 -,128,7,224,0,5,15,224,01,0x3c,0,0x1,176,32,0,016,128,0x7,0360,0,0, -0x12,136,3,72,32,03,32,129,014,128,4,062,0,0,28,192,03,0202,0xc8,0,1, -16,0,0,6,0,0x6,12,0202,0x1,48,0,0x2,128,0,017,6,192,0,0,16,0,0,03, -0102,0,1,8,0x1,32,010,04,0,0x3,03,128,0252,0,1,48,0x5,0x6,192,0,0x5, -0x2c,128,0x1,48,0,0x2,0x2,0,017,06,192,0,0,136,04,0x23,32,18,054,128, -72,0,0x1,34,0x1,0x28,24,0,0,0x3,128,0351,0,01,06,128,0x26,17,0,0,02, -64,010,010,0,03,02,64,16,16,0,7,144,0,6,72,0,0,0x8,0102,2,64,0,0,0x8, -0,0,0101,36,0,0,0x24,0202,0,1,132,0x18,0x49,32,04,129,0,3,6,0,0x4,02, -0,06,01,0,7,48,0,0x6,24,0,0x5,01,0,03,16,010,0,0x6,0262,0140,0,0,014, -0,0,4,0x1,0,1,16,1,0140,0,0x1,0140,0,0,014,128,0x1,0,8,48,0,06,152,1, -48,0,0,026,192,03,0x58,0,0x1,96,0x1,28,128,5,48,0,0,0x1e,16,1,128,248 -,0x28,0,0,4,0,0,18,0,0x1,24,0,0,042,01,32,0,0,32,0,0,04,128,0,1,16,0, -6,0x28,0,6,148,0,0,16,0,0,012,64,0x1,054,0,0x1,164,0,0,36,128,0x2,16, -0,0,02,0,0,34,042,0316,128,011,062,011,06,0,0,02,64,32,136,0,2,128,17 -,48,0102,38,0,0,02,01,0,5,0x28,0,0x6,024,06,192,0,0,015,0x1,042,0x32, -4,128,0310,16,32,0,0,0103,192,128,0,0x2,128,0246,224,1,074,128,1,0x31 -,64,6,192,3,24,32,0,0,224,1,075,128,7,0362,0,017,128,0x7,0362,0,0, -0x12,136,3,0x48,32,03,32,129,0x14,128,0x4,242,0,0,28,192,131,128,0364 -,132,0x1,48,0,0,0x4,193,128,0,1,129,0,2,128,0x1,48,0,0,06,0,021,6,192 -,0,0,16,0,0,02,64,0,0,8,0,0,1,16,0,0,4,192,0,02,129,144,164,128,01,48 -,0,1,192,0x2,0,0,010,043,0,0,129,0,0,128,0x1,48,0,0,6,0,0,04,01,0,016 -,0x6,192,0,0,8,04,147,32,16,64,144,64,32,0,0,02,0321,0,0,0x18,0,0,043 -,128,216,16,0,0,02,2,16,0322,0,0x1,32,0,0,0154,0x1,0,0,48,128,064, -0202,0,021,128,06,0,0,0102,2,64,3,010,0,0,01,32,0,0,04,128,0,0x2,24,0 -,0x1,0104,0233,0,2,0x8,0,0,192,0,04,64,0,0x2,48,16,0,18,0x6,0,017,16, -0,0,128,149,0140,0,0,014,128,01,240,0,0,0x6,192,0,02,03,128,0,0,32, -128,0x1,0,16,128,0x7,48,0,0,0x16,0,0,0x3,0132,0,0x1,0144,01,0x2c,128, -05,0,1,036,192,0,0,128,147,054,0,0,4,128,0,0,208,0,0,0x2,64,0,0x1,042 -,1,0,0,021,021,0241,0,021,136,06,16,0,0,012,0,0,013,0x28,0,0,128,160, -0,0,024,128,2,0,01,0102,0x48,0,0,48,246,132,5,061,041,0x16,196,0,0, -152,16,013,041,041,0214,0x4,0,0,48,012,0106,01,0,017,16,16,192,02,014 -,01,0,0,062,0x4,0,0,208,16,24,0,0,0103,0,03,35,144,145,232,0x1,074, -128,07,0360,0,0,036,192,3,0170,0,0,15,224,0101,12,128,07,0,16,132,0x1 -,0361,128,18,0xc8,03,72,32,15,32,129,0x24,128,4,2,0,0,0x1c,192,3,129, -0314,144,01,48,0,0,0x6,192,0,0,24,0,0,3,32,32,014,128,0,0,32,0,0,6,0, -16,32,0,0,192,0,0,16,0,1,0102,0,02,0x1,32,0,0,0x4,0,0x3,0x3,16,129, -128,01,48,0,0,0x6,208,0,0,24,0,0,3,64,02,014,128,0101,0,0,012,0x6,0, -16,152,0,0,192,0,0,0x48,4,0x3,32,021,0,0,132,0104,16,0,0,18,01,0,0,24 -,0,0,3,0,0,0374,32,16,064,144,32,17,0,0,0132,64,0x23,0154,12,1,0,0, -132,0,0,64,16,16,0,15,128,64,0xc8,04,0x2,64,0,0,010,0,0,0x1,32,0,0, -0x24,128,0,0,192,132,24,64,0x23,04,163,0,0,128,0,02,192,0,0,24,16,0,8 -,1,128,0,016,64,0,0,192,128,0,07,16,0,04,16,03,128,0226,128,0,0x1,16, -2,0x1,128,16,0,0,03,0140,0,0x1,104,0,0,014,128,01,0,17,0x2,0360,0,0, -0x16,192,0x3,0130,0,0x1,0144,01,054,128,5,0360,0,0,036,0,0,02,128,195 -,0x8,011,129,0,0,024,0,1,136,16,3,0102,021,0,0,32,0,0,04,128,0,0x1,16 -,0,14,16,0104,212,0,0,012,64,3,0x28,0,0,128,0240,0,0,0x14,128,0x2,16, -0102,0202,8,041,042,131,0,0,0x4,16,0,01,1,0,0,0130,0,0,0241,32,0x8,32 -,144,05,48,06,134,64,0x2,0x1,0,015,04,0,0,192,0,0,014,01,043,062,0x4, -0,0,208,16,24,0,0,0103,0,03,013,128,0217,224,0101,074,0240,0x7,48,64, -06,196,03,0x78,0,0,017,224,0x1,61,128,7,48,0,017,128,0x7,0341,0,0, -0x12,136,3,0x48,32,03,32,129,0x24,128,4,0342,0,0,0x1c,192,128,0,0, -0372,132,0,0,16,0,0,2,0,0x1,16,0,0,03,32,16,0,0,128,0x1,48,0,0,0x6,0, -16,32,2,193,0,0,16,0,0,131,64,0,02,1,16,0,0,4,0,3,0202,16,178,128, -0101,0240,64,026,01,16,0,0,02,131,0140,4,0,0,0241,01,48,0,0,0x6,0,0, -04,0x1,0,015,04,0106,208,0,0,0x8,0x5,0x23,32,024,014,132,0120,32,0,0, -0102,193,0,0,24,0,0,0x8,0,0,198,48,16,6,128,0,0,192,128,0x2,041,0,0, -0154,042,01,0,0,132,0,0,192,32,0322,04,0,016,64,0,0,0x18,0,0,02,64,0, -0,014,0,0,0101,0x24,0,1,192,0,0,208,0,0,0x18,011,0,0,132,198,0,17,64, -32,0,0x7,012,0,0x14,192,0,3,128,191,128,1,014,0,01,0360,64,24,192,0,0 -,0140,0,1,104,0,0,12,0,0,0x6,193,64,0,14,164,1,48,0,0,026,192,3,0130, -0,0,014,0140,0x1,014,128,5,192,0,0,0x1e,192,0,0x1,0317,12,32,04,0,0, -32,24,0,1,0120,0,0,0140,0202,0,0,32,0,0,04,0,0,32,192,0x8,0,07,01,0, -05,0240,0,0,16,0,0,012,64,1,054,0,0,12,164,0,0,4,128,2,192,64,0102,72 -,0,0,16,0310,0x4,0120,48,0102,026,0x8,0,0,64,04,0x3,32,021,32,144,01, -0261,64,0,0,128,0x4,0,0x7,0x8,0,05,4,0x26,0xc8,042,12,0x1,042,062,0x4 -,0,0,208,16,48,16,0103,0,0,0x8,0,1,0103,176,143,104,0,0,56,128,01,224 -,0,0,06,192,0x3,0172,0,0,03,224,0x1,0x3c,128,0x1,0364,64,0,0x7,06,0, -05,128,7,0360,0,0,18,136,0x3,0x48,32,07,32,129,074,128,4,0x32,32,0x1c -,192,0x3,0,0,0373,16,0,0,48,0,05,03,0140,64,0,0,128,1,48,0,01,0x2,128 -,0,017,06,192,0,0,16,04,0202,64,16,014,0,0,0101,48,0,0,04,193,0,0x2, -03,32,241,128,0x28,48,0,0,128,192,0,0,0x8,5,0x3,96,0x1,014,0241,1,48, -0,0,2,224,2,0,15,0x6,192,0,0,0x8,0x1,013,32,4,014,0202,16,48,0,0,0102 -,0,0,16,0x18,0,0,0x3,0,0,145,16,132,024,128,6,16,0,0,64,0x8,0,0,4,2, -0101,0242,145,0x4,0202,0,0,208,0,0x8,05,0,0x5,128,06,16,0,0,2,64,16,8 -,0,0,01,32,0,0,04,128,0,0,192,0x8,24,01,0,0,4,0373,0,1,32,0,07,64,0, -0x3,16,0,0,192,0,0x8,4,0,014,02,0,07,128,0,0,010,0,0,128,0346,0140,0, -0,0x2c,0,3,0x6,192,0,0,24,0,0,04,0202,0x1,16,0,0,06,192,64,0,7,1,0, -0x6,06,0x34,0,0,026,192,3,0130,0,1,96,0x1,0,0,128,05,0360,0,0,036,208 -,0,0,128,0377,0x2c,0,0,024,0,0,32,010,02,03,64,0,0,8,0,0,0x8,0,0,1, -042,0x21,32,0310,010,0,15,026,16,0,0,012,64,01,054,0,0,128,168,0,0, -128,136,02,16,0102,0x2,64,0,0,32,237,132,0x1,0x18,0x6,16,0310,0x28,24 -,0,0,0x13,0144,0x1,32,128,0120,128,0,0,16,010,010,0,07,011,0,6,16,192 -,0x4,014,01,042,062,0x4,128,196,16,0,0,0x1,0103,0,0x3,0143,128,137, -232,129,32,128,01,48,0,0,036,0xc8,03,120,32,017,232,01,074,0240,1, -0360,32,0,7,1,0,5,128,01,0341,32,0x12,136,3,0x48,32,03,32,129,014,136 -,4,0342,0,0,034,192,0x3,128,0247,144,0x1,32,0x8,0,0x1,128,24,0,0,3,96 -,0,0,0x4,128,64,16,0,0x1,192,128,0,07,16,0,7,196,0,0,16,04,0202,64,16 -,014,0x8,0101,0,1,0x4,1,0,2,3,16,0375,0240,1,148,0,0,128,0,0,0x2,26,0 -,0,3,96,0,0,0x2c,0202,011,48,010,128,192,2,0,15,64,192,0,0,72,0,0,023 -,32,01,128,128,4,48,8,18,192,0,0,0x18,0,0,0x3,0,0,151,0,0,132,04,0,0, -16,18,8,0202,0,0,16,0x48,0,0,01,32,0,01,192,0,0,208,0,010,02,0,5,128, -64,24,8,3,64,0,0,010,0,0,0x2d,48,0,0x1,192,0,0,16,64,24,01,0,0,4,0215 -,0,5,64,0,0,010,0,0,02,64,0,5,192,0,8,8,0,0x17,0x8,0,0x1,153,96,0,0, -054,128,0x1,0,0,64,0,0,196,0,0,64,0,1,136,1,014,128,01,0,011,0x1,0,06 -,0x2,64,0,0,0x16,0,01,0x58,0,01,0144,0x1,014,128,5,0,01,036,192,0,0, -128,168,0x28,0,0,0x14,128,0,1,2,128,64,0,0,32,010,0,01,144,0x4,128,0, -18,0104,132,0x48,012,0,0,010,0x2c,0,0,128,0240,0,0,0x4,128,0x2,0,0x1, -131,0x48,0,0,16,144,128,0x1,25,06,0x26,128,0x2,64,16,013,0104,0x21,32 -,144,05,062,021,0106,010,36,0,14,014,64,0,01,014,01,0,0,061,0x4,04, -192,16,48,042,0103,192,0104,0,1,013,062,0375,224,01,32,128,0x7,064,32 -,0x6,192,03,56,0,0,0x3,224,01,074,0,0,0x7,48,0,017,128,0x7,241,32,18, -0310,0,0,72,32,017,0x28,129,074,128,04,0362,0,0,034,192,3,128,254,132 -,1,32,0x8,06,0,0x1,0x18,0x4,0x3,64,64,12,128,0101,48,0,0,06,0,0,64,0, -017,02,0101,0,0,16,04,3,64,16,04,4,0101,48,0,0,04,0101,0,02,03,160, -0236,0240,0x1,024,0,0,6,0,0,04,011,0101,0x3,32,4,0,0,129,021,48,0,0, -0x6,0,0,04,0,017,0x26,192,32,010,0,0,16,34,0,0,72,128,0,0,48,0,0,0x2, -0,0,0x28,24,0,0,0x3,128,147,176,17,046,06,16,18,0,0,64,72,013,104,0,0 -,32,164,137,0x4,0202,026,0321,0,17,8,0102,02,64,0140,010,0,0,015,32,0 -,01,192,0104,208,0,0,0x18,64,03,0,0,151,0,01,16,0,5,0x3,0142,0,4,16,6 -,192,0,0x18,12,0,3,0x2,0x2,0,01,16,0x3,128,0212,128,0x1,45,128,0x1,0, -01,6,0,0,02,0140,0,0,3,128,01,16,0,0,0x4,192,0,15,160,1,48,0,0,026, -192,03,0x58,0,0,014,0144,1,12,128,05,192,0,0,036,208,0x3,0,0,0264, -0214,1,024,128,0,2,2,0,0,0x21,0141,0,0,1,128,0105,32,041,0102,196,0,0 -,16,0,0x5,64,010,0,05,0240,0,0,16,0,0,012,64,1,054,0,0,0214,0240,0,0, -4,128,0x2,192,132,2,64,3,0240,193,132,0104,0x28,0,0,0x26,192,132,24,8 -,35,0,0,32,0114,132,010,0,0,011,0106,0,0,36,8,0,5,64,0x4,0,5,32,0x16, -192,0104,12,0x1,34,062,4,12,208,16,176,64,5,192,04,0,0x1,3,0,0,0264, -224,01,32,128,07,0362,0,0,036,192,0,0,0x19,0,0,017,224,0101,074,128, -0x1,49,0,0,0x1c,0,5,64,016,0,0x5,0240,07,0364,0,0,18,136,0x3,72,32, -017,32,129,074,128,4,240,32,28,128,3,128,0236,132,0x1,32,0,0,6,192,0, -0,24,0,0,2,96,16,014,128,01,16,0,0,4,0,0x1,026,0,5,64,013,0,05,32,06, -192,0,0,16,0x4,2,64,16,0,01,0101,48,0,0,04,192,0,02,0x3,16,144,128, -0121,36,0,0,6,192,0,0,032,0,0,136,0140,0,0,015,128,0x21,48,011,64,0x1 -,0,0,16,0,5,32,8,0,5,16,0x6,192,0,0,136,0,0,131,32,0x2,014,132,8,48,0 -,0,4,192,0,0,0x19,64,3,0,0,0322,128,0,5,8,0,0,01,0,0x1,0x4,128,0,05, -16,0,0x6,0x8,0,032,0264,0,2,128,0,5,8,0,0x3,04,128,0,0,16,0,7,16,0, -0x6,010,02,0,0x1,2,64,0,0,0x8,0,0,1,32,0,0,04,128,0,0,16,0,0,0x2,0,2, -0316,0,0x36,0202,217,0x24,0,0,04,145,0,0,16,132,02,64,0,0,8,0,0,1,32, -0,0,0x4,128,0,0,16,0,017,128,0,0,16,132,02,64,0,0,010,0,0,01,32,0,0,4 -,128,0,0,16,0104,02,64,0,0,16,0274,12,0,0,16,2,02,0,0,0x4,0,2,32,0,5, -16,0,0x13,0x24,0,1,8,0x1,0,7,24,128,0,0,32,48,0324,64,0,0x1,0x8,0,1, -64,04,128,0,0x2,02,64,0,0,010,0,0,0x1,021,0,16,1,32,0,0,4,0,1,16,0,0, -1,64,0,0,0x8,0,0,0x1,0,0x2,136,0,0,0202,141,010,0,04,64,0,47,32,223, -32,0,0,4,128,0,01,0x4,02,64,0,0,0x8,0,0,01,32,0,0,4,128,0,0,16,0,017, -128,0,0,16,0,0,2,0,0,136,010,0,0,0x1,32,0,0,0x4,128,0,1,136,0,0,17,0, -0,128,128,32,0,06,8,0,32,2,0,06,32,0,0x3,128,0361,0,0x1,64,0,02,64,0, -0x3,32,0,25,64,0,013,129,0,2,128,196,0,01,0x4,0,0x1,0x1,0,0,16,2,0,0, -136,0,0x2,0x1,2,0,013,8,0,5,1,0,0x4,64,0,8,64,32,0,02,0253,0,01,05, -0x4,0,0x2,32,16,0,0,042,0,0x1,192,0,0x2,02,02,0,021,64,32,0,04,32,0, -0x6,04,0,0,8,128,232,010,32,0x1,64,0,03,16,0,0,19,0,01,0x8,0,0,0x1,32 -,0,2,0x1,0,017,0104,0,0x2,128,0,1,0x2,0,0x2,32,0,0x5,0x2,0371,0,0x7,2 -,0,0x13,128,0,02,128,0,17,64,0,2,191,0,0x1,16,128,0,0,64,32,0x2,0,1,8 -,16,0,0,010,0,0,01,0,02,32,0,18,8,0x4,0,0,042,16,4,02,0,011,247,0,2,8 -,2,0,0,128,0,0,64,0,05,16,0,0,02,4,0,17,64,0,0x1,64,0,0,0x8,0,2,64,16 -,136,0,0,04,32,0,1,0x1,0,0,0235,0,0x1,010,0240,0265,32,192,04,64,0,0, -16,32,24,04,131,4,128,024,014,0124,01,0,016,024,16,0,0,04,0x48,0,0,25 -,32,0252,0x7,0,0,05,160,0240,4,128,0120,64,0120,0,0,197,0,02,0x28,48, -208,0x16,34,0x2,0,0,0140,0132,014,128,64,0,0,8,192,0127,64,0,017,04,0 -,01,0x18,0104,0x1,64,16,05,0241,0132,208,0x7,0144,132,45,56,64,0334,0 -,0,0357,0,02,8,0,0,64,0,0x3,32,16,4,32,0,0,1,32,128,64,0,023,2,0104,0 -,01,16,0x4,128,64,16,0,0x2,32,0x2,0,0x1,0202,191,012,0,0x3,16,32,0,0, -4,0,0,0x8,64,1,0,04,0x1,0,16,02,0,01,010,0,1,32,0,0x1,2,0,1,8,02,64,0 -,0,8,0,0,128,32,197,0,0x6,02,0,0,1,0,0x3,64,0,02,1,0,012,0x4,0,2,04,0 -,1,129,0,1,128,0,03,8,0,01,010,0,04,128,128,0205,0x12,0,012,010,0,27, -04,0,12,0xc8,146,144,0x4,0,1,2,0,0x1,12,0,0,128,0,0,16,4,128,0,023, -0x1,0,0,128,0,011,010,0,04,64,4,192,0324,0,0,2,0,1,16,0,036,8,01,0,03 -,02,0,0x3,128,0,1,64,0,0x1,0x8,0,0,128,0272,0,4,32,0,010,0x4,0,0,4,32 -,0,011,2,0,14,0x2,0,4,32,0,0,0x4,0,0,128,0275,0,01,2,32,0,0,128,0,0x8 -,16,128,1,0,015,16,0,21,128,0341,0,05,0x2,0,057,128,219,18,0,0,010,0, -25,02,0,1,0x8,32,0,024,010,0322,2,0,7,4,0,0x28,0x2,0,02,0240,159,32,0 -,0x3,0140,0,045,02,0,4,128,0,0,48,64,0,01,0342,128,0,03,4,0,0x1,16,0, -01,64,0x4,34,0,0,04,010,0x2,0,18,16,32,0,0,64,0,0,32,0,0x1,128,64,0,3 -,32,0,0x3,148,0,3,0x2,0,1,02,0,07,128,0,0x1,128,0,017,0x2,0104,0,1,04 -,1,0,0,16,04,32,0,0,021,010,02,041,128,0,0,2,1,0,0,0202,0112,0x28,160 -,128,0240,0202,0x16,0122,0x28,0,0x1,32,2,0104,0,0,8,144,161,0,0,128,0 -,013,32,0,01,128,0,0,52,64,0120,208,0x6,16,0114,0101,0141,128,0x5,160 -,0,0,0124,192,128,0122,0,0,128,0352,144,0124,144,0x8,0374,024,0x5,56, -010,64,8,0,01,128,0102,16,011,144,16,32,0,017,128,192,0,0,72,4,224,32 -,16,0x1,0x8,0163,128,0x5,132,128,144,2,144,0341,2,0362,64,64,16,16,0, -2,8,0,4,128,0,0,5,8,0,0x1,128,0,16,128,0,0,0x8,04,128,32,16,0,01,64,0 -,0x6,0x1,2,0323,0,3,0x2,0x1,0,0,0x2,0,0x1,0x1,0,6,0x1,0,021,0101,0,03 -,0x2,0,0x1,128,0,0,0x1,0x4,2,0101,16,0,0x1,64,128,0246,0,17,128,0,024 -,64,0,0x2,04,0,0x5,128,0,02,128,185,0x2,0,0x8,0x1,0,0,0x2,2,0,0,0x2,0 -,0x26,010,0343,04,0,0x1,128,04,034,0,0,32,32,0,0x1,0x8,01,16,4,0,0, -128,0,0,12,0,0x13,32,0,0x1,128,0,02,0x2,0,0,64,010,0,04,16,148,0,0x5, -0x13,64,0,1,64,0,0,36,0,0,64,0,0x15,24,0,0x2,010,0,014,01,0314,0,4, -128,128,0,8,64,0,1,128,0,0x8,64,0,0x2,64,0,03,32,0,1,0x8,0,7,16,0,0, -16,0,01,0240,0362,0,011,4,0x8,0,2,05,0,28,01,0,04,16,0,02,128,0364,04 -,0,0,0x18,0,1,64,1,01,0,02,192,0,5,16,0,014,16,0,010,04,0,0,16,0,012, -0351,0,0,4,0,015,0x28,0,0,64,64,0,0x8,0x21,0,0x5,128,0,0x4,0x1,0,0, -0x4,0,012,239,0,0,0x2,0,01,128,0,0x3,02,4,0,01,32,0,0,64,0,016,02,0, -02,0202,0,01,128,0,1,01,0,010,01,0,1,64,01,0273,0,0,128,0,05,12,128, -0x8,0,0x4,16,0,0,0x4,0,0x1f,64,0,02,128,164,16,0,0x4,16,0,2,32,0,01, -64,128,0,3,16,0,013,8,0,013,021,0,011,158,0,2,16,0,0x5,128,16,0,24,04 -,128,0,1,64,0,02,0x4,0,0x1,32,0,0x5,0202,134,0,03,64,010,0,0,02,0,06, -36,0,02,32,0,0x12,128,0,0x1,0x8,0,0,0x5,0,0,8,0x24,16,16,148,02,129, -64,02,128,0214,0,016,16,8,0,026,8,0,0x2,04,02,128,0,05,010,0,0,02,246 -,0,0x2,128,0x1,0,011,034,0,01,48,0,19,6,0,0x1,0140,0,0,013,0140,0,0, -0x3c,144,01,240,0,0,06,192,0x3,0,0,0214,0,0x2,128,0,012,36,0,0x1,16,0 -,0x13,0x2,0,01,0140,0,0,011,0x28,0,0,024,129,0,0,0120,0x2,3,64,17,2, -0246,0,0x3,0106,0,01,24,4,0,0x5,32,0,1,192,0x2,1,0,021,24,2,0,0x1,64, -0x8,128,061,24,0,0,046,0142,0,0,0130,160,0x1,128,0365,0,02,128,07,0x1 -,0,0,0x1e,0,6,024,0,1,224,0,19,0x1c,0,0x1,24,0,0,011,192,0x1,0x14,0,0 -,7,0120,0,0,034,64,0x1,128,223,0,3,0x6,0,2,04,0,05,16,0,01,192,0,0x13 -,0x18,0,03,4,128,1,32,0,0,06,128,0,0,24,0,0,2,0,0,0376,0,0x3,6,0,011, -32,0,01,192,0,023,24,0,0x2,0104,0x4,128,1,32,0,0,06,128,0,0,24,0,0,2, -0,0,0375,0,01,0x4,0,0,64,010,0,0,27,0,1,014,0102,0,02,4,0,02,32,0,0x6 -,0240,0,06,208,0,0,0120,136,128,64,0,02,011,0,0,0x8,36,32,16,148,8, -128,64,042,128,0365,0,0x6,24,0,0x6,0x1,0,012,48,0,0x6,24,0,0,128,0, -0x1,0x8,0,0x3,0x4,128,0,03,128,0,0,0x8,0,0,129,182,0,0x2,128,0x1,48,0 -,0,036,192,0,0,32,32,0,0,0140,0,0,0x2c,0,0x1,48,0,0x7,48,0,0x6,24,06, -112,0,0,6,192,0,02,017,96,0,0,074,160,0x1,0360,0,0,6,192,0x3,128,0245 -,010,0,0,128,144,0,0,16,0,0,26,64,0,0,64,01,0,0,32,0,0,024,0,0x1,16,0 -,07,0x28,0,6,024,026,148,0,0,0x2,64,0,02,0105,0x24,0,0,024,129,0,0, -0120,128,0x2,64,1,021,0322,0,2,16,0x16,192,0x2,24,0,0,0x13,0,0,132,0, -0,128,5,0x18,0,1,192,0x28,0,6,0x28,0,0x6,0x14,16,0102,0,0,0130,0,0,19 -,1,0,0,6,128,021,26,0,0,026,96,0,0,24,136,0x1,176,173,0,1,014,128,0x7 -,0361,32,0x1c,192,131,120,0,1,224,129,36,0,1,224,0,15,128,07,176,0,0, -28,0xc8,03,0,0x1,5,192,1,024,0,0,07,0122,0,0,034,64,1,128,0345,04,0, -0x2,6,192,0,0,26,0,0,0x3,32,16,0,0,128,01,32,0,01,192,0,16,0x6,64,0,0 -,24,0,0,3,0,01,010,128,01,32,0,0,06,128,0,0,0x18,0,0,02,160,195,0,01, -48,04,0x6,192,0,0,0x1a,0,0,03,0140,04,0,0,128,0x1,16,0,0x1,192,0,16, -0240,144,0,0,24,0,0,0x3,0,01,8,128,01,32,0,0,0x6,128,0,0,24,0,0,02,0, -0,0273,48,0,0,4,0,0,64,8,0,0,0x3,0,0,16,104,0,0,13,0,01,0x4,128,16,0, -0,32,0,016,128,06,0120,132,128,64,03,8,0,0,137,1,8,36,0101,16,148,136 -,128,64,0142,0,0,254,0,011,0142,0,0,014,0,0x1,1,0,0,02,02,0,7,48,0, -0x6,24,06,128,0,01,0x8,03,0,0x3,128,0,0x5,0x8,0,0,128,0264,0,0x2,128, -01,240,0,0x1,192,0x3,0,0x1,017,0140,0,0,054,0,0,0x6,48,0,16,0x6,112,0 -,0,06,192,03,24,0,0,15,0140,0,0,074,128,01,0360,128,06,192,3,128,199, -014,0,1,194,0,0,208,0,01,64,0x3,0,0x1,015,32,0,0,024,0,0,0246,16,0,16 -,6,144,0,0,0x2,64,03,010,0,0,05,0x21,0,0,024,194,0,0,0120,0,0,02,64, -0101,0240,0234,4,0x48,0,0,18,6,8,24,0,01,023,0,0,4,12,128,0205,24,0,0 -,046,194,34,0,6,128,0,06,64,16,0101,0,0,152,16,3,0140,17,6,128,0x5, -0x19,0,0,6,96,0,0,24,128,0x1,0,0,137,0140,0,0,014,128,0x7,48,0,0,06, -196,131,0x18,64,016,224,0x1,36,128,0x7,224,0,7,64,0,0x6,0240,01,176,0 -,0,0x1c,128,03,0170,0,0,05,192,01,0x14,0,0,0x7,0122,0,0,0x1c,72,01,0, -0,219,132,129,0,0x1,0x6,0,01,0x18,0,0,0x3,2,64,12,128,01,32,0,0,0x6, -193,0,17,64,0,0,24,0,0,03,0140,0,0,010,128,01,32,0,0,06,128,0,0,0x18, -0,0,02,16,0341,128,5,48,5,06,0,0,024,24,0105,0x3,0,0,0x4,12,128,1,16, -0,0,38,192,0,07,64,0,6,32,0,0,144,0,0,24,64,0x3,104,0,0,0x8,128,1,32, -0,0,06,128,0,0,24,0,0,2,128,0362,32,021,0,0,32,0,0,0x2,32,26,0,0x1,04 -,02,01,0,0,010,4,128,0,0,208,0,16,16,0x14,0,0,128,64,0x3,0x8,0,0,051, -0x24,0,0,36,1,16,148,0,0,129,64,2,0101,0275,0,0,128,0,8,64,0,1,128,0, -013,010,0,06,04,0,3,8,0x3,0,5,16,0,03,010,0,0,128,0267,128,0101,074, -128,0x1,0360,0,0,0x1e,196,0,0,0x78,0,0,03,0140,0,0,0x2c,128,01,192,0, -7,32,0,06,144,1,192,0,0,06,0,1,96,0,0,017,0144,0,0,074,128,1,0360,0,0 -,0x6,192,3,129,152,8,1,52,128,0,0,208,0,0,0132,64,0,0,104,0,0,1,32,0, -0,024,128,0,0,192,16,0,14,128,0,0,192,0,0,0x2,0,01,96,0101,045,32,0,0 -,024,146,0,0,0120,0x4,0x3,64,021,48,214,128,05,176,0x8,026,193,0x28,0 -,01,147,96,64,014,144,05,24,0,0,64,0,0,02,0,0x6,16,0,0x6,010,0x6,02, -010,031,03,010,0,01,06,128,1,0x19,0,0,0106,0142,0,0,24,128,0x1,144, -0261,224,0101,56,0,0,7,0360,0,0,036,196,3,0x78,0,0,15,224,129,0x24,0, -0,01,0362,32,0,6,136,0,6,0104,07,48,0,0,0x1c,192,128,0170,64,0x5,224, -1,0x14,0,0,7,0120,0,0,034,0120,0x1,96,169,132,0101,48,010,6,192,128,0 -,0x1,03,0140,0,0,014,128,0x1,32,0,0,0x6,01,32,0,15,0x6,0,0x1,24,0,0, -128,0140,0,0,0x8,128,1,32,0,0,06,128,0,0,24,0,0,2,128,0334,128,5,48, -0202,6,208,0,0,24,5,3,0140,129,014,128,01,16,128,0106,0,0,0x8,16,0,06 -,010,0,6,06,0,0,024,24,0,0,16,0,0,041,8,160,0x1,32,0,0,0x6,128,0,0,24 -,0,0,2,0,0,0341,32,16,48,32,0,0,2,0,0,27,0,0x1,014,0,0,015,32,0,0,4, -128,0,0,16,0,7,136,0,06,164,0,0,208,0,0,128,0,0,32,012,0,0,0111,8,8, -36,0x2,16,148,0102,128,64,012,0x4,0274,0,0,128,48,0,3,24,0,0x3,12,0, -0x1a,0x8,0,4,128,0,0,32,0,03,010,0,1,0226,0,0,01,0x3c,128,0x1,48,0,1, -192,0,0,24,0,0x1,0140,0,0,054,128,1,48,0,0,16,0,05,32,010,0,05,144,01 -,48,0,0,0x6,192,0x3,0140,0,0,017,104,0,0,074,128,1,0360,64,06,192,3, -128,195,04,16,54,128,0,0,16,0,1,64,0,0,0x8,0,1,32,0,0,024,128,0,0,16, -0,0,042,0,0x6,17,0,5,128,0,0,16,0104,02,64,3,0,0,0101,133,32,0,0,024, -0240,0,0,0120,0x2,02,64,011,36,147,0214,04,176,0x8,0106,193,0x28,0,0, -4,0x23,0144,17,128,128,0x5,24,0,0,0x26,192,136,0,06,64,0,0x6,32,38, -192,136,24,0x21,131,96,132,06,128,0x1,032,0,0,046,0140,0,0,0x18,0240, -01,128,0362,96,128,56,0,0,7,240,0,0,06,192,03,0x78,0,0,0x3,232,0101, -0x24,0,0,0x7,0344,0,0,2,0,6,1,0,0x5,128,0x7,242,0,0,28,192,03,120,0,0 -,0x5,192,01,024,0,0,0x7,0122,0,0,28,64,1,128,164,136,128,0,0,32,0x6, -192,0,01,0x4,03,0140,0,0x1,132,1,32,0,0,06,192,0,0,16,0,06,8,0,6,6, -192,0,0,24,0,0,128,0140,0,0,010,128,0x1,32,0,0,6,128,0,0,0x18,0,0,02, -144,132,128,8,0,0,0202,6,192,0,2,03,104,0,0,32,160,1,16,0,0,06,192,0, -0,32,0,0x6,16,0,0x5,128,6,208,16,24,0,0,32,0,0,0102,010,128,0x1,32,0, -0,06,128,0,0,24,0,0,2,0,0,176,32,132,0x4,0202,046,0x4,0,0,03,0,01,41, -0,0,01,32,0,0,0x4,128,0,0,208,132,02,0,0x6,1,0,6,6,024,02,128,64,011, -4,0102,137,16,010,36,1,16,148,64,128,64,18,192,178,0,0x2,8,0,5,64,32, -0,07,010,0,06,04,0,6,0x6,0,0,32,0,0,0x8,2,0,3,128,0,0,32,0,0x3,010,0, -0,2,0263,128,01,0x1c,0,0,0x6,49,0,0,6,192,0,0,56,0,01,0140,0,0,0x2c, -128,07,192,0,15,128,7,64,0,0,6,192,0x1,0x18,0,0,017,0140,0,0,0x3c,128 -,0x1,240,64,06,192,03,0,0,0307,8,16,134,0x8,64,16,0,0,2,64,0,0,72,0,1 -,32,0,0,0x14,128,0x6,0,0,32,0,14,128,6,128,32,2,64,2,0x8,0,0,05,48,0, -0,0x14,0242,0,0,0120,4,2,64,0x21,0262,0271,0,0,021,02,0102,0106,196, -0x8,0x18,1,0143,32,0,0x1,132,17,24,0,0,64,192,128,04,0,06,2,0,06,16, -01,0x2,24,0,0,1,96,36,06,128,0x21,24,0,0,134,0140,0,0,0x18,0202,0x1, -144,195,0140,0,0,014,128,07,0360,32,036,196,03,0130,0,0,03,224,0101, -36,0,0,0x1,0362,0,017,128,0x1,240,128,0x1c,144,2,120,0,0,05,192,0x1, -024,0,0,7,0120,0,0,28,64,0x1,128,198,04,1,0,0,32,02,192,0,0,24,0,0,3, -32,0,0,014,128,01,32,0,1,0101,64,18,0,0x6,011,0,0x7,64,0,0,24,64,01, -0140,0,0,8,128,01,32,0,0,0x6,128,0,0,24,0,0,02,144,167,128,0x21,0,0x1 -,4,193,0,0,24,0,0,3,64,0,0,0114,161,0x1,16,128,0,0,128,0,017,128,0,0, -192,02,0x19,0,0,0x2,0140,0,0,0x8,128,0x1,32,0,0,0x6,128,0,0,0x18,0,0, -0x2,128,231,32,132,0,0,160,0x26,04,0,0,0x13,5,16,104,0,0,32,36,0,0,04 -,128,0,0,208,132,0x8,0,06,4,0,05,128,0,0,16,64,128,64,0,0,0x28,64,137 -,04,8,164,32,16,148,132,128,64,012,128,0216,0,06,8,0,1,0142,0,0x8,014 -,0,6,06,0,012,010,0,0,64,0,0x2,128,0,0x5,0x8,0,0,0x1,0317,0,0,01,074, -0,0,06,48,0,0,14,192,03,0x78,0,0,3,0140,0,0,054,128,1,192,0,16,6,64, -32,0x6,192,0,0,32,0,0,017,0144,0,0,0x3c,0240,01,0360,128,6,192,0x3, -128,0325,04,16,0x36,0,0,64,0x12,0,0,18,64,0x3,104,0,0,01,32,0,0,0x14, -128,0,1,36,0,017,64,132,010,2,64,0,0,64,0,0,0x5,32,0,0,148,128,0,0, -0120,010,0x2,64,011,0241,218,0214,0x1,0261,8,0106,196,042,16,0,0,0x23 -,0140,0,0,0214,132,011,24,0,0,0x26,0xc8,128,0,06,24,0,0x6,0104,198,0, -0,0x2,24,01,013,32,0,0,0x6,128,0205,24,0,0,0x16,104,0,0,0x18,131,1, -128,0325,96,0,0,56,128,0x7,0360,0,0,8,192,131,112,0,0,017,224,0101,36 -,0,0,7,0360,0,017,128,0x1,240,128,0x1c,136,131,0x58,0,0,5,192,01,024, -0,0,0x7,0120,0,0,28,64,1,128,213,136,1,48,0,0,2,192,0,0,010,0,0,03, -0142,0,0,014,128,0x1,32,0,0,6,64,0,16,0x6,0101,0,0,24,0,0,0x3,32,0,0, -010,128,01,32,0,0,6,128,0,0,24,0,0,0x2,144,193,128,0x28,48,012,36,193 -,0,0,16,64,03,104,0,0,015,0240,1,16,0,0,6,128,0x4,1,0,016,0106,192,02 -,25,0,0,03,64,0,0,010,128,01,32,0,0,06,128,0,0,0x18,0,0,2,128,134, -0240,0,0,0x5,128,0x26,0x14,0104,18,0,0,16,0x8,0,0,0x1,32,0,0,0x24,128 -,6,16,0,017,128,0x2,16,0,0,128,64,3,0x28,64,011,16,010,36,0x12,16,148 -,72,128,64,02,192,184,0,0,1,0,0x4,010,0,0x1,2,0,3,16,0,0,06,0,16,0x28 -,0,0,04,0,1,0x8,0,0,64,0,02,128,0,5,0x8,0,0,01,186,128,0,0,014,16,0x6 -,64,128,0x16,192,03,0x78,0,0,0x3,128,0x1,054,0,0,6,192,0,07,72,0,7,06 -,48,0,0,06,192,131,32,0,0,017,96,0,0,074,144,01,0360,64,0x6,192,0x2,0 -,0,0377,0x8,01,52,0x2,64,129,0,0,012,64,03,104,0,0,0x1,0,0,04,0x16,0, -0,0x6,192,0,0,16,0,5,64,0x8,0,5,32,042,24,0,0,2,64,0,0,64,0,0,0105,48 -,0,0,0x14,128,0,0,0120,0,0,2,64,16,0261,208,128,0,0,176,0x8,0106,4,02 -,014,0,0,147,0140,0104,0214,0202,0105,24,0,0,0x6,192,36,010,0,05,64, -0x4,0,0x5,32,024,0xc8,0104,24,17,131,32,0,0,0x6,128,0x5,24,0,0,0106, -104,0,0,24,144,0x2,144,0313,96,0x1,074,128,07,48,32,16,192,03,0x78,0, -0,017,96,0,0,36,128,0x7,242,0,0,28,0,0x5,64,016,0,5,0240,07,240,0,0, -034,192,3,0x58,0,0,5,192,0x1,0x15,0,0,07,0120,0,0,0x1c,64,0x2,0,0,185 -,132,0,0,48,010,2,0,01,010,0,0,0x3,02,16,014,128,01,16,0,0x1,192,128, -026,0,5,64,013,0,5,32,04,192,0,0,0x18,0,1,34,0,0,010,128,1,32,0,0,6, -128,0,0,24,0,0,2,144,191,0,0,0x1,48,1,024,129,0x4,021,64,03,0,0,2,12, -128,041,32,0,01,196,04,16,0,5,32,8,0,0x5,16,06,194,0,0,24,0,0,0x3,64, -0,0,010,128,1,32,0,0,0x6,128,0,0,0x18,0,0,02,128,0246,0,0x3,1,32,0,0, -132,128,0,3,64,0,0x5,16,0,06,8,0,06,01,0,03,16,0,02,64,0,011,216,32,0 -,0,4,0,0x4,04,0,0x2,2,0,1,0x4,0,0,01,16,0,07,32,0,0x6,16,0,2,02,0,01, -2,0,0,0x1,0,01,4,128,0,0,16,0,0,2,64,0,0,128,0362,0,012,32,0,0x2a,128 -,217,36,0,0,04,128,0,0,16,0,0,2,64,0,0,010,02,0x1,32,0,0,0x4,128,0,0, -16,0,15,128,0,0,16,024,2,0,0x1,014,18,1,32,0,0,04,128,0,0,16,0,0,0x2, -64,0,0,144,0213,12,0,0,136,0,0,01,36,0,0,128,128,0,0,16,01,64,02,0,0, -8,0,0,16,042,0x2,0,15,64,36,0,0,64,144,128,0,0x3,16,0x1,0,0,64,04,0,1 -,021,0,0,48,0254,32,0,1,0240,0,0,16,0,0,0x4,0104,0,1,16,0,0,64,0,01, -128,0x1,0,0,128,0,017,02,0,1,8,0,01,16,0,0,4,128,0,0,16,0,0,0x2,64,0, -0,0x8,0,0,1,128,246,010,0,013,8,0,0x28,0240,0323,32,0,03,16,0,0x1,64, -0,2,128,32,0,0,4,128,0,19,16,0,01,64,0,0,8,0,0,01,0,0x1,4,0,1,16,0,1, -64,0,0,128,197,0,011,32,0,0,04,0,026,4,32,0,7,32,128,0,0x7,0323,0,1, -128,0,026,010,1,0,5,0x24,0,8,16,0,012,0232,0,7,64,0,03,010,0,03,03,0, -023,042,0,0x6,32,4,0,0x2,0101,0,2,146,0,012,64,0,4,0x4,32,0,023,0x2, -18,0,0x7,010,0,0x3,2,0,0,134,0,16,010,0,032,8,0,02,0x4,0,0x2,192,0,0, -128,0371,0,01,32,0,0x13,0120,0,0x6,0x28,0,6,64,0,8,2,0,05,135,0,04, -0x2,0,0x3,041,0,0,0x1,0,0x15,128,0,0,0102,0,04,16,1,0,02,32,02,0102, -32,04,0,0x1,1,0226,010,0,5,0x8,0,4,128,64,0,02,64,0,16,1,024,128,8, -0x4,0x1,0,01,4,136,64,16,0,3,8,0x4,0,0,2,0310,0,04,02,0,0,02,32,0x1, -17,0,0,02,32,0x28,021,0,0x1,16,0,017,128,01,0x36,128,062,0120,0,1,32, -03,0x28,0,0,05,16,01,042,64,6,16,0,0,7,0365,128,0,0x3,16,0,0,16,8,0,0 -,0x8,0241,04,64,47,16,36,0,0,192,072,0,017,132,128,072,042,02,012,05, -2,184,131,0101,144,0,0,0x2,193,39,010,04,0x1,129,221,128,0,012,4,0,1, -0x4,0,1,32,32,0,021,128,0,5,8,0101,04,128,0,0,0104,128,8,132,0,0,128, -0311,8,0,05,010,0,04,128,128,0,0,010,0,0,64,16,0,016,128,0,0,0101,32, -0,0,132,0,02,4,0102,0,03,16,0,4,0352,0,012,32,0,0,4,0,02,0x2,0,0x7, -0x8,2,0,5,4,0,016,010,0,2,04,128,0275,18,0,0,16,64,0,0,64,0,017,4,0x1 -,0,0x1,0x4,0,02,0202,0,02,0202,0,2,128,16,0,016,72,132,0,0,2,0,0x21, -136,04,0,0,16,0,04,128,1,0,01,128,0,0,64,16,0,01,128,0235,16,0,013,1, -0,0x17,16,0,04,2,8,0,0x2,04,0,01,042,0,0x1,64,252,32,0,0,4,0,19,0x8,0 -,6,04,0,06,01,0,6,0x8,0,6,128,0256,0,013,0x3,0,0,129,0,21,0120,0,2, -0x1,16,0,014,0226,0,011,16,0,23,128,0,0x7,0x4,0,011,0x4,164,0,48,1,0, -04,128,0351,128,0,0,128,0,0,1,0,054,32,0,04,201,0,47,128,0,0,32,0,0x3 -,144,192,32,0,0,16,0,1,0101,0,1,4,0,025,16,0,02,128,0,0,024,0,011,32, -2,132,32,010,010,129,0,0,0323,32,0,0,0x1,0,01,2,0,02,0101,0,2,128,0,0 -,01,136,0,01,32,0,013,16,0,03,64,0,0x2,128,32,16,0,0,128,0,3,64,0,1, -0102,0,0,128,147,0140,0,0,011,0,01,046,0,0,8,72,0x1,02,0,0x1,32,0x28, -161,168,0,1,0240,0,012,32,8,0,0x2,21,062,0,1,04,0,0,012,64,0,0,32,0, -01,16,01,0x32,64,0x4,216,0,0,193,146,32,64,16,0124,36,64,2,0142,5,8, -96,014,129,02,0164,0240,012,0,0,64,4,0,0x2,0140,16,0,0,0x1,0,03,32, -010,128,64,0,0,132,160,32,136,3,118,010,0,01,0202,64,112,04,0x4,0101, -0x37,0x8,06,0135,0,0,0233,0,01,021,0,0x1,64,0,01,4,0,0,32,0,01,2,128, -0,0,0x8,0,0,64,0,03,64,8,0,0,2,0,4,4,0,0,0x21,0,0x2,32,0x8,0,04,132, -64,04,0,0x1,0104,64,0x4,0x8,1,128,0353,0,0x2,0x8,01,0,04,16,16,0,1,64 -,16,0,6,32,0,06,32,0,0x3,0x2,021,0,1,04,129,0,0x4,16,0240,0,0x1,16,0, -0,16,0,0,129,218,0,012,128,0,0,128,0,27,4,0,013,128,0265,0,0,1,013,32 -,0,0,16,2,0,0x1,010,128,0,0x1a,03,0,0,8,0,0,64,64,0,0,1,0,011,136,4,0 -,04,128,0,01,128,2,17,2,32,0,0,0x2,0,19,1,0,0x6,1,0x4,0,1,0x8,0,0,64, -0,1,48,0,0,16,155,0,02,0x4,128,0,4,0x2,0,4,128,0,1,18,0,0x18,32,0,0,8 -,0,01,0x4,0,0x3,129,0262,64,0x4,0x8,0,027,0x4,0,06,2,0,0,01,0,4,021,0 -,0,32,0,4,128,0,0x2,128,232,32,0,0,04,0,021,164,0,0x1,64,0,3,0122,0,1 -,32,0,1,128,0,016,2,0,3,237,0,0x3,16,0,16,010,0,6,0x4,0,0,32,0,7,128, -0,011,2,0,0x1,128,0254,0,0x2,0x8,0,06,8,0,04,0x2,0,0,32,0,0,64,0,6,32 -,0,014,8,0,2,1,64,0,03,010,0,0,128,0360,0,03,04,0x4,0,013,16,128,0x1, -0,017,010,0,0x1,0x2,0,05,1,16,0,2,4,0,0x1,128,213,0,17,0x8,0,0x5,64,0 -,011,16,0x2,0,3,02,0,02,0104,0,0x1,16,0,0,16,64,0,0,4,0,0,0252,0,0x4, -16,0,0x1,128,0,04,1,0,03,0x2,0,0x2,0x5,32,0,4,128,0x2,16,0,2,0x12,16, -0,07,4,0,06,128,0,0,133,0,3,16,0x4,0,4,1,0,0x4,010,0,0x3,1,0,5,128,0, -0x6,01,32,0,0x1,0x8,0,0,48,0,012,16,231,32,0x8,0x4,128,02,16,04,02,0, -0,03,011,0,0,0x1,32,0,0,52,128,0x26,0,0,04,0,16,192,72,26,64,01,0,01, -05,128,0x5,0x14,041,0,0,208,0,3,128,0372,0,0,128,0,1,0x4,0,0,128,0,7, -48,0,0,0x6,04,128,0,0x14,2,0,1,8,0,0x1,17,0,6,128,0353,0,0x1,12,128,5 -,64,0,0,026,192,3,0130,0,1,0140,1,014,0,0,4,48,0,021,0360,0,0,036,192 -,0x2,0,1,013,224,1,0x2d,0,1,0360,64,0,3,0214,0,0,010,0x5,128,0x2,128, -128,012,64,64,0x28,0,0x1,160,0,0,04,0,0,0x2,024,0,17,16,0,0,0103,0x48 -,1,0,0x1,0x5,32,16,024,0,1,16,0x4,0,2,128,134,0,0,0x8,48,02,0103,02, -042,12,011,0,0,48,0x24,0,0,0310,144,0,0,0x2,0106,192,0,19,128,144,011 -,02,0,0,0x26,0x8,0,0,0x28,021,0,01,0104,0,03,0261,0140,0,0,57,136,4, -240,0,0,18,192,3,72,0,0,0x3,32,0x1,0x8,136,0x1,0361,128,0,16,224,0,0, -0x6,0,0,02,0,01,010,192,1,32,0,01,48,0,0x4,241,128,1,061,0,0,04,64,0, -0,16,0,1,64,0,0,014,0,0,0x1,48,0,0,0x4,192,0,0x13,24,010,02,0,1,8,0,1 -,32,16,0,0,192,0,03,128,0241,128,0,0,48,0,0,34,193,0202,136,0104,0x3, -32,0x12,0114,129,72,48,4,64,0321,0,17,192,0,0,152,0,0,145,0,01,0104, -0202,1,16,0,0x1,192,132,0,0x3,0326,32,0,0,0x4,128,0,0x1,0102,2,0,0,16 -,010,0,0,0x1,32,0,0,04,0,0,16,2,04,0,6,136,0,06,0104,6,192,0x48,152, -64,0,0,0140,0x4,1,128,0x5,4,041,0106,16,0,0,012,03,0,01,129,0,011,02, -0,07,128,0,06,48,0,0x6,0x18,0,0,04,0,1,16,0,0x1,32,0,2,01,0,01,04,0,0 -,16,0,2,0245,128,1,014,128,05,48,0,0,0x16,192,0,0,0x58,0,0,014,0140,1 -,12,128,01,48,0,07,48,0,06,152,0x7,240,0,0,036,192,0x2,120,0,0,013, -224,129,054,128,07,52,128,016,0,1,128,164,8,144,0x4,128,02,16,0,0,012 -,64,0,0,0x28,0,0,64,176,0,0,0x4,128,0,0,16,0,7,0x28,0,06,148,32,0x12, -0104,2,0141,01,010,128,05,32,0,0,024,128,64,16,02,18,0,01,0240,0246, -128,17,176,0,0,0103,194,0x48,014,011,3,48,0x24,0214,0310,144,176,0,0, -0x6,0xc8,132,0,06,0x28,0,6,0x14,0,0x3,128,011,02,0,0,38,8,0,0,0x28, -021,0,01,042,8,0,1,128,197,224,1,57,136,04,0360,0,0,0x12,192,3,0111,0 -,0,15,32,0x1,56,136,0x7,0360,0,16,07,224,0,0,034,0,0,02,112,0,0,010, -192,01,32,0,0,07,0360,0,0,026,0,2,179,132,1,49,0,0,04,192,0,0,16,0,0, -3,64,0,0,014,4,1,48,0,0,0x6,192,0,025,02,0,1,010,0,0x1,32,0,1,192,128 -,8,0,01,144,0205,128,011,48,0,0,02,193,0,0,010,4,03,32,16,0114,128,64 -,48,0,0,0x6,208,0,16,06,192,0,0,26,0,0,129,0140,0,0,04,0202,0x1,16,64 -,06,192,0x8,18,0,0x1,128,136,32,0x8,04,128,0,1,0102,0x2,64,010,010,0, -0,054,48,0,0,4,0,0,16,2,0x4,0,017,06,192,72,032,64,0,0,8,0,0,01,32,0, -0,0x4,041,0x16,208,0,0,2,02,131,128,219,0,0,128,0,7,2,0,0x7,128,0,16, -0x4,0,013,0x4,0,0,0x18,0,02,132,0,0x1,13,128,5,48,0,0,026,0,0,01,0130 -,0,0,03,0140,01,014,128,0x1,48,0,017,128,07,0360,0,0,036,192,2,0x18,0 -,0,013,0140,0,0,0x2c,128,0x7,240,0,1,192,03,129,0321,0x4,4,4,128,0x2, -16,0,0,012,0,0,02,0x2a,0,0,0x1,0241,0,0,4,128,0,0,16,0,15,128,0,0, -0x12,0x8,03,0120,01,010,0,0,05,32,0,0,024,128,0,0,24,0202,0x18,0x49, -16,16,152,12,144,48,0x1,0103,194,0104,014,011,136,48,36,32,0xc8,144, -48,011,026,192,128,0,18,128,144,011,0142,17,0x26,136,011,0x28,021,0, -0x1,0104,0x18,0x1,0,0,176,0252,0140,0,0,56,136,0x4,240,0,0,18,192,03, -0x48,0,0,0x2,32,1,56,128,7,0364,0,16,07,224,0,0,06,0,0,0x2,0x78,0,0,8 -,192,0101,32,0,0,0x7,48,0,0,026,136,3,0,0,191,136,129,48,0,0,0x4,192, -0,0,16,0,0,1,64,0,0,0x1,4,0x1,48,0,0,6,192,0,023,0x18,0,0,0x2,0140,0, -0,010,0240,1,32,0,0x1,192,0,0,24,0,0x1,0240,128,128,8,48,0,0,0x12,193 -,0,0,0x48,4,131,32,021,129,128,0104,48,0,0,6,208,0,07,32,0,0x6,16,06, -192,0,0,24,32,137,104,0,0,36,0242,1,16,16,6,192,0104,128,32,03,128, -198,0240,49,0x34,128,0,1,0102,02,64,32,012,0,0,0101,0x24,0,0,0x24,6, -16,02,4,0,017,06,192,72,2,64,0,0,96,0x1,0x1,0240,01,0x4,0x21,0106, -0322,0,0,0132,64,0x3,128,197,0,01,48,0,0x5,3,0,4,48,0,0x2,128,0,0x6, -32,0,06,16,0,0,04,0,0,24,0,0x2,64,0,0,128,0x1,0,2,192,0,1,16,0x3,0,0, -157,128,1,014,128,05,48,0,0,0x16,0,0x1,0131,0,0,03,0140,1,28,128,0x1, -48,0,7,8,0,6,132,07,0364,0,0,6,192,2,0170,32,013,224,0x1,054,128,0x7, -192,0,0x2,131,0,0,0321,8,41,4,128,0x2,16,0,0,012,0,0,1,0x28,0,0,0x1, -164,0,0,0x34,0205,0,0,16,0,017,128,64,16,64,26,0102,01,010,2,5,0240, -0x1,0x14,128,32,02,32,128,16,043,0240,144,128,010,02,0,0,0103,194,128 -,014,011,0x23,064,0x24,32,192,144,0,0,011,6,194,16,0,06,32,0,06,16,0, -02,128,144,011,2,0,0,38,136,0x1,0x28,021,0,0,192,4,72,8,0,0,132,0273, -224,0x1,010,136,0x4,240,0,0,18,192,0x3,0x48,0,0,012,0x24,0x1,034,128, -07,0360,0,07,136,0,0x6,0104,7,224,0,0,06,0,0,2,112,0,0,010,192,01,32, -0,0,07,0360,64,0x1e,192,0x3,128,0321,132,0,0,48,010,04,192,0,0,16,0,0 -,0x2,0102,0,0x1,010,01,0,0,8,0x6,192,0,0x13,24,0,0,0x2,0,1,8,160,0x1, -32,0,01,192,128,010,0,0,0x3,16,0212,128,0x5,0x31,0x2,0102,193,0,0,010 -,0205,0x21,32,0x14,32,128,0120,32,0x1,6,208,0,16,6,192,0,0,0x18,0x8, -0241,96,0,0,132,0242,1,16,17,6,192,0x4,0120,32,0213,0,0,0346,32,16,04 -,128,0,0,16,4,0x2,64,02,8,0,0,32,48,0,0,36,06,16,2,04,0,06,16,0,06,8, -134,208,0,0,012,0141,0,0,010,0,0,1,128,0x5,0x4,041,0x16,208,0,2,131,0 -,0,167,128,129,0,3,128,0,01,0x1,02,0,0x3,16,0,0x2,128,0,0x6,32,0,6,16 -,0,0,192,0,0,010,0,06,01,0,1,0x4,0,3,128,0212,0,0x1,12,128,5,64,0,0, -026,0,0,0x3,0132,0,0,03,0144,01,054,128,01,48,0,017,128,0x7,196,64,0, -0,192,2,24,0,0,013,224,0x1,0x2c,128,0x7,240,0,0x1,192,3,2,0234,0214, -32,04,128,0x2,128,128,012,0,0,19,0x28,0,0,129,0240,0,0,0x14,128,0,0, -16,0,07,8,0,06,132,64,192,2,0,0,0120,01,010,129,5,32,04,0x16,128,32, -0x12,0,0,0x1,64,32,32,0347,132,0x5,48,012,0103,2,8,12,011,02,0x34, -0x24,0,0,192,144,32,0,0,198,192,4,01,0,05,64,0,06,32,0,0,192,0x8,0x1, -0202,011,02,0,0,046,010,0,0,0x28,021,0,01,0104,0,3,196,232,0101,56, -128,0x4,0360,32,0x12,192,0,0,0x48,0,0,0x2,0x28,01,24,128,7,0360,0,0, -04,0,6,02,0,06,07,240,0,0,0x6,0,0,0x2,16,64,010,192,1,32,0,0,07,48,0, -01,128,0x3,0,0,0326,16,129,48,0,0,0x4,0101,0,0,16,0x4,3,64,16,015,010 -,0101,32,0,0,0x6,192,0,0,32,0,6,16,0,8,128,16,0,0,0202,010,64,8,2,0,0 -,32,0,1,192,128,0,02,16,146,192,0x4,48,0,0,0102,192,0x28,8,1,8,36,0x4 -,041,128,16,16,0,0,0x6,208,0,0,4,0,0x6,02,0,06,0x6,192,010,148,32, -0x21,0140,01,132,128,1,144,32,0x6,192,0,0x2,3,0,0,0216,32,0,0,52,128, -0,0x1,0102,0x2,0,0,16,8,0,0,0114,0x28,0,0,04,128,32,16,0x2,011,0,0x6, -0x4,0,05,128,0,0,0120,0102,012,0x49,0,0,8,0,0,0x1,128,021,04,041,0106 -,16,0,0,2,0,0,131,128,0377,128,01,0,07,02,0,6,04,0,0,16,0,06,8,0,07, -128,0,0,0x8,0,06,1,0,1,4,0,0x4,152,0,1,015,128,5,48,0,0,026,192,0,0, -0x58,0,0,017,0140,01,12,0,0,02,48,0,0,0x2,0,0x6,0x1,0,0x8,128,0,0,192 -,0x2,0x18,0,0,013,224,129,054,128,7,0,01,0x6,0xc8,0x3,0,0,162,010,16, -0x4,0205,02,16,0,0,012,64,0,0,0x28,0,0,041,168,0,0,0x4,0,0,0x4,024,64 -,0x14,0,0x6,012,0,05,010,128,0,0,0x4,128,72,1,8,0,0,05,32,0,0,024,128 -,0,0,02,0,0,0232,64,16,161,149,128,05,062,64,0103,194,0,0,12,011,013, -49,36,0,0,192,144,48,0,0,32,1,0,017,64,16,0104,04,0,0,128,011,0142,18 -,0x26,010,0,0,0x28,021,0,0x1,04,0x18,5,0,0,128,0251,96,0,0,074,128, -0x4,0360,64,0x12,192,03,0x48,0,0,016,32,1,0x38,136,0x7,0240,64,8,0, -0x6,04,0,05,0240,0x1,0360,64,6,16,0x2,112,0,0,0x8,192,1,32,0,0,7,48, -128,036,128,0x3,0,0,252,132,01,48,0,0,0x4,193,0,0,16,4,3,64,16,1,0,0, -0101,48,0,0,02,0,0,128,0,14,4,0,0x2,16,16,0202,104,0,0,010,0x2,0,0,32 -,0,1,192,32,24,04,0,0,144,0353,0,0x1,2,011,0x12,192,0,0,72,0,0,0x3,32 -,0x1,015,128,4,48,0,0,026,0x1,0x2,4,0,5,0x28,2,0,05,36,0x16,0xc8,0x2, -145,0,0,011,104,0,0,36,128,01,144,64,6,192,0,0,0130,0,0,0x3,128,224, -32,0,0,04,128,0,0,208,0x4,02,64,16,011,0,0,01,32,0,0,04,128,0104,1,04 -,4,0,06,02,0,6,134,192,0,0,0x1a,64,0,0,104,0,0,0x1,128,0x5,0x4,0x21, -0106,16,2,0x2,0,0,131,128,0334,0,04,192,128,0,0x1,3,0,6,0x2,0,0,128,8 -,0,0x5,144,0x4,0,010,128,0,0x2,0140,0,0x3,01,0,0x1,4,128,0,3,0312,128 -,1,014,128,05,128,0,0,026,0,01,0131,0,0,014,96,1,014,128,03,48,0,0,02 -,0,06,01,0,5,164,7,240,0,0,036,192,2,96,0,0,013,224,0x1,054,128,07,64 -,0,0,06,192,3,128,0345,014,144,04,128,2,64,128,012,0,0,1,0x28,0,0,64, -176,0,0,0x4,128,0x4,16,0,07,8,0,06,128,32,18,0104,0202,72,01,0140,0,0 -,5,32,132,024,128,32,0102,0104,02,64,0,0,164,0312,132,0x1,062,8,0103, -194,32,014,011,19,064,36,0114,208,144,176,8,4,192,0x8,0,06,32,0,012, -128,144,011,02,042,38,8,0,0,0x28,021,0,0,128,0x18,0,0,021,0,0,128, -0265,232,0x1,0x38,128,4,48,0,0,18,192,3,72,0,0,15,32,0x1,56,128,0x2, -0360,128,0,017,07,224,0,0,6,0,0,02,24,0,0,010,192,0x1,32,0,0,7,176,0, -0,0x6,128,0x3,0,0,168,144,129,48,0,0,04,129,0,0,16,4,2,64,16,014,4, -0101,48,0,0,2,192,0,0x13,24,010,0202,0,0x1,0x8,0x2,0,0,32,16,0,0x2, -0x18,0,01,16,178,128,17,48,0,0,2,0,0,042,0x8,128,021,36,0,0,014,128,0 -,0,48,0,0,0x4,208,0,16,6,192,0,0,24,0,0,01,0,1,4,128,0x1,16,0x1,6,32, -64,0x18,0x2,3,0,0,0257,176,061,0x34,128,0,01,0102,0x2,64,0,0,010,0,0, -0114,32,145,4,128,0x4,0,0,0x4,0,017,0x26,192,0,0,032,64,012,0x2a,02, -41,0x28,0,0,36,0x21,026,0120,8,012,0120,0,0,128,208,0,01,48,0,011,136 -,0,2,0x2,0,0,128,0,16,04,128,0,01,0x1,64,64,04,0,1,16,0,0x1,0104,128, -16,0,1,128,131,128,01,014,128,0x5,48,0,0,0x16,0,01,0132,0,0,017,0140, -01,12,128,5,48,0,0x7,0x48,0,6,164,0x7,240,0,0,036,192,02,32,0,0,013,0 -,1,0x2c,128,0x7,0,0x1,0x8,0,01,128,135,014,137,4,128,2,16,0,0,012,0,0 -,043,0x28,0,0,0101,164,0,0,04,128,02,16,0,0,16,0,05,64,010,0,05,0240, -0,0,0x12,0,0,131,0140,1,64,0,0,5,0,0,0104,0x14,128,0,0,02,0102,16,0,0 -,010,164,0215,132,16,0,0,64,0103,194,02,015,011,013,064,36,0,0,64,01, -48,012,3,192,72,010,0,0x5,64,04,0,0x5,32,0,0x2,128,144,0x2,32,0,0,012 -,128,0x5,051,021,0,0x1,136,010,0,01,128,186,232,0101,0x8,128,4,0360,0 -,0,0x12,192,0,0,72,0,0,016,32,1,56,128,4,0360,0,0,034,0,0x5,64,016,0, -05,32,7,224,0,0,6,0,0,0x2,0130,0,0,010,0140,0,0,32,0,0,7,48,0,0,0x16, -192,0x3,02,135,144,0,0,48,0,0,4,193,0,0,16,4,3,0102,16,01,0,0,01,48,0 -,0,02,192,0,0,0x16,0,05,64,013,0,05,32,0,02,24,0,0,2,32,0,0,0x8,0,0, -128,32,0,0x1,128,0,0,8,0,1,146,148,128,133,48,011,042,192,0,0,136,0,0 -,010,32,02,015,0,0,1,48,0,0,04,208,0,0,16,0,5,32,8,0,5,16,0x6,192,0,0 -,152,02,02,64,0,0,8,0,0,4,32,0102,6,128,0,0,021,0,0,8,128,156,0,7,128 -,0,0x2,64,0,0x4,64,0,0,16,0,06,8,0,015,01,0,1,132,0,010,185,32,0,0,04 -,128,0,0,16,0,0,0x2,64,0,0,0x8,0,1,36,0,0,04,128,0,011,8,0,06,132,0,0 -,16,0,0x1,64,0,0,32,16,1,64,0,0,4,128,0,0,16,0,1,64,0,0,128,0272,0,12 -,4,0,031,010,0,016,0261,0x2c,0,0,4,128,0,0,16,0,0,02,64,0,0,010,0,0, -32,32,0,0,04,128,0,0,16,0,017,128,0,0,16,0,0,0102,64,0,0,8,0,0,01,32, -0,0,0x4,128,0,0,16,0,0,2,0121,0,0,16,0252,4,0,0,0x8,02,2,64,0,0,010,0 -,0,1,32,0,0,128,144,0,0,0x8,2,0x2,0,0,02,0,017,32,0,0,0x24,128,0,0,16 -,0,0,12,64,0,0,010,0,0,1,32,0,1,04,0,0,96,48,0257,0x28,0,1,32,0,7,1,0 -,0x1,04,32,0,0,16,64,0,16,0x2,0,0,0x4,0xc8,0,0,01,0,0,0x3,0x4,128,0,0 -,16,0,0,34,0,3,128,0226,16,0,013,04,0,0x4,64,0,16,02,64,0,3,32,0,0x1, -128,0,0,16,0,0,0x2,0,3,041,0217,32,0,0,0x4,128,0,0,16,0,0,0x2,64,0,0, -8,0,0,041,32,0,0,04,128,0,0,16,02,0,017,16,0,0,02,0,0,64,0,0x1,01,01, -0,0,04,128,0,0,16,16,0,0,0x2,0,0,0x8,128,0344,0,8,010,0,35,32,0,010, -219,0240,0,012,18,0,0x8,0x8,0,06,04,0,0,64,0,0,32,0,0,136,0,01,0x1,32 -,0,04,32,64,64,136,0,0x3,0104,128,235,32,0x1,0,012,010,0,0x2,1,0,026, -2,128,16,010,0,0,128,0,0x2,0x2,0,0,0x4,0,01,128,0263,0,7,128,0,0,03,0 -,1,16,0,0x4,16,0,16,32,0,012,01,0,0,2,0,3,0321,0,0,0x2,0x2,16,0,5,0x4 -,0,0,04,0,2,16,0,0,64,0,6,04,0,06,0x2,0,0,02,64,0,0,011,0,0x1,32,0,01 -,128,0,0,16,0,0,02,128,0,1,48,0x1,128,139,0,0x8,010,0,0x2,012,0,010, -64,0,21,01,0,0,0x8,0,6,129,0x2,0,03,0x1,32,0,0,04,0,01,16,2,2,0,0x2, -01,64,64,0,017,01,4,0,0,0x8,4,0,0,32,16,0x2,0x1,0,011,0236,0,03,1,0, -03,0x1,0,0x2,64,32,4,0,1,1,32,0,024,128,0,02,4,64,16,0,5,1,0,0,0342,0 -,01,0240,128,024,2,0x58,0120,72,128,64,0x21,0252,0x25,0x28,07,0,0,193 -,0x24,192,0,15,0x15,131,026,4,8,012,0322,32,0152,13,0,0,0x5,0x5,0264, -0,02,64,0120,0,0,0321,0,01,0360,014,0x2,0101,0,0,0x18,6,0x1,32,24,01, -0x21,129,05,046,0214,128,32,0,016,128,248,0,0,0216,232,0105,0174,0240 -,23,0344,136,0133,0104,129,176,0124,136,042,0,0,248,0,0,185,8,0,0,16, -16,02,041,0,0,0x8,4,0x1,32,16,0,06,32,0,18,010,0x4,0,0,32,16,2,64,64, -0,0x2,64,0,03,2,149,0,0x1,32,16,0,2,4,16,0,0x1,32,0,0,0x2,01,0,0,4,2, -34,0,17,0x1,0,2,128,0,2,128,0,3,2,0,2,128,0,0,241,0,21,0x8,0,6,04,0, -21,04,0,01,0261,16,0,012,32,0,41,192,0276,0,0,32,0,0x2,64,0,0,1,0,0, -128,0,6,0x2,0x4,042,0,0x12,046,0,0,64,0,7,16,0121,0,2,128,0347,010, -128,0,02,0140,0,013,128,0,0,1,0,15,2,64,16,0x2,0,8,192,161,0,2,32,160 -,0,0,64,0,17,2,0,0x6,01,0,25,128,0257,0,0,64,0,6,01,0,01,010,0,5,0x1, -0x4,0,04,1,0,0,0x2,0,3,128,0,0x3,128,0,0x3,64,0,3,32,0,0,0x4,0,03, -0202,251,0,5,2,0,0x4,01,0,21,128,0,01,2,0,16,192,06,0,2,0x1,0,1,04,0, -01,16,0,01,0101,0,024,128,0,15,0x2,0,0x2,162,0,013,02,0,12,0x1,0,0x6, -32,0,0,010,0,0,0x1,64,0,0x6,64,0,0,0x8,32,0,0,32,0,1,128,183,0,013,01 -,0,24,01,0,05,64,0,0,24,0,06,128,0365,8,128,16,0,0,0x2,64,64,0x4,0,0, -0x1,32,0,6,02,32,0,021,32,8,132,0,0x1,32,04,4,0,0,16,0,0x6,128,0354,0 -,01,8,0,01,32,32,0x8,64,128,0,01,0x4,02,0,0x1,32,0x2,64,128,0,16,1,0, -0,04,16,0,1,16,0,0,128,64,0,1,2,0,0x2,02,0,0,128,0351,2,0263,014,0,0, -161,48,192,134,194,0,0,026,138,1,8,065,162,0240,0x14,0x12,192,0,02, -010,64,64,0,04,8,32,32,0,0,0x1,0264,132,0102,0x6,152,012,0,0,0140,2, -36,45,011,133,0240,0,0,024,0,0,16,012,0,0,212,0x2,16,0321,0122,0202, -0101,0,0,64,0x2,184,041,56,012,0x2,128,197,0,0,02,193,128,0,017,0374, -0120,31,232,0x5,0155,0102,0x16,0214,01,0137,197,0243,0,0,132,16,16,18 -,64,0202,0335,18,0,0,16,0,0,0x2,041,0,0x2,128,32,32,0,0,0x2,0,2,2, -0101,0,021,128,0,0,0x8,04,1,0,0,16,0x4,0,0,64,0,0x7,72,0252,0,0x4,02, -0,0x1,2,0,1,16,0x1,0,4,32,0,16,02,1,32,0,1,128,32,0,0,0x2,0202,0,0x3, -32,16,010,04,64,128,0343,136,0,1,32,0,04,64,0,0x2,16,0,026,128,0,13, -0x8,0,1,32,0314,0,01,01,0,023,4,16,0,5,2,8,0,8,32,0,011,04,0,0,128, -0323,64,0,0x4,32,0,012,1,64,0,02,8,0,06,0x4,0,011,16,0,3,0x8,0,2,32,0 -,0,128,0,0,0x2,193,0,8,132,0x4,0,0x6,48,64,0,06,2,0,012,0x6,24,0,011, -64,64,0,0x2,0257,010,128,0,011,0x28,02,0,6,128,4,0,5,64,02,0,04,04, -0x1,0,0,16,0x4,0,0,8,0,02,1,32,0,0,0x4,0,01,0120,64,0,0,010,137,0,0, -32,02,0,5,64,0,27,16,0,017,128,0315,0,7,64,0,2,16,0,0x1,04,0,0x2,1, -0x1,0,3,128,0,6,64,0,02,8,0,0x4,128,0,0,01,0,05,02,0,1,0x4,144,0,0, -0x3,0,0x3,32,0,0x4,0x4,0,013,128,0,6,64,0,16,16,0,0,0x8,0,0x1,0202,0, -0,04,01,0,2,64,0,0x1,01,1,0,06,02,0,14,64,0,0x4,16,0,5,02,64,0,5,128, -0314,0104,0x4,4,0,2,1,0,07,4,0,07,32,0,0x6,16,0,0x5,32,0,0x2,16,0,0x1 -,64,0,0,4,0,0,0x1,0,3,128,168,0x2,0,6,128,0,0,02,0,1,0x1,0,1,128,0, -0x1,16,0,0x6,0x4,0,06,2,128,0,0x2,0x8,0,1,8,0,6,2,0,0x1,64,128,0232,0 -,014,4,0,3,1,0,027,32,0,012,129,0232,24,1,0,0,0x8,0,036,128,16,0,3,32 -,64,0,012,011,224,0262,0,01,32,0,017,16,0,017,4,0,03,0120,0,0,02,0, -012,128,252,0,0x28,32,0,0,4,0,012,128,153,0,0x36,128,0371,0,0,0x1d, -192,02,0124,0,0,011,32,1,0124,128,04,144,0,0,0x12,64,02,72,0,0,015,0, -017,0x58,0,0,011,32,0x1,024,128,02,144,0,0,18,64,5,0x48,128,0x16,0240 -,02,0134,0,0,0313,0240,0x49,144,129,046,0,0,6,192,0,0,0xc8,01,03,0140 -,0,0,014,128,0x1,48,0,0,046,0,017,062,0,0,06,192,0,0,152,0,0,19,96,0, -0,014,128,054,48,0360,176,64,14,193,0x2,0372,0377,0377,}; -__forceinline static unsigned bdVLJ3(volatile unsigned long*RdZoN, -const unsigned char*mmXTK1,unsigned NZbNW4){unsigned X3V8j4,zQ6M_2; -int AhUPU1=01;const unsigned char*WMRMP4=(mmXTK1)+2;int FtQV8=0; -unsigned nL0K52=0;unsigned ZU75i4=(mmXTK1)[0]+((mmXTK1)[0x1]<<8);{if( -!(ZU75i4>=0xFFFF))goto tK6lL1;{ZU75i4=NZbNW4;AhUPU1=0;}goto quUCW1; -tK6lL1:;{if(!(ZU75i4<16||ZU75i4>=65536))goto evfv2;{((RdZoN)[0])= -0xFFFF;((RdZoN)[-1])=0;return 01u;}evfv2:;}quUCW1:;}X3V8j4=0;{Bi1jt2: -((RdZoN)[0])=04;if(X3V8j4++<=0x19)goto Bi1jt2;};{ugSn31:if(!((((RdZoN -)[0])&24)!=0x8))goto Mlzuh1;{{if(!(++X3V8j4>0x3e8+0x19))goto SUmQ44;{ -;((RdZoN)[0])=0xFFFF;((RdZoN)[-1])=0;return 01u;}SUmQ44:;}}goto ugSn31 -;Mlzuh1:;}{YQN8T3:((RdZoN)[0])=04;if(X3V8j4++<=031+0113)goto YQN8T3;} -;{X5pzO3:{{if(!((((RdZoN)[0])&8)==0))goto ZFz0V2;{goto qgDDD2;} -ZFz0V2:;}{if(!(((RdZoN)[0])&16))goto Paba02;{X3V8j4=012;{rAPPY4:{(( -RdZoN)[0])=0x4;((RdZoN)[0])=6;}if(--X3V8j4)goto rAPPY4;};((RdZoN)[0])= -0x4;{if(!((((RdZoN)[0])&24)!=24))goto VfGIc3;{goto qgDDD2;}VfGIc3:;} -;((RdZoN)[0])=0xFFFF;((RdZoN)[-0x1])=224;return 0u;}Paba02:;}{if(!( -AhUPU1))goto wq7DF1;{{if(!(FtQV8>0))goto b5VMc1;--FtQV8;goto VQv4p1; -b5VMc1:;{nL0K52= *WMRMP4++;{if(!(nL0K52==0))goto Jnrtb2;FtQV8= * -WMRMP4++;Jnrtb2:;}}VQv4p1:;}zQ6M_2=nL0K52;}goto IHuhT1;wq7DF1:;zQ6M_2 -= *mmXTK1++;IHuhT1:;}zQ6M_2|=256;{hTX5_:{unsigned BICIc2=(zQ6M_2&0x1)| -04;((RdZoN)[0])=BICIc2;((RdZoN)[0])=BICIc2|2;zQ6M_2>>=1;}if(zQ6M_2!=1 -)goto hTX5_;};}if(--ZU75i4)goto X5pzO3;};qgDDD2:;((RdZoN)[0])=0xFFFF -;((RdZoN)[-01])=0;return 0x1u;}__forceinline static void l4W8X( -volatile unsigned long*RdZoN){((RdZoN)[0])=0xFFFF;((RdZoN)[-01])=(0x1 -<<0)|(01<<01)|(1<<02)|(01<<5);((RdZoN)[0])=4;((RdZoN)[0])=0;((RdZoN)[ -0])=0;}int __attribute__((cdecl))TAU32_Initialize(oSdJm*YRHFy,int -FH0RH2){kWMzp1*J7Iki4;const unsigned char*mmXTK1;unsigned X3V8j4, -DiWl81,bHzh05,fzwRI1;const char*_kIQv4;volatile unsigned long*RdZoN; -unsigned char*sfc355=((unsigned char* )&YRHFy->io7IZ3)+sizeof(YRHFy-> -io7IZ3);unsigned char*Nqom15=(unsigned char* )&YRHFy->QhwfE1;{zWnKf4: -if(!(Nqom15kK4Tl;E2DoN1(J7Iki4,YRHFy->Y3IxL2,0,YRHFy->jDVZJ2,YRHFy -,YRHFy->b_7cQ4);RdZoN=&J7Iki4->fV7o35->UyRVB4;l4W8X(RdZoN);X3V8j4=0;{ -CIeRo2:if(!(((RdZoN)[0])&0x18))goto LBIN_3;{{if(!(++X3V8j4>017))goto -TBUSX1;{((RdZoN)[0])=0xFFFF;((RdZoN)[-1])=0;YRHFy->cJw4g2|=1u;return -0;}TBUSX1:;}}goto CIeRo2;LBIN_3:;}{Br68q1:((RdZoN)[0])=0;if(++X3V8j4< -0x19)goto Br68q1;};DiWl81=((RdZoN)[0])>>(0x5+8);switch(DiWl81){case -0x7:YRHFy->QhwfE1=J7Iki4->SP4ZU=0x1;YRHFy->NNm8q=2;mmXTK1=A7Lph2; -bHzh05=sizeof(A7Lph2);break;case 06:YRHFy->QhwfE1=J7Iki4->SP4ZU=0x2; -YRHFy->NNm8q=0x1;mmXTK1=FZD5Q3;bHzh05=sizeof(FZD5Q3);break;default: -J7Iki4->SP4ZU=0;YRHFy->cJw4g2|=2u;return 0;}{if(!(YRHFy->u6eGG1&& -YRHFy->EFekl2))goto pdiOe2;{mmXTK1=(const unsigned char* )YRHFy-> -u6eGG1;bHzh05=YRHFy->EFekl2;}pdiOe2:;}YRHFy->cJw4g2|=bdVLJ3(RdZoN, -mmXTK1,bHzh05);{if(!(YRHFy->cJw4g2))goto Yx04h1;return 0;Yx04h1:;}(( -RdZoN)[-01])=255;X3V8j4=0xFF;{pNJdS:if(!(0x1))goto hGKYx1;{unsigned -_G6sW2,aeA8v;((RdZoN)[0])=X3V8j4|32;_G6sW2=((RdZoN)[0])>>0x8;aeA8v=( -X3V8j4&~32)|((~X3V8j4&16)<<01);{if(!(_G6sW2!=aeA8v))goto v7KXO;{ -YRHFy->RMAeN|=_G6sW2^aeA8v;YRHFy->cJw4g2|=16u;}v7KXO:;}{if(!(X3V8j4== -0))goto bt72f2;goto hGKYx1;bt72f2:;}X3V8j4--;}goto pNJdS;hGKYx1:;}(( -RdZoN)[0])=0xFFFF;((RdZoN)[-01])=224;AUUSL3(RdZoN,0,64);AUUSL3(RdZoN, -0,0);{if(!(YRHFy->cJw4g2&&!FH0RH2))goto s4jFx3;return 0;s4jFx3:;} -J7Iki4->YRHFy->U6oXn4=RtiEy4(RdZoN,0)&(16|32);B1Wc_1(J7Iki4);B1Wc_1( -J7Iki4);IoSy32(J7Iki4,24,01);{X3V8j4=0;tW1NE2:if(!(X3V8j4<64))goto -VKkfq2;goto GlauV4;grRT_1:X3V8j4++;goto tW1NE2;GlauV4:{unsigned long -TVLzg4,uSi9a4,WcLvp4;unsigned char LFcjb,O0urm2=(unsigned char)((01u -<<(X3V8j4&0x7))+X3V8j4/16);{if(!(X3V8j4&0x8))goto S62iO;O0urm2=~ -O0urm2;S62iO:;}BucKo(RdZoN,0x2a,O0urm2);{if(!(J7Iki4->SP4ZU!=02))goto -crTL73;s3sCI1(RdZoN,0x2a,(unsigned char)~O0urm2);crTL73:;}TVLzg4=1u<< -(X3V8j4&0x1f);{if(!(X3V8j4&32))goto A3cBz3;TVLzg4=~TVLzg4;A3cBz3:;} -uSi9a4=(TVLzg4<<0x3)|(TVLzg4>>035);HcALQ1(RdZoN,042,TVLzg4);HcALQ1( -RdZoN,0x2b,uSi9a4);{if(!(J7Iki4->SP4ZU!=2))goto oz88v2;{Rqv1w3(RdZoN, -042,~TVLzg4);Rqv1w3(RdZoN,43,~uSi9a4);}oz88v2:;}LFcjb=(unsigned char)SlE234 -(RdZoN,0x2a);{if(!(LFcjb!=O0urm2))goto EllbX3;{YRHFy->RMAeN|=(LFcjb^ -O0urm2)<<16;YRHFy->cJw4g2|=16u;}EllbX3:;}{if(!(J7Iki4->SP4ZU!=02))goto -jVIjf1;{LFcjb=(unsigned char)~fFvjz3(RdZoN,0x2a);{if(!(LFcjb!=O0urm2))goto -vB_J54;{YRHFy->RMAeN|=(LFcjb^O0urm2)<<24;YRHFy->cJw4g2|=16u;}vB_J54: -;}}jVIjf1:;}WcLvp4=BLq4p(RdZoN,042);{if(!(WcLvp4!=TVLzg4))goto NWPaL3 -;{YRHFy->cJw4g2|=16u;}NWPaL3:;}WcLvp4=BLq4p(RdZoN,053);{if(!(WcLvp4 -!=uSi9a4))goto JPbjb2;{YRHFy->cJw4g2|=16u;}JPbjb2:;}{if(!(J7Iki4-> -SP4ZU!=2))goto ytDo8;{WcLvp4=~sl0aO1(RdZoN,34);{if(!(WcLvp4!=TVLzg4))goto -gELJO;{YRHFy->cJw4g2|=16u;}gELJO:;}WcLvp4=~sl0aO1(RdZoN,0x2b);{if(!( -WcLvp4!=uSi9a4))goto sfDyk;{YRHFy->cJw4g2|=16u;}sfDyk:;}}ytDo8:;}} -goto grRT_1;VKkfq2:;}{if(!(YRHFy->cJw4g2&&!FH0RH2))goto k8lwU3;return -0;k8lwU3:;};fzwRI1=SlE234(RdZoN,15);_kIQv4=0;switch(fzwRI1>>0x4){case -0:_kIQv4="DS2152";break;case 0x1:_kIQv4="DS21352";break;case 02: -_kIQv4="DS21552";break;case 8:_kIQv4="DS2154";break;case 011:_kIQv4= -"DS21354";break;case 0xA:_kIQv4="DS21554";break;default:;YRHFy-> -cJw4g2|=4u;{if(!(!FH0RH2))goto hd8Id2;return 0;hd8Id2:;}}{if(!(J7Iki4 -->SP4ZU!=0x2&&fFvjz3(RdZoN,017)!=fzwRI1))goto rJ8cZ2;{YRHFy->cJw4g2|= -8u;{if(!(!FH0RH2))goto xmEVZ;return 0;xmEVZ:;}}rJ8cZ2:;};{X3V8j4=0; -h43i53:if(!(X3V8j4<4u))goto pAOwi3;goto wZuv21;Yd9y34:X3V8j4++;goto -h43i53;wZuv21:{J7Iki4->hRUi43[0][X3V8j4]=&J7Iki4->oXafA1[0].KqthD[ -X3V8j4];J7Iki4->hRUi43[0][X3V8j4]->PnawH=&YRHFy->io7IZ3[0].yTR5N3[ -X3V8j4];J7Iki4->hRUi43[0x1][X3V8j4]=&J7Iki4->oXafA1[1].KqthD[X3V8j4]; -J7Iki4->hRUi43[01][X3V8j4]->PnawH=&YRHFy->io7IZ3[1].yTR5N3[X3V8j4];} -goto Yd9y34;pAOwi3:;}switch(cWGy25(J7Iki4)){case tXFTB4:break;case -Wa6IF1:YRHFy->cJw4g2|=128u;break;case wTSMD1:case cy2jE4:default: -YRHFy->cJw4g2|=32u;break;}{if(!(YRHFy->cJw4g2&&!FH0RH2))goto hHBeJ3; -return 0;hHBeJ3:;}AUUSL3(RdZoN,010,0);{if(!(RtiEy4(RdZoN,0)&128))goto -bYp915;{YRHFy->cJw4g2|=256u;{if(!(!FH0RH2))goto y4Rn32;return 0; -y4Rn32:;}}bYp915:;}J7Iki4->veMrO=J7Iki4->P9UkM1[0];J7Iki4->bNfmc1= -J7Iki4->P9UkM1[01];cSW2U1(J7Iki4,RdZoN);IoSy32(J7Iki4,0x1a,4);{if(!(( -YRHFy->cJw4g2&128u)==0))goto wcVWB2;WdqxE(J7Iki4,(unsigned)(0.010/( -1.0/8000.0)+1.5));wcVWB2:;}B1Wc_1(J7Iki4);J7Iki4->v6D2d3[0].x2RgK4= -J7Iki4->v6D2d3[1].x2RgK4=0x1;J7Iki4->v6D2d3[0].PBtXm1=0;IoSy32(J7Iki4 -,18,J7Iki4->v6D2d3[1].PBtXm1=J7Iki4->v6D2d3[0].PBtXm1);J7Iki4->v6D2d3 -[0].AuCs73=32|2;IoSy32(J7Iki4,16,J7Iki4->v6D2d3[0x1].AuCs73=J7Iki4-> -v6D2d3[0].AuCs73);IoSy32(J7Iki4,021,4|(01?0x2:0));IoSy32(J7Iki4,27,01 -|0x2|(0?128:0));AErNL3(J7Iki4);{if(!(J7Iki4->SP4ZU!=0x2))goto Y44wG4; -tsz3n4(J7Iki4);Y44wG4:;}IoSy32(J7Iki4,0xaa,128);AUUSL3(RdZoN,0,J7Iki4 -->GEt0d=0x1);{if(!((YRHFy->cJw4g2&128u)==0))goto zeUwl;WdqxE(J7Iki4, -0x8);zeUwl:;}switch(Plb1C3(J7Iki4)){case tXFTB4:break;case Wa6IF1: -YRHFy->cJw4g2|=128u;break;case wTSMD1:case cy2jE4:default:YRHFy-> -cJw4g2|=32u;break;}{if(!(YRHFy->cJw4g2&&!FH0RH2))goto JGDcD1;return 0 -;JGDcD1:;}{if(!(fzwRI1>=0xA0&&fzwRI1<04))goto Gk2f03;{IoSy32(J7Iki4, -0xAC,0x1);{if(!((YRHFy->cJw4g2&128u)==0))goto BzLYt2;WdqxE(J7Iki4,0x1 -);BzLYt2:;}IoSy32(J7Iki4,0xAC,0);}Gk2f03:;}IoSy32(J7Iki4,0x1d,2|0x1); -{X3V8j4=0;d6hFe1:if(!(1))goto gss4O;goto yN8TN3;ylXZ7:X3V8j4++;goto -d6hFe1;yN8TN3:{unsigned long GVZnd,avVsj3,NcXyY1;GVZnd=xjK0y2(RdZoN); -{if(!((YRHFy->cJw4g2&128u)==0))goto vbEl_1;WdqxE(J7Iki4,010);vbEl_1:; -}avVsj3=xjK0y2(RdZoN);NcXyY1=avVsj3-GVZnd;{if(!((NcXyY1<256*010|| -NcXyY1>256*0143)&&X3V8j4>5))goto XaFHr2;{YRHFy->cJw4g2|=128u;{if(!(! -FH0RH2))goto lA6gX;return 0;lA6gX:;}}goto D8mfM4;XaFHr2:;goto gss4O; -D8mfM4:;}}goto ylXZ7;gss4O:;}{if(!(!(RtiEy4(RdZoN,0)&128)||(RtiEy4( -RdZoN,0)&128)))goto ryAiU4;{YRHFy->cJw4g2|=256u;{if(!(!FH0RH2))goto -Tm92i3;return 0;Tm92i3:;}}ryAiU4:;}{LmtWY4:{__asm __volatile(""::); -__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm __volatile( -""::);}if(0)goto LmtWY4;};J7Iki4->fV7o35->PGh3e4=0xC000101Ful;{yqPKN3 -:{__asm __volatile(""::);__asm __volatile("lock; addl $0,(%%esp)": : : -"cc");__asm __volatile(""::);}if(0)goto yqPKN3;};J7Iki4->fV7o35-> -Be1a54=~0u;{dDi0r1:{__asm __volatile(""::);__asm __volatile( -"lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -dDi0r1;};J7Iki4->fV7o35->PGh3e4=0xC060101Ful;{vO7V_1:{__asm __volatile -(""::);__asm __volatile("lock; addl $0,(%%esp)": : :"cc");__asm -__volatile(""::);}if(0)goto vO7V_1;};cSW2U1(J7Iki4,RdZoN);IoSy32( -J7Iki4,0xaa,0);IoSy32(J7Iki4,29,0);{if(!((YRHFy->cJw4g2&128u)==0))goto -nBKvy;WdqxE(J7Iki4,01);nBKvy:;}{if(!(J7Iki4->fV7o35->euuEB1!=02||( -J7Iki4->fV7o35->Be1a54&lPIbL4)==0))goto azjrO2;{{if(!(!(RtiEy4(RdZoN, -0)&128)||(RtiEy4(RdZoN,0)&128)))goto oFPii4;{YRHFy->cJw4g2|=256u;} -goto W6LzR;oFPii4:;YRHFy->cJw4g2|=512u;W6LzR:;}{if(!(!FH0RH2))goto -CjeSb;return 0;CjeSb:;}}azjrO2:;}{if(!(qWaP5(J7Iki4)<=0))goto Ru_0e3; -{YRHFy->cJw4g2|=512u;{if(!(!FH0RH2))goto ytc6A4;return 0;ytc6A4:;}} -Ru_0e3:;}J7Iki4->fV7o35->Be1a54=lPIbL4;{if(!(J7Iki4->fV7o35->euuEB1|| -(J7Iki4->fV7o35->Be1a54&lPIbL4)))goto WKD831;{{if(!(RtiEy4(RdZoN,0)& -128))goto dv8Wi2;{YRHFy->cJw4g2|=256u;}goto VwVLP1;dv8Wi2:;YRHFy-> -cJw4g2|=512u;VwVLP1:;}{if(!(!FH0RH2))goto eFLFn1;return 0;eFLFn1:;}} -WKD831:;}LzuvP2(RdZoN,1073741824ul);J7Iki4->fV7o35->Be1a54=~0u;J7Iki4 -->h2LrH3=01;GLE_s4(J7Iki4,(-0x1));return 01;}void __attribute__(( -cdecl))TAU32_DestructiveHalt(kWMzp1*J7Iki4,int mdbib4){volatile -unsigned long*RdZoN;CLbj94(J7Iki4);wP7Tk3(&J7Iki4->h2LrH3);J7Iki4-> -fV7o35->PGh3e4=0;RdZoN=&J7Iki4->fV7o35->UyRVB4;IoSy32(J7Iki4,0x16,0); -IoSy32(J7Iki4,027,0);J7Iki4->uyKJn2=blWHd2;J7Iki4->fV7o35->Be1a54=( -gQf6j1|Sptqu|r3CcP2);{J_oOV2:{__asm __volatile(""::);__asm __volatile -("lock; addl $0,(%%esp)": : :"cc");__asm __volatile(""::);}if(0)goto -J_oOV2;};IoSy32(J7Iki4,18,16);WdqxE(J7Iki4,16);IoSy32(J7Iki4,0x18,0x1 -);WdqxE(J7Iki4,16);B1Wc_1(J7Iki4);AUUSL3(RdZoN,0,0);l4W8X(RdZoN);(( -RdZoN)[-01])=0;J7Iki4->YRHFy->QhwfE1=0;J7Iki4->YRHFy->NNm8q=0;c0gFy1( -J7Iki4,mdbib4);}struct jW2b04{unsigned short IwIR9,WEcpA3,fAT5_2, -Iyzzx;unsigned XKo0B1[0x4];unsigned mvyZB4,Ujlt43,QmT832;unsigned -xQlGU2;const char*l6YAz4;const char*aGnwo2;};extern const char rlD8Z2 -[];extern const struct jW2b04 qi3Gb3;const char rlD8Z2[]="\r\n" "\r\n" -"extern \"C\" __declspec(dllexport) const struct tag__LY_BuildVersionInfo\r\n" -"{\r\n" -" unsigned __int16 MajorVersion, MinorVersion, Revision, BuildSerial;\r\n" -" unsigned __int32 SourcesDigest128[4];\r\n" -" unsigned __int32 SourcesSize, SourcesFiles, SourcesLines;\r\n" -" unsigned __int32 TimestampUTC;\r\n" -" const char *TimestampText = __TIMESTAMP__;\r\n" -" const char *SelfFormatCPP = \"This text\";\r\n" -"} __LY_BuildVersionInfo;\r\n" "\r\n" "\r\n";const struct jW2b04 -qi3Gb3={0x1,0,0,0176,{01537105567ul,023527046414ul,023424742401ul, -021015742140ul},626468ul,021ul,034064ul,010274156626ul, -"Wed Aug 03 19:07:02 2005",rlD8Z2};unsigned const -TAU32_ControllerObjectSize=sizeof(kWMzp1); Index: sys/modules/Makefile =================================================================== --- sys/modules/Makefile +++ sys/modules/Makefile @@ -82,7 +82,6 @@ ${_ccp} \ cd9660 \ cd9660_iconv \ - ${_ce} \ ${_cfi} \ ${_chromebook_platform} \ ${_ciss} \ @@ -766,9 +765,6 @@ _3dfx= 3dfx _3dfx_linux= 3dfx_linux .if ${MK_SOURCELESS_HOST} != "no" -_ce= ce -.endif -.if ${MK_SOURCELESS_HOST} != "no" _cp= cp .endif _glxiic= glxiic Index: sys/modules/ce/Makefile =================================================================== --- sys/modules/ce/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# $Cronyx: sys.modules.ce.Makefile,v 1.2 2005/04/23 20:10:22 rik Exp $ -# $FreeBSD$ - -.PATH: ${SRCTOP}/sys/dev/ce -KMOD = if_ce -SRCS = if_ce.c ceddk.c tau32-ddk.c -SRCS += device_if.h bus_if.h pci_if.h - -.include - -CWARNFLAGS.tau32-ddk.c+= ${NO_WCONSTANT_CONVERSION} -CWARNFLAGS.tau32-ddk.c+= ${NO_WMISLEADING_INDENTATION}