#ifndef q4C
#define q4C


#define j3B 0xFF
#define o4Gx 0x00
#define x1R 0x01 
#define o2G 0x02 

#define v3Na 0x00
#define v1Z 0x01
#define r5T 0x02
#define s4AH v1Z
typedef enum {
v1P = 1,
z5BA,
a2Qx,
c8U0,
w6Q0
} i8CJ;

#define o4O(W) ((char)( (W) - s4AH ))
#define v5ZO(W) ((char)( ((char)n5Z( W )) + s4AH ))
#define f7T(W) ((char)( s4AH - ((W) - s4AH) ))

#define b9F(A) \
((o2G & ((A)->flags))?(j3B):(o4Gx))
#define o8C(A) \
((x1R & ((A)->flags))?(j3B):(o4Gx))

typedef unsigned char k2G;
typedef void *y2Q; 

typedef struct g0M {
struct g0M *w6G[ 3 ];
char o8S;
} a6W;
typedef a6W *d5J; 

typedef int (*j9T)( y2Q, d5J );
typedef void (*s2M)( d5J, void * );
typedef void (*v3D)( d5J );

typedef struct {
d5J j3FI; 
unsigned long count; 
j9T r1B; 
unsigned char flags; 
} l9D;
typedef l9D *s0I; 

long n5Z( long x );

d5J v5F( d5J v3F );

s0I u8C( s0I b5B,
j9T a0S,
unsigned char Flags );

k2G p1Z( s0I b5B,
d5J s6AV,
y2Q d5L,
d5J *t1B );

d5J y0O( s0I b5B,
d5J s2A );

d5J b7H( s0I b5B,
y2Q s6A,
i8CJ z3T );

d5J w6Y( s0I b5B,
y2Q s6A );

d5J p7B( d5J P );

d5J v9N( d5J P );

d5J p3Z( d5J P );

d5J i4M( d5J P );

d5J a8M( s0I b5B,
y2Q q6Q,
d5J p );

d5J b5T( s0I b5B,
y2Q q6Q,
d5J p );

k2G w4C( s0I b5B,
s2M x5J,
void *UserData );

k2G c2MD( s0I b5B,
v3D z1F );

d5J o4K( d5J o6O );

int a2K( int size, char *list[] );


#define t7V y2Q
#define x5P a6W
#define i6Et d5J
#define u6S l9D
#define z9R s0I
#define v1V j9T
#define v9L s2M
#define w0C v3D
#define g2U( x ) n5Z( x )
#define u0I( Np ) v5F( (d5J)(Np) )
#define d3D( Rp, Cf, Fl ) \
u8C( (s0I)(Rp), (j9T)(Cf), (Fl) )
#define a0K( Rp, Nn, Ip, On ) \
p1Z( (s0I)(Rp), (d5J)(Nn), \
(y2Q)(Ip), (d5J *)(On) )
#define y0W( Rp, Dn ) \
y0O( (s0I)(Rp), (d5J)(Dn) )
#define q2Q( Rp, Ip, Op ) \
b7H( (s0I)(Rp), \
(y2Q)(Ip), \
(i8CJ)(Op) )
#define k2Gn( Rp, Ip ) \
w6Y( (s0I)(Rp), (y2Q)(Ip) )
#define q6C( P ) p7B( (d5J)(P) )
#define w4Q( P ) v9N( (d5J)(P) )
#define m0Q( P ) p3Z( (d5J)(P) )
#define m0Y( P ) i4M( (d5J)(P) )
#define j5T( Rp, Ip, P ) \
a8M( (s0I)(Rp), \
(y2Q)(Ip), \
(d5J)(P) )
#define r5Z( Rp, Ip, P ) \
b5T( (s0I)(Rp), \
(y2Q)(Ip), \
(d5J)(P) )
#define c2E( Rp, En, Ud ) \
w4C((s0I)(Rp), (s2M)(En), (void *)(Ud))
#define v9N1( Rp, Fn ) \
c2MD( (s0I)(Rp), (v3D)(Fn) )
#define u4M6( Nd ) \
o4K( (d5J)(Nd) )
#define b9H( s, l ) a2K( s, l )

#endif 
