This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c++/10898: Unable to compile c++ program containing Rogue Wave usage using gcc 3.2


>Number:         10898
>Category:       c++
>Synopsis:       Unable to compile c++ program containing Rogue Wave usage using gcc 3.2
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 21 07:26:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Kritika Dorairaj
>Release:        gcc 3.2
>Organization:
>Environment:
HP-UX itanium2 B.11.22 U ia64 3300317291
>Description:

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="param.ii"
Content-Disposition: inline; filename="param.ii"

# 1 "param.C"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "param.C"
# 15 "param.C"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h" 1
# 328 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h" 1
# 185 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/defs.h" 1
# 310 "/home/hak/hak/filesx/usr/rogue/rw/defs.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/compiler.h" 1
# 311 "/home/hak/hak/filesx/usr/rogue/rw/defs.h" 2



# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stddef.h" 1 3 4
# 147 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stddef.h" 3 4
typedef long int ptrdiff_t;
# 201 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 315 "/home/hak/hak/filesx/usr/rogue/rw/defs.h" 2

# 328 "/home/hak/hak/filesx/usr/rogue/rw/defs.h"
typedef int RWBoolean;
# 509 "/home/hak/hak/filesx/usr/rogue/rw/defs.h"
typedef unsigned char RWByte;
typedef unsigned short RWClassID;
typedef unsigned short RWErrNo;
typedef long RWoffset;
# 523 "/home/hak/hak/filesx/usr/rogue/rw/defs.h"
class RWSize_T
{
public:
  RWSize_T(size_t n) : N_(n) {;}
  size_t value() const {return N_;}
private:
  size_t N_;
};

class RWCS_T
{
public:
  RWCS_T(const char * str) : str_(str) {;}
  const char* value() const {return str_;}
private:
  const char* str_;
};

enum RWUninitialized { rwUninitialized };
enum RWSeverity {RWWARNING, RWDEFAULT, RWFATAL};

const RWErrNo RWSUCCESS = 0;
const size_t RWDEFAULT_CAPACITY = 64;
const size_t RWDEFAULT_RESIZE = 64;
const size_t RWBITSPERBYTE = 8;
const size_t RW_NPOS = ~(size_t)0;

inline double rwmax(double a, double b) {return a>b? a : b;}
inline double rwmin(double a, double b) {return a<b? a : b;}
inline int rwmax(int a, int b) {return a>b? a : b;}
inline int rwmin(int a, int b) {return a<b? a : b;}
inline unsigned rwmax(unsigned a, unsigned b) {return a>b? a : b;}
inline unsigned rwmin(unsigned a, unsigned b) {return a<b? a : b;}
inline unsigned long rwmax(unsigned long a, unsigned long b) {return a>b? a : b;}
inline unsigned long rwmin(unsigned long a, unsigned long b) {return a<b? a : b;}

class istream;
class ostream;
class ios;
class RWvistream;
class RWvostream;
class RWFile;
class RWErrObject;







void RWThrow(RWErrObject a ...);




void RWError(RWSeverity, const char*, const char*);
# 651 "/home/hak/hak/filesx/usr/rogue/rw/defs.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/generic.h" 1
# 44 "/home/hak/hak/filesx/usr/rogue/rw/generic.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/defs.h" 1
# 45 "/home/hak/hak/filesx/usr/rogue/rw/generic.h" 2
# 82 "/home/hak/hak/filesx/usr/rogue/rw/generic.h"
# 1 "/home/hak/hak/filesx/usr/rogue/rw/rwwind.h" 1
# 83 "/home/hak/hak/filesx/usr/rogue/rw/generic.h" 2
# 91 "/home/hak/hak/filesx/usr/rogue/rw/generic.h"
typedef int (*GPT)(int,char*);
# 652 "/home/hak/hak/filesx/usr/rogue/rw/defs.h" 2
# 186 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h" 2







unsigned rwToolsVersion();

class RWCollectable;
# 255 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h"
const long MAGIC_CONSTANT = 0x8888;





const RWClassID REFFLAG = 0xFFFF;
const RWClassID INSTFLAG = 0xFFFE;
# 365 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h"
typedef RWCollectable* RWCollectableP;
typedef RWCollectable* (*RWuserCreator)();
typedef long RWstoredValue;
typedef void* RWvoid;
typedef unsigned long RWspace;




typedef RWBoolean (*RWtestGeneric) (const void*, const void*);
typedef RWBoolean (*RWtestCollectable) (const RWCollectable*, const void*);
typedef RWBoolean (*RWtestCollectablePair)
     (const RWCollectable*, const RWCollectable*, const void*);
typedef int (*RWcompare) (const void*, const void*);




typedef void (*RWapplyGeneric)( void*, void*);
typedef void (*RWapplyCollectable)(RWCollectable*, void*);




extern "C" RWBoolean
RWbsearch(const void* key, const void* base, size_t nelem, size_t width,
          RWcompare cmf, size_t&);
# 412 "/home/hak/hak/filesx/usr/rogue/rw/tooldefs.h"
inline unsigned RWhashAddress(const void* a)
{


  return (unsigned)a ^ ((unsigned)a>>3);
}
# 329 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h" 2
# 1 "/home/hak/hak/filesx/usr/rogue/rw/ref.h" 1
# 110 "/home/hak/hak/filesx/usr/rogue/rw/ref.h"
class RWMutex;





class RWReference {
 protected:
  unsigned refs_;
 public:
  enum RWReferenceFlag { STATIC_INIT };

  RWReference(int initRef = 0) : refs_((unsigned)initRef-1) { }
  RWReference(RWReferenceFlag) { }
  unsigned references() const {return refs_+1;}
  void setRefCount(unsigned r) {refs_ = r-1;}

  void addReference() {refs_++;}
  unsigned removeReference() {return refs_--;}




};
# 330 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h" 2
# 342 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"

# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 1 3 4
# 15 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/stdsyms.h" 1 3 4
# 16 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 2 3 4

# 1 "/usr/include/sys/_inttypes.h" 1 3 4
# 104 "/usr/include/sys/_inttypes.h" 3 4
typedef signed char int8_t;



typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;

typedef int intfast_t;
typedef unsigned int uintfast_t;
# 132 "/usr/include/sys/_inttypes.h" 3 4
typedef int32_t intmax_t;
typedef uint32_t uintmax_t;



typedef long intptr_t;
typedef unsigned long uintptr_t;
# 149 "/usr/include/sys/_inttypes.h" 3 4
typedef char int_least8_t;


typedef unsigned char uint_least8_t;


typedef int int_fast8_t;


typedef unsigned int uint_fast8_t;


typedef short int_least16_t;


typedef unsigned short uint_least16_t;


typedef int int_fast16_t;


typedef unsigned int uint_fast16_t;


typedef int int_least32_t;


typedef unsigned int uint_least32_t;


typedef int int_fast32_t;


typedef unsigned int uint_fast32_t;
# 214 "/usr/include/sys/_inttypes.h" 3 4
typedef uint32_t ptr32_t;
# 18 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 2 3 4
# 26 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
extern "C" {





# 1 "/usr/include/sys/_null.h" 1 3 4
# 33 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 2 3 4







# 1 "/usr/include/sys/_size_t.h" 1 3 4
# 41 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 2 3 4






#pragma builtin_milli memcmp, strncat, strncmp, memmove, strcpy
#pragma builtin_milli strncpy, strcat, strcmp, strchr, strrchr, strstr 
#pragma builtin strpbrk, strcoll, strxfrm, strtok



#pragma extern memcmp, strncat, strncmp, memmove, strcpy, strncpy, strcat
#pragma extern strcmp, strcoll, strxfrm, strchr, strpbrk, strrchr, strstr 
#pragma extern strtok, strerror
# 90 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4

     extern int memcmp(const void *, const void *, size_t);
     extern char *strncat(char *, const char *, size_t);
     extern int strncmp(const char *, const char *, size_t);
     extern void *memmove(void *, const void *, size_t);
     extern char *strcpy(char *, const char *);
     extern char *strncpy(char *, const char *, size_t);
     extern char *strcat(char *, const char *);
     extern int strcmp(const char *, const char *);
     extern int strcoll(const char *, const char *);
     extern size_t strxfrm(char *, const char *, size_t);




     extern char *strchr(const char *, int);
     extern char *strpbrk(const char *, const char *);
     extern char *strrchr(const char *, int);
     extern char *strstr(const char *, const char *);



     extern char *strtok(char *, const char *);
     extern char *strerror(int);

# 185 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
#pragma builtin_milli memchr, memcpy, memset, strcspn, strlen
#pragma extern memcpy, memchr, memset, strcspn, strspn, strlen
# 230 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4

       extern void *memcpy(void *, const void *, size_t);




       extern void *memchr(const void *, int, size_t);



       extern void *memset(void *, int, size_t);
       extern size_t strcspn(const char *, const char *);
       extern size_t strspn(const char *, const char *);





         extern size_t strlen(const char *);

# 282 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
#pragma builtin_milli memccpy 
#pragma extern memccpy
# 297 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
       extern void *memccpy(void *, const void *, int, size_t);
# 323 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
#pragma builtin strdup 
#pragma extern strdup
# 335 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
     extern char *strdup(const char *);
# 344 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
#pragma builtin strcasecmp, strncasecmp 
#pragma extern strrstr, strcasecmp, strncasecmp 
# 365 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
     extern char *strrstr(const char *, const char *);
     extern int strcasecmp(const char *, const char *);
     extern int strncasecmp(const char *, const char *, size_t);
# 376 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/string.h" 3 4
}
# 344 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h" 2



class RWCRegexp;






class RWCString;
class RWCSubString;
# 374 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
class RWCStringRef : public RWReference
{

  static RWCStringRef* getRep(size_t capac, size_t nchar);
  void unLink();

  size_t length () const {return nchars_;}
  size_t capacity () const {return capacity_;}
  char* data () const {return (char*)(this+1);}

  char& operator[](size_t i) {return ((char*)(this+1))[i];}
  char operator[](size_t i) const {return ((char*)(this+1))[i];}

  size_t first (char ) const;
  size_t first (char,size_t) const;
  size_t first (const char*) const;
  size_t first (const char*, size_t) const;
  unsigned hash ( ) const;
  unsigned hashFoldCase ( ) const;
  size_t last (char ) const;
  size_t last (char,size_t) const;


  int collate(const char*) const;


  size_t capacity_;
  size_t nchars_;

friend class RWCString;
friend class RWCSubString;
};
# 419 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
class RWCSubString
{
public:
  RWCSubString(const RWCSubString& sp)
         : str_(sp.str_), begin_(sp.begin_), extent_(sp.extent_) {;}

  RWCSubString& operator=(const char*);
  RWCSubString& operator=(const RWCString&);
  RWCSubString& operator=(const RWCSubString&);
  char& operator()(size_t i);
  char& operator[](size_t i);

  char operator()(size_t i) const;
  char operator[](size_t i) const;

  const char* startData() const;




  const char* data() const;
# 448 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
  size_t length() const {return extent_;}
  size_t start() const {return begin_;}
  void toLower();
  void toUpper();


  RWBoolean isNull() const {return begin_==RW_NPOS;}
  int operator!() const {return begin_==RW_NPOS;}

protected:

  void subStringError(size_t, size_t, size_t) const;
  void assertElement(size_t i) const;

private:


  RWCSubString(const RWCString & s, size_t start, size_t len);

  RWCString* str_;
  size_t begin_;
  size_t extent_;
# 484 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
friend
RWBoolean operator==(const RWCSubString& s1, const RWCSubString& s2);
friend
RWBoolean operator==(const RWCSubString& s1, const RWCString& s2);
friend
RWBoolean operator==(const RWCSubString& s1, const char* s2);



friend class RWCString;
};
# 504 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
class RWCString
{
public:

  enum stripType {leading = 0x1, trailing = 0x2, both = 0x3};
  enum caseCompare {exact, ignoreCase};
  enum scopeType {one, all};

  RWCString();
  RWCString(RWSize_T ic);
  RWCString(const RWCString& S)

  { data_ = S.data_; pref()->addReference(); }




  RWCString(const char * a);
  RWCString(const char * a, size_t N);
  RWCString(char c) {initChar(c);}


  RWCString(unsigned char c) {initChar(char(c));}


  RWCString(signed char c) {initChar(char(c));}


  RWCString(char, size_t N);

  RWCString(const RWCSubString& SS);

  ~RWCString();



                operator const char*() const {return data_;}



  RWCString& operator=(const char*);
  RWCString& operator=(const RWCString&);
  RWCString& operator+=(const char*);
  RWCString& operator+=(const RWCString& s);



  char& operator[](size_t);
  char& operator()(size_t);
  RWCSubString operator()(size_t start, size_t len);
  RWCSubString operator()(const RWCRegexp& re);
  RWCSubString operator()(const RWCRegexp& re, size_t start);




  RWCSubString subString(const char* pat, size_t start=0, caseCompare=exact);

  char operator[](size_t) const;
  char operator()(size_t) const;
  const RWCSubString operator()(size_t start, size_t len) const;
  const RWCSubString operator()(const RWCRegexp& pat) const;
  const RWCSubString operator()(const RWCRegexp& pat, size_t start) const;




  const RWCSubString subString(const char* pat, size_t start=0, caseCompare=exact) const;
  const RWCSubString strip(stripType s=trailing, char c=' ') const;



  RWCString& append(const char* cs);
  RWCString& append(const char* cs, size_t N);
  RWCString& append(const RWCString& s);
  RWCString& append(const RWCString& s, size_t N);
  RWCString& append(char c, size_t rep=1);
  RWspace binaryStoreSize() const {return length()+sizeof(size_t);}
  size_t capacity() const {return pref()->capacity();}
  size_t capacity(size_t N);

  int collate(const char* cs) const {return pref()->collate(cs);}
  int collate(const RWCString& st) const;

  int compareTo(const char* cs, caseCompare cmp = exact) const;
  int compareTo(const RWCString& st, caseCompare cmp = exact) const;
  RWBoolean contains(const char* pat, caseCompare cmp = exact) const;
  RWBoolean contains(const RWCString& pat, caseCompare cmp = exact) const;
  RWCString copy() const;
  const char* data() const {return data_;}
  size_t first(char c) const {return pref()->first(c);}
  size_t first(char c, size_t i) const
  { return pref()->first(c, i); }
  size_t first(const char* cs) const {return pref()->first(cs);}
  size_t first(const char* cs, size_t N) const
  { return pref()->first(cs,N); }
  unsigned hash(caseCompare cmp = exact) const;
  size_t index(const char* pat, size_t i=0, caseCompare cmp = exact)
                      const;
  size_t index(const RWCString& s, size_t i=0, caseCompare cmp = exact)
                      const;
  size_t index(const char* pat, size_t patlen, size_t i,
                      caseCompare cmp) const;
  size_t index(const RWCString& s, size_t patlen, size_t i,
                      caseCompare cmp) const;
# 617 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
  size_t index(const RWCRegexp& pat, size_t i=0) const;
  size_t index(const RWCRegexp& pat, size_t* ext, size_t i=0) const;
  RWCString& insert(size_t pos, const char*);
  RWCString& insert(size_t pos, const char*, size_t extent);
  RWCString& insert(size_t pos, const RWCString&);
  RWCString& insert(size_t pos, const RWCString&, size_t extent);
  RWBoolean isAscii() const;
  RWBoolean isNull() const {return pref()->nchars_ == 0;}
  size_t last(char c) const {return pref()->last(c);}
  size_t last(char c,size_t i) const {return pref()->last(c,i);}
  size_t length() const {return pref()->nchars_;}

  size_t mbLength() const;

  RWCString& prepend(const char*);
  RWCString& prepend(const char* cs, size_t N);
  RWCString& prepend(const RWCString& s);
  RWCString& prepend(const RWCString& s, size_t N);
  RWCString& prepend(char c, size_t rep=1);
  istream& readFile(istream&);
  istream& readLine(istream&,
                         RWBoolean skipWhite = 1);
  istream& readString(istream&);
  istream& readToDelim(istream&, char delim='\n');
  istream& readToken(istream&);
  RWCString& remove(size_t pos);
  RWCString& remove(size_t pos, size_t n);
  RWCString& replace(size_t pos, size_t n, const char*);
  RWCString& replace(size_t pos, size_t n, const char*, size_t);
  RWCString& replace(size_t pos, size_t n, const RWCString&);
  RWCString& replace(size_t pos, size_t n, const RWCString&, size_t);
# 660 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
  void resize(size_t N);
  void restoreFrom(RWvistream&);
  void restoreFrom(RWFile&);
  void saveOn(RWvostream& s) const;
  void saveOn(RWFile& f) const;
  RWCSubString strip(stripType s=trailing, char c=' ');
  void toLower();
  void toUpper();


  static size_t initialCapacity(size_t ic = 15);
  static size_t maxWaste(size_t mw = 15);
  static size_t resizeIncrement(size_t ri = 16);






  static size_t getInitialCapacity() {return initialCapac;}
  static size_t getResizeIncrement() {return resizeInc;}
  static size_t getMaxWaste() {return freeboard;}



  static unsigned hash(const RWCString&);
protected:


  RWCString(const char* a1, size_t N1, const char* a2, size_t N2);
  void assertElement(size_t) const;
  void clobber(size_t nc);
  void cow();
  void cow(size_t nc);
  static size_t adjustCapacity(size_t nc);
  void initChar(char);
private:

  void clone();
  void clone(size_t nc);



  static size_t initialCapac;
  static size_t resizeInc;
  static size_t freeboard;


  RWCStringRef* pref() const { return (((RWCStringRef*) data_) - 1); }
  char* data_;
# 722 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
friend RWCString operator+(const RWCString& s1, const RWCString& s2);
friend RWCString operator+(const RWCString& s, const char* cs);
friend RWCString operator+(const char* cs, const RWCString& s);
inline friend
RWBoolean operator==(const RWCString& s1, const RWCString& s2);
friend RWBoolean operator==(const RWCString& s1, const char* s2);



friend class RWCSubString;
friend class RWCStringRef;

};



 istream& operator>>(istream& str , RWCString& cstr);
 ostream& operator<<(ostream& str , const RWCString& cstr);





inline RWvistream& operator>>(RWvistream& str, RWCString& cstr)
                { cstr.restoreFrom(str); return str; }
inline RWFile& operator>>(RWFile& file, RWCString& cstr)
                { cstr.restoreFrom(file); return file; }
inline RWvistream& operator>>(RWvistream& str, RWCString*& cstr)
                { cstr = new RWCString; cstr->restoreFrom(str); return str; }
inline RWFile& operator>>(RWFile& file, RWCString*& cstr)
                { cstr = new RWCString; cstr->restoreFrom(file); return file; }
inline RWvostream& operator<<(RWvostream& str, const RWCString& cstr)
                { cstr.saveOn(str); return str; }
inline RWFile& operator<<(RWFile& file, const RWCString& cstr)
                { cstr.saveOn(file); return file; }

RWCString toLower(const RWCString&);
RWCString toUpper(const RWCString&);
inline unsigned rwhash(const RWCString& s) { return s.hash(); }
inline unsigned rwhash(const RWCString* s) { return s->hash(); }

RWCString strXForm(const RWCString&);
# 773 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
inline void RWCString::cow()
{ if (pref()->references() > 1) clone(); }

inline void RWCString::cow(size_t nc)
{ if (pref()->references() > 1 || capacity() < nc) clone(nc); }

inline RWCString& RWCString::append(const char* cs)
{ return replace(length(), 0, cs, strlen(cs)); }

inline RWCString& RWCString::append(const char* cs, size_t N)
{ return replace(length(), 0, cs, N); }

inline RWCString& RWCString::append(const RWCString& s)
{ return replace(length(), 0, s.data(), s.length()); }

inline RWCString& RWCString::append(const RWCString& s, size_t N)
{ return replace(length(), 0, s.data(), rwmin(N, s.length())); }

inline RWCString& RWCString::operator+=(const char* cs)
{ return append(cs, strlen(cs)); }

inline RWCString& RWCString::operator+=(const RWCString& s)
{ return append(s.data(),s.length()); }


inline int RWCString::collate(const RWCString& st) const
{ return pref()->collate(st.data()); }


inline RWBoolean RWCString::contains(const RWCString& pat, caseCompare cmp) const
{ return index(pat.data(), pat.length(), (size_t)0, cmp) != RW_NPOS; }

inline RWBoolean RWCString::contains(const char* s, caseCompare cmp) const
{ return index(s, strlen(s), (size_t)0, cmp) != RW_NPOS; }

inline size_t RWCString::index(const char* s, size_t i, caseCompare cmp) const
{ return index(s, strlen(s), i, cmp); }

inline size_t RWCString::index(const RWCString& s, size_t i, caseCompare cmp) const
{ return index(s.data(), s.length(), i, cmp); }

inline size_t RWCString::index(const RWCString& pat, size_t patlen, size_t i, caseCompare cmp) const
{ return index(pat.data(), patlen, i, cmp); }

inline RWCString& RWCString::insert(size_t pos, const char* cs)
{ return replace(pos, 0, cs, strlen(cs)); }

inline RWCString& RWCString::insert(size_t pos, const char* cs, size_t N)
{ return replace(pos, 0, cs, N); }

inline RWCString& RWCString::insert(size_t pos, const RWCString& cstr)
{ return replace(pos, 0, cstr.data(), cstr.length()); }

inline RWCString& RWCString::insert(size_t pos, const RWCString& cstr, size_t N)
{ return replace(pos, 0, cstr.data(), rwmin(N, cstr.length())); }

inline RWCString& RWCString::prepend(const char* cs)
{ return replace(0, 0, cs, strlen(cs)); }

inline RWCString& RWCString::prepend(const char* cs, size_t N)
{ return replace(0, 0, cs, N); }

inline RWCString& RWCString::prepend(const RWCString& s)
{ return replace(0, 0, s.data(), s.length()); }

inline RWCString& RWCString::prepend(const RWCString& s, size_t N)
{ return replace(0, 0, s.data(), rwmin(N, s.length())); }

inline RWCString& RWCString::remove(size_t pos)
{ return replace(pos, length()-pos, 0, 0); }

inline RWCString& RWCString::remove(size_t pos, size_t n)
{ return replace(pos, n, 0, 0); }

inline RWCString& RWCString::replace(size_t pos, size_t n, const char* cs)
{ return replace(pos, n, cs, strlen(cs)); }

inline RWCString& RWCString::replace(size_t pos, size_t n, const RWCString& cstr)
{ return replace(pos, n, cstr.data(), cstr.length()); }

inline RWCString& RWCString::replace(size_t pos, size_t n1, const RWCString& cstr, size_t n2)
{ return replace(pos, n1, cstr.data(), rwmin(cstr.length(),n2)); }

inline char& RWCString::operator()(size_t i)
{



  cow();
  return data_[i];
}


inline char RWCString::operator[](size_t i) const
{ assertElement(i); return data_[i]; }

inline char RWCString::operator()(size_t i) const
{



  return data_[i];
}
# 894 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h"
inline const char* RWCSubString::startData() const
{ return str_->data() + begin_; }




inline const char* RWCSubString::data() const
{ return str_->data() + begin_; }





inline char RWCSubString::operator[](size_t i) const
{ assertElement(i); return str_->data_[begin_+i]; }

inline char RWCSubString::operator()(size_t i) const
{



   return str_->data_[begin_+i];
}



inline RWBoolean operator==(const RWCString& s1, const RWCString& s2)
                                  { return ((s1.length() == s2.length()) &&
                                    !memcmp(s1.data(), s2.data(), s1.length())); }
inline RWBoolean operator< (const RWCString& s1, const RWCString& s2)
                                  { return s1.compareTo(s2)< 0;}



inline RWBoolean operator!=(const RWCString& s1, const RWCString& s2)
                                  { return !(s1 == s2); }
inline RWBoolean operator> (const RWCString& s1, const RWCString& s2)
                                  { return s1.compareTo(s2)> 0;}
inline RWBoolean operator<=(const RWCString& s1, const RWCString& s2)
                                  { return s1.compareTo(s2)<=0;}
inline RWBoolean operator>=(const RWCString& s1, const RWCString& s2)
                                  { return s1.compareTo(s2)>=0;}



inline RWBoolean operator!=(const RWCString& s1, const char* s2)
                                  { return !(s1 == s2); }
inline RWBoolean operator< (const RWCString& s1, const char* s2)
                                  { return s1.compareTo(s2)< 0; }
inline RWBoolean operator> (const RWCString& s1, const char* s2)
                                  { return s1.compareTo(s2)> 0; }
inline RWBoolean operator<=(const RWCString& s1, const char* s2)
                                  { return s1.compareTo(s2)<=0; }
inline RWBoolean operator>=(const RWCString& s1, const char* s2)
                                  { return s1.compareTo(s2)>=0; }

inline RWBoolean operator==(const char* s1, const RWCString& s2)
                                  { return (s2 == s1); }
inline RWBoolean operator!=(const char* s1, const RWCString& s2)
                                  { return !(s2 == s1); }
inline RWBoolean operator< (const char* s1, const RWCString& s2)
                                  { return s2.compareTo(s1)> 0; }
inline RWBoolean operator> (const char* s1, const RWCString& s2)
                                  { return s2.compareTo(s1)< 0; }
inline RWBoolean operator<=(const char* s1, const RWCString& s2)
                                  { return s2.compareTo(s1)>=0; }
inline RWBoolean operator>=(const char* s1, const RWCString& s2)
                                  { return s2.compareTo(s1)<=0; }





inline RWBoolean operator==(const RWCString& s1, const RWCSubString& s2)
                           { return (s2 == s1); }
inline RWBoolean operator==(const char* s1, const RWCSubString& s2)
                           { return (s2 == s1); }
inline RWBoolean operator!=(const RWCSubString& s1, const char* s2)
                           { return !(s1 == s2); }
inline RWBoolean operator!=(const RWCSubString& s1, const RWCString& s2)
                           { return !(s1 == s2); }


inline RWBoolean operator!=(const RWCSubString& s1, const RWCSubString& s2)
                           { return !(s1 == s2); }


inline RWBoolean operator!=(const RWCString& s1, const RWCSubString& s2)
                           { return !(s2 == s1); }
inline RWBoolean operator!=(const char* s1, const RWCSubString& s2)
                           { return !(s2 == s1); }


# 1 "/home/hak/hak/filesx/usr/rogue/rw/strmshft.h" 1
# 77 "/home/hak/hak/filesx/usr/rogue/rw/strmshft.h"
class vostream;
class vistream;
# 988 "/home/hak/hak/filesx/usr/rogue/rw/cstring.h" 2
class RWpostream;
class RWbostream;
class RWeostream;

inline RWvostream& operator<<(RWpostream& dos, const RWCString& ct) { return (RWvostream&)dos << ct; }
inline RWvostream& operator<<(RWbostream& dos, const RWCString& ct) { return (RWvostream&)dos << ct; }
inline RWvostream& operator<<(RWeostream& dos, const RWCString& ct) { return (RWvostream&)dos << ct; }
# 16 "param.C" 2
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 1 3 4
# 26 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
#pragma builtin_milli abs
#pragma extern abs
# 44 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4

         inline int abs(int d) { return (d>0)?d:-d; }

# 55 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
extern "C" {





#pragma builtin_milli div, ldiv, labs
#pragma builtin rand, srand, atoi, exit, free 
#pragma extern __nl_char_size 

#pragma extern atof

#pragma extern atoi, atol, strtod, strtol, strtoul, rand
#pragma extern srand, atexit, exit, getenv, system, div, ldiv, labs 
#pragma extern mblen, mbtowc, wctomb, mbstowcs, wcstombs, free, qsort 


#pragma extern strtof
# 82 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
   extern int __nl_char_size;
# 95 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4

   typedef struct {
        int quot;
        int rem;
   } div_t;
   typedef struct {
        long int quot;
        long int rem;
   } ldiv_t;







# 1 "/usr/include/sys/_wchar_t.h" 1 3 4
# 112 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 2 3 4
# 138 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4



       extern double atof(const char *);

     extern int atoi(const char *);
     extern long int atol(const char *);
     extern double strtod(const char *, char **);
     extern long int strtol(const char *, char **, int);
# 160 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
   extern float strtof(const char *, char **);






     extern unsigned long int strtoul(const char *, char **, int);
     extern int rand(void);
     extern void srand(unsigned int);
     extern int atexit(void (*) (void));
     extern void exit(int);
     extern char *getenv(const char *);
     extern int system(const char *);
     extern div_t div(int, int);
     extern ldiv_t ldiv(long int, long int);
     extern long int labs(long int);
     extern int mblen(const char *, size_t);
     extern int mbtowc(wchar_t *, const char *, size_t);
     extern int wctomb(char *, wchar_t);
     extern size_t mbstowcs(wchar_t *, const char *, size_t);
     extern size_t wcstombs(char *, const wchar_t *, size_t);
     extern void free(void *);
     extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));

# 216 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
#pragma builtin abort, calloc, malloc, realloc
#pragma extern bsearch, abort, calloc, malloc, realloc
# 229 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4

       extern void abort(void);
       extern void *bsearch(const void *, const void *, size_t, size_t, int (*) (const void *, const void *));
       extern void *calloc(size_t, size_t);
       extern void *malloc(size_t);
       extern void *realloc(void *, size_t);

# 290 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
#pragma extern setkey, lcong48 
# 301 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
     extern void setkey(const char *);
     extern void lcong48( unsigned short [] );
# 313 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
#pragma extern drand48, erand48, jrand48, lrand48, mrand48, nrand48 
#pragma extern srand48, seed48, putenv
# 328 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
     extern double drand48(void);
     extern double erand48(unsigned short []);
     extern long jrand48(unsigned short []);
     extern long lrand48(void);
     extern long mrand48(void);
     extern long nrand48(unsigned short []);
     extern void srand48(long);
     extern unsigned short *seed48(unsigned short []);
     extern int putenv(const char *);
# 353 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
#pragma extern clearenv, getopt, getpass, memalign
#pragma extern optarg, optind, opterr
# 364 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
       extern int clearenv(void);
       extern int getopt(int, char * const [], const char *);
       extern char *getpass(const char *);
       extern void *memalign(size_t, size_t);







     extern char *optarg;
     extern int optind;
     extern int opterr;




# 1 "/usr/include/sys/wait.h" 1 3 4
# 28 "/usr/include/sys/wait.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 1 3 4
# 63 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
                typedef int mqd_t;





     typedef int32_t dev_t;





        typedef uint32_t ino32_t;
# 89 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
       typedef int psetid_t;
# 103 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
         typedef unsigned long ino_t;





     typedef uint16_t mode_t;




     typedef uint16_t nlink_t;




    typedef int32_t fpos32_t;
# 129 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4






       typedef long fpos_t;






     typedef uint32_t fsblkcnt32_t;
# 158 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
       typedef unsigned long fsblkcnt_t;





     typedef int32_t off32_t;




     typedef int32_t sbsize32_t;
     typedef uint32_t bsize32_t;
# 194 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
        typedef long off_t;
# 205 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
        typedef long sbsize_t;
        typedef unsigned long bsize_t;





     typedef uint32_t fsfilcnt32_t;
# 228 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
        typedef unsigned long fsfilcnt_t;





     typedef int32_t blkcnt32_t;
# 250 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
        typedef long blkcnt_t;





     typedef int32_t pid_t;




     typedef int32_t lwpid_t;




     typedef int32_t gid_t;




     typedef int32_t uid_t;




     typedef int32_t tid_t;




        typedef long ssize_t;




     typedef uint16_t __site_t;




     typedef uint16_t __cnode_t;












                typedef long time_t;
# 323 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
     typedef uint32_t clock_t;







      typedef int32_t key_t;


   typedef unsigned short __ushort;

   typedef int32_t __daddr_t;
   typedef char *__caddr_t;
   typedef int32_t __swblk_t;






     typedef __caddr_t caddr_t;







     typedef int32_t id_t;




     typedef uint32_t useconds_t;






      typedef uint32_t rlim32_t;
# 383 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
       typedef unsigned long rlim_t;




   typedef __site_t site_t;



   typedef unsigned char u_char;
   typedef unsigned short u_short;
   typedef unsigned int u_int;
   typedef unsigned long u_long;
   typedef unsigned int uint;
   typedef unsigned short ushort;
   typedef unsigned char ubit8;
   typedef unsigned short ubit16;
   typedef uint32_t ubit32;
   typedef char sbit8;
   typedef short sbit16;
   typedef int32_t sbit32;

   typedef __swblk_t swblk_t;
   typedef __daddr_t daddr_t;
   typedef __cnode_t cnode_t;


# 1 "/usr/include/machine/vm/vmtypes.h" 1 3 4
# 47 "/usr/include/machine/vm/vmtypes.h" 3 4
typedef uintptr_t paddr_t;
# 59 "/usr/include/machine/vm/vmtypes.h" 3 4
typedef intptr_t page_t;







typedef int pgcnt_t[2];
typedef unsigned int upgcnt_t[2];




typedef uintptr_t physpfn_t;
typedef uintptr_t iophyspfn_t;
typedef uintptr_t pgaddr_t;

typedef uint32_t prot_t;
# 95 "/usr/include/machine/vm/vmtypes.h" 3 4
typedef int space_t[2];

typedef uint32_t rid_t;
# 411 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 2 3 4



   typedef unsigned long ulong_t;


   typedef int16_t cnt_t;
   typedef uint32_t cdno_t;
   typedef uint16_t use_t;

   typedef struct _physadr { intptr_t r[1]; } *physadr;

   typedef int spu_t;
   typedef int ldom_t;





     typedef short cpu_t;




typedef struct lkinfo {
       char *lk_name;
       int lk_flags;
       long lk_pad[2];
} lkinfo_t;

typedef unsigned long pl_t;



      typedef int32_t aid_t;
# 454 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
   typedef pid_t sid_t;
# 466 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
# 1 "/usr/include/sys/_fd_macros.h" 1 3 4
# 85 "/usr/include/sys/_fd_macros.h" 3 4
typedef int32_t __fd_mask;
# 94 "/usr/include/sys/_fd_macros.h" 3 4
   typedef struct fd_set {
     long fds_bits[(((2048)+(((sizeof(long) * 8))-1))/((sizeof(long) * 8)))];
     } fd_set;



        extern "C" {
# 146 "/usr/include/sys/_fd_macros.h" 3 4
        }
# 467 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 2 3 4
# 475 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
     typedef __fd_mask fd_mask;




        extern "C" {
# 514 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/types.h" 3 4
        }
# 29 "/usr/include/sys/wait.h" 2 3 4
# 66 "/usr/include/sys/wait.h" 3 4
    extern "C" {




#pragma extern wait, waitpid







       extern pid_t wait(int *);
       extern pid_t waitpid(pid_t, int *, int);







    }







# 1 "/usr/include/sys/resource.h" 1 3 4
# 50 "/usr/include/sys/resource.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 1 3 4
# 37 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
# 1 "/usr/include/sys/sigevent.h" 1 3 4
# 45 "/usr/include/sys/sigevent.h" 3 4
# 1 "/usr/include/sys/stdpad.h" 1 3 4
# 46 "/usr/include/sys/sigevent.h" 2 3 4





typedef union sigval {




        struct {
                double __svi_pad1a;
                uint32_t __svi_pad1b;
                int __svi_int;
        } __svi_int_s;
        struct {
                double __svi_pad2a;
                uint32_t __svi_pad2b;
                void * __svi_ptr;
        } __svi_ptr_s;
# 75 "/usr/include/sys/sigevent.h" 3 4
   } sigval_t;
# 85 "/usr/include/sys/sigevent.h" 3 4
typedef int pthread_attr_t;




typedef struct sigevent {



      int __sigev_notify;
      int __sigev_signo;
      double __sigev_reserved0a;
      sigval_t __sigev_value;



      double __sigev_pad1a;
      uint32_t __sigev_pad1b;

      void (*__sigev_notify_function)(sigval_t);




      double __sigev_pad2a;
      uint32_t __sigev_pad2b;

      pthread_attr_t *__sigev_notify_attributes;
# 126 "/usr/include/sys/sigevent.h" 3 4
        double __sigev_reserved[8];




   } sigevent_t;


  enum __sigev_types {
          __SIGEV_NONE = 1,
          __SIGEV_SIGNAL

          ,__SIGEV_THREAD

  };
# 38 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 2 3 4
# 113 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4

   struct tm {
      int tm_sec;
      int tm_min;
      int tm_hour;
      int tm_mday;
      int tm_mon;
      int tm_year;
      int tm_wday;
      int tm_yday;
      int tm_isdst;
   };

# 134 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
  struct timespec {
        time_t tv_sec;
        long tv_nsec;
};
typedef struct timespec timestruc_t;





struct itimerspec {
        struct timespec it_interval;
        struct timespec it_value;
};


typedef enum __clockid_t {
        CLOCK_INVALID = 0,
        CLOCK_REALTIME = 1,
        CLOCK_VIRTUAL = 2,
        CLOCK_PROFILE = 4,
        RTTIMER0 = 8,
        RTTIMER1 = 16
} clockid_t;



        typedef unsigned long timer_t;
# 176 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
        struct timeval {

                time_t tv_sec;



                long tv_usec;
        };



   struct itimerval {
        struct timeval it_interval;
        struct timeval it_value;
   };






   struct timezone {
        int tz_minuteswest;
        int tz_dsttime;
   };



   typedef struct __cycles {
        uint32_t hi;
        uint32_t lo;
   } cycles_t;
# 217 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
   extern "C" {
# 230 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4





#pragma extern difftime 

     extern double difftime(time_t, time_t);






#pragma extern mktime 

     extern time_t mktime(struct tm *);






#pragma extern time 

     extern time_t time(time_t *);





#pragma extern asctime 

     extern char *asctime(const struct tm *);






#pragma extern ctime 

     extern char *ctime(const time_t *);






#pragma extern gmtime 

     extern struct tm *gmtime(const time_t *);






#pragma extern localtime 

     extern struct tm *localtime(const time_t *);






#pragma extern strftime 

     extern size_t strftime(char *, size_t, const char *, const struct tm *);


# 493 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
#pragma extern clock 
# 509 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4

       extern clock_t clock(void);

# 529 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
#pragma extern tzset 






     extern void tzset(void);
# 547 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
#pragma extern tzname


   extern char *tzname[2];







#pragma extern clock_settime, clock_gettime, clock_getres 
#pragma extern timer_create, timer_delete, timer_settime 
#pragma extern timer_gettime, timer_getoverrun, nanosleep 


     extern int clock_settime(clockid_t, const struct timespec *);
     extern int clock_gettime(clockid_t, struct timespec *);
     extern int clock_getres(clockid_t, struct timespec *);
     extern int timer_create(clockid_t, struct sigevent *, timer_t *);
     extern int timer_delete(timer_t);
     extern int timer_settime(timer_t, int, const struct itimerspec *,
                              struct itimerspec *);
     extern int timer_gettime(timer_t, struct itimerspec *);
     extern int timer_getoverrun(timer_t);
     extern int nanosleep(const struct timespec *, struct timespec *);
# 597 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
#pragma extern strptime


#pragma extern timezone


#pragma extern daylight





         extern char *strptime(const char *, const char *, struct tm *);
# 620 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
       extern long timezone;




       extern int daylight;






   }
# 644 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
   extern "C" {




#pragma extern getitimer, setitimer, utimes, gettimeofday, select



     extern int getitimer(int, struct itimerval *);
     extern int setitimer(int, const struct itimerval *, struct itimerval *);
     extern int utimes(const char *, const struct timeval[2]);
     extern int gettimeofday(struct timeval *, void *);



       extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
# 671 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
   }






   extern "C" {





#pragma extern adjtime

#pragma extern getdate






#pragma extern settimeofday, stime, profil


     extern int adjtime(const struct timeval *, struct timeval *);



       extern struct tm *getdate(const char *);
# 710 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
     extern int settimeofday(const struct timeval *, const struct timezone *);
     extern int stime(const time_t *);
     extern void profil(void *, size_t, size_t, int);
# 746 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
#pragma extern getdate_err 

       extern int getdate_err;






   }
# 799 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
    struct ki_timeval {
            uint32_t pad1;
            uint32_t pad2;
    };
# 821 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/time.h" 3 4
typedef struct ki_timeval kt_t;
# 51 "/usr/include/sys/resource.h" 2 3 4
# 59 "/usr/include/sys/resource.h" 3 4
# 1 "/usr/include/sys/_rlimit_body.h" 1 3 4
# 45 "/usr/include/sys/_rlimit_body.h" 3 4
struct rlimit {
        rlim_t rlim_cur;
        rlim_t rlim_max;
};
# 60 "/usr/include/sys/resource.h" 2 3 4
# 105 "/usr/include/sys/resource.h" 3 4
struct rusage {
        struct timeval ru_utime;
        struct timeval ru_stime;

        long ru_maxrss;

        long ru_ixrss;
        long ru_idrss;
        long ru_isrss;
        long ru_minflt;
        long ru_majflt;
        long ru_nswap;
        long ru_inblock;
        long ru_oublock;
        long ru_ioch;
        long ru_msgsnd;
        long ru_msgrcv;
        long ru_nsignals;
        long ru_nvcsw;
        long ru_nivcsw;

};
# 146 "/usr/include/sys/resource.h" 3 4
   extern "C" {




#pragma extern getpriority, getrusage, setpriority 

#pragma extern getrlimit, setrlimit



   extern int getpriority (int, id_t);
   extern int getrusage (int, struct rusage *);
   extern int setpriority (int, id_t, int);

   extern int getrlimit (int, struct rlimit *);
   extern int setrlimit (int, const struct rlimit *);
# 200 "/usr/include/sys/resource.h" 3 4
   }
# 97 "/usr/include/sys/wait.h" 2 3 4
# 107 "/usr/include/sys/wait.h" 3 4
      extern "C" {




#pragma extern wait3







           extern pid_t wait3(int *, int, struct rusage *);
# 130 "/usr/include/sys/wait.h" 3 4
      }






# 1 "/usr/include/sys/signal.h" 1 3 4
# 42 "/usr/include/sys/signal.h" 3 4
# 1 "/usr/include/sys/siginfo.h" 1 3 4
# 110 "/usr/include/sys/siginfo.h" 3 4
typedef struct __siginfo {




        uint32_t __si_version, __si_size; int si_signo; int si_code; int si_errno; uint32_t __si_reserved0b; double __si_reserved0c; sigval_t si_value; union { struct { double __pad2a; uint32_t __pad2b; pid_t __pid; union { struct { double __pad2c; uint32_t __pad2d; uid_t __uid; } __kill; struct { double __pad2e; uint32_t __pad2f; int __status; } __SIGCLD; } __pdata; } __proc; struct { double __pad5a; uint32_t __pad5b; void *__addr; double __pad5c; uint32_t __pad5d; unsigned int __imm; } __fault; struct { double __pad6a; uint32_t __pad6b; int __fd; double __pad6c; uint32_t __pad6d; long __band; } __file; struct { double __pad7a; uint32_t __pad7b; void *__addr; double __pad7c; uint32_t __pad7d; void *__lockpage; double __pad7e; uint32_t __pad7f; long __dev_id; } __gfault; } __data;



        double __pad[8];




} siginfo_t;
# 153 "/usr/include/sys/siginfo.h" 3 4
# 1 "/usr/include/machine/sys/siginfo.h" 1 3 4
# 50 "/usr/include/machine/sys/siginfo.h" 3 4
enum __si_codes {
        SI_USER = -1,
        SI_QUEUE = -2,
        SI_TIMER = -3,
        SI_ASYNCIO= -4,
        SI_MESGQ = -5
};
# 154 "/usr/include/sys/siginfo.h" 2 3 4
# 43 "/usr/include/sys/signal.h" 2 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/newsig.h" 1 3 4
# 58 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/newsig.h" 3 4
     typedef struct __sigset_t {
          unsigned int sigset[8];
     } sigset_t;
# 77 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/newsig.h" 3 4
typedef struct __stack {
        uint32_t __ss_pad0;
        void *ss_sp;
        uint32_t __ss_pad1;
        int ss_flags;
        uint32_t __ss_pad2;
        size_t ss_size;
        double __ss_reserved[5];
} stack_t;

# 1 "/usr/include/machine/sys/newsig.h" 1 3 4
# 42 "/usr/include/machine/sys/newsig.h" 3 4
typedef struct {
        long double __mc_opaque[2976];
} __mcontext_t;



typedef __mcontext_t mcontext_t;
# 70 "/usr/include/machine/sys/newsig.h" 3 4
typedef struct {
# 118 "/usr/include/machine/sys/newsig.h" 3 4
        double __uc_misc_reserved[45];

} __uc_misc_t;




typedef struct __ucontext {
        __uc_misc_t __uc_misc;






        double __uc_reserved[((1024 - sizeof(__uc_misc_t)) / sizeof(double))];
        mcontext_t __uc_mcontext;
} ucontext_t;
# 88 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/sys/newsig.h" 2 3 4
# 44 "/usr/include/sys/signal.h" 2 3 4
# 66 "/usr/include/sys/signal.h" 3 4

  typedef unsigned int sig_atomic_t;

# 79 "/usr/include/sys/signal.h" 3 4
   struct sigaction {
      union {



              void (*__sa_sigaction)(int, siginfo_t *, void *);







              void (*__sa_handler)(int);
      } __handler;

      sigset_t sa_mask;


      int sa_flags;
   };
# 108 "/usr/include/sys/signal.h" 3 4
typedef int pthread_t;
# 135 "/usr/include/sys/signal.h" 3 4
   struct sigstack {

        void *ss_sp;



        int ss_onstack;
   };
# 152 "/usr/include/sys/signal.h" 3 4
   struct sigvec {
      void (*sv_handler)(int);
      int sv_mask;
      int sv_flags;
   };
# 168 "/usr/include/sys/signal.h" 3 4
   extern "C" {





#pragma extern signal, raise




     extern void (*signal(int, void (*) (int)))(int);
     extern int raise(int);

# 191 "/usr/include/sys/signal.h" 3 4
#pragma extern kill, sigemptyset, sigfillset, sigaddset, sigdelset
#pragma extern sigismember, sigaction, sigprocmask, sigsuspend
#pragma extern sigpending
#pragma extern ___sysconf


     extern int kill(pid_t, int);
     extern int sigemptyset(sigset_t *);
     extern int sigfillset(sigset_t *);
     extern int sigaddset(sigset_t *, int);
     extern int sigdelset(sigset_t *, int);
     extern int sigismember(const sigset_t *, int);
     extern int sigaction(int, const struct sigaction *, struct sigaction *);
     extern int sigprocmask(int, const sigset_t *, sigset_t *);
     extern int sigsuspend(const sigset_t *);
     extern int sigpending(sigset_t *);
     extern long ___sysconf(int);
# 226 "/usr/include/sys/signal.h" 3 4
#pragma extern sigwait

#pragma extern pthread_sigmask, pthread_kill



     extern int sigwait(const sigset_t *set, int *sig);

     extern int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
     extern int pthread_kill(pthread_t thread, int sig);
# 249 "/usr/include/sys/signal.h" 3 4
#pragma extern sigwaitinfo, sigtimedwait, sigqueue


     extern int sigwaitinfo(const sigset_t *set, siginfo_t *info);
     extern int sigtimedwait(const sigset_t *set, siginfo_t * info,
                             const struct timespec *timeout);
     extern int sigqueue(pid_t pid, int signo,
                         const union sigval value);
# 267 "/usr/include/sys/signal.h" 3 4
#pragma extern bsd_signal, killpg, sigaltstack, siginterrupt

#pragma extern sigstack



        extern void (*bsd_signal(int, void(*)(int)))(int);
        extern int killpg(pid_t, int);

        extern int sigstack(struct sigstack *, struct sigstack *);



        extern int sigaltstack(const stack_t *, stack_t *);
        extern int siginterrupt(int, int);
# 293 "/usr/include/sys/signal.h" 3 4
#pragma extern sigset, sighold, sigrelse, sigignore, sigpause


           extern void (*sigset(int, void (*)(int)))(int);
           extern int sighold(int);
           extern int sigrelse(int);
           extern int sigignore(int);
           extern int sigpause(int);
# 315 "/usr/include/sys/signal.h" 3 4
#pragma extern sigblock, sigsetmask, sigvector, ssignal, sigspace, gsignal





     extern long sigblock(long);
     extern long sigsetmask(long);
     extern int sigvector(int, const struct sigvec *, struct sigvec *);
     extern int (*ssignal(int, int (*) (int)))(int);



     extern ssize_t sigspace(ssize_t);
     extern int gsignal(int);
# 348 "/usr/include/sys/signal.h" 3 4
   }
# 547 "/usr/include/sys/signal.h" 3 4
# 1 "/usr/include/machine/sys/signal.h" 1 3 4
# 59 "/usr/include/machine/sys/signal.h" 3 4
# 1 "/usr/include/machine/sys/sigcontext.h" 1 3 4
# 42 "/usr/include/machine/sys/sigcontext.h" 3 4
struct sigcontext {
        struct __ucontext __uc;
};
# 60 "/usr/include/machine/sys/signal.h" 2 3 4
# 548 "/usr/include/sys/signal.h" 2 3 4
# 574 "/usr/include/sys/signal.h" 3 4
# 1 "/usr/include/machine/sys/frame.h" 1 3 4
# 50 "/usr/include/machine/sys/frame.h" 3 4
typedef struct frame_marker {
        int __scratch[4];
} frame_marker_t;
# 575 "/usr/include/sys/signal.h" 2 3 4
# 138 "/usr/include/sys/wait.h" 2 3 4
# 172 "/usr/include/sys/wait.h" 3 4
typedef enum {
        P_PID,
        P_PGID,
        P_SID,
        P_UID,
        P_GID,
        P_CID,
        P_ALL,
        P_LWPID
} idtype_t;





      extern "C" {




#pragma extern waitid



        extern int waitid(idtype_t, id_t, siginfo_t *, int);





      }
# 213 "/usr/include/sys/wait.h" 3 4
   union wait {
        int w_status;



        struct {
                unsigned short w_pad;
                unsigned int w_Retcode:8;
                unsigned int w_Coredump:1;
                unsigned int w_Termsig:7;
        } w_T;





        struct {
                unsigned short w_pad;
                unsigned int w_Stopsig:8;
                unsigned int w_Stopval:8;
        } w_S;
   };
# 248 "/usr/include/sys/wait.h" 3 4
      extern "C" {




#pragma extern wait4


   extern pid_t wait4(pid_t,int *, int, struct rusage *);




      }
# 383 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 2 3 4



#pragma extern a64l, l64a, gcvt, getsubopt, grantpt, ptsname, realpath 
#pragma extern unlockpt, valloc, initstate, setstate 
#pragma extern srandom, random




#pragma extern mkstemp, mktemp, ttyslot
# 406 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
         extern int mkstemp(char *);
         extern char *mktemp(char *);
         extern int ttyslot(void);
# 430 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
     extern long a64l(const char *);
     extern char *l64a(long);




#pragma extern fcvt, ecvt 

      extern char *fcvt(double, int, int *, int *);
      extern char *ecvt(double, int, int *, int *);


    extern char *gcvt(double, int, char *);
    extern int getsubopt(char **, char * const *, char **);
    extern int grantpt(int);
    extern char *ptsname(int);
    extern char *realpath(const char *, char *);
    extern int unlockpt(int);
    extern void *valloc(size_t);
    extern char *initstate(unsigned int, char *, size_t);
    extern char *setstate(const char *);
    extern void srandom(unsigned int);
        extern long random(void);
# 504 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
  struct mallinfo {
        int32_t arena;
        int32_t ordblks;
        int32_t smblks;
        int32_t hblks;
        int32_t hblkhd;
        int32_t usmblks;
        int32_t fsmblks;
        int32_t uordblks;
        int32_t fordblks;
        int32_t keepcost;
  };
# 525 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
     typedef long double long_double;





#pragma extern _ldecvt, _ldfcvt, _ldgcvt, _extecvt, _extfcvt, ltostr
#pragma extern ultostr, ltoa, ultoa, mallinfo, mallopt, strtold
# 552 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 1 3 4
# 29 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
extern "C" {




   struct passwd {
        char *pw_name;
        char *pw_passwd;
        uid_t pw_uid;
        gid_t pw_gid;
        char *pw_age;
        char *pw_comment;
        char *pw_gecos;
        char *pw_dir;
        char *pw_shell;
        int32_t pw_audid;
        int pw_audflg;
   };


#pragma extern getpwuid, getpwnam
# 73 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
     extern struct passwd *getpwuid(uid_t);
     extern struct passwd *getpwnam(const char *);
# 98 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
#pragma extern endpwent, getpwent, setpwent
# 109 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
     extern void endpwent(void);
     extern struct passwd *getpwent(void);
     extern void setpwent(void);
# 120 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
   struct s_passwd {
       char *pw_name;
       char *pw_passwd;
       char *pw_age;
       int32_t pw_audid;
       int pw_audflg;
   };



#pragma extern putpwent, fgetpwent, getspwent, getspwuid, getspwaid
#pragma extern getspwnam, fgetspwent, setspwent, endspwent
# 148 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 1 3 4
# 14 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdarg.h" 1 3 4
# 43 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 15 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 2 3 4
# 33 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
extern "C" {
# 51 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4

   typedef struct {
        int __cnt;
        unsigned char *__ptr;
        unsigned char *__base;
        unsigned short __flag;
        unsigned char __fileL;
        unsigned char __fileH;
   } FILE;


   typedef struct {
        int __cnt;
        unsigned char *__ptr;
        unsigned char *__base;
        unsigned short __flag;
        unsigned char __fileL;
        unsigned char __fileH;
        unsigned char *__bufendp;
        unsigned char *__newbase;
        unsigned char __smbuf[8 +2*4];



        void *__unused;





        int __filler1;
        char __filler2[8];

   } _FILEX;
# 111 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
# 1 "/usr/include/sys/_null.h" 1 3 4
# 112 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 2 3 4
# 144 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
        typedef char * __va_list;
# 186 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern __iob

   extern FILE __iob[];





#pragma builtin fclose, fflush, scanf, fscanf, sscanf, fprintf 
#pragma builtin printf, sprintf, fgetc, fputc
#pragma extern remove, tmpnam, fclose, fflush, setbuf, setvbuf, fprintf
#pragma extern fscanf, printf, scanf, sprintf, sscanf, fgetc, fgets, fputc
#pragma extern fputs, getc, getchar, gets, putc, putchar, puts, ungetc
#pragma extern fseek, ftell, rewind, clearerr, feof, ferror, perror
# 259 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4

     extern int remove(const char *);



#pragma extern rename

     extern int rename(const char *, const char *);

     extern char *tmpnam(char *);
     extern int fclose(FILE *);
     extern int fflush(FILE *);
     extern void setbuf(FILE *, char *);
     extern int setvbuf(FILE *, char *, int, size_t);
     extern int fprintf(FILE *, const char *, ...);
     extern int fscanf(FILE *, const char *,...);
     extern int printf(const char *,...);
     extern int scanf(const char *,...);
     extern int sprintf(char *, const char *,...);
     extern int sscanf(const char *, const char *,...);
     extern int fgetc(FILE *);
     extern char *fgets(char *, int, FILE *);
     extern int fputc(int, FILE *);
     extern int fputs(const char *, FILE *);
     extern int getc(FILE *);
     extern int getchar(void);
     extern char *gets(char *);
     extern int putc(int, FILE *);
     extern int putchar(int);
     extern int puts(const char *);
     extern int ungetc(int, FILE *);



#pragma builtin fopen
#pragma extern tmpfile, fgetpos, fsetpos, fopen, freopen

     extern FILE *tmpfile(void);
     extern int fgetpos(FILE *, fpos_t *);
     extern int fsetpos(FILE *, const fpos_t *);
     extern FILE *fopen(const char *, const char *);
     extern FILE *freopen(const char *, const char *, FILE *);
# 310 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
     extern int fseek(FILE *, long int, int);
     extern long int ftell(FILE *);
     extern void rewind(FILE *);
     extern void clearerr(FILE *);
     extern int feof(FILE *);
     extern int ferror(FILE *);
     extern void perror(const char *);

# 408 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern fread, fwrite
# 423 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4

       extern size_t fread(void *, size_t, size_t, FILE *);
       extern size_t fwrite(const void *, size_t, size_t, FILE *);

# 442 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern __flsbuf, __filbuf 
# 453 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
     extern int __flsbuf(unsigned char, FILE *);
     extern int __filbuf(FILE *);
# 525 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern ctermid, fileno, fdopen 
# 536 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
     extern char *ctermid(char *);
     extern int fileno(FILE *);
     extern FILE *fdopen(int, const char *);
# 556 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4

           typedef char * __not_va_list__;

# 586 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern optarg, opterr, optind, optopt, getopt, cuserid


     extern char *optarg;
     extern int optind;
     extern int opterr;
     extern int optopt;
# 602 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
       extern int getopt(int, char * const [], const char *);
       extern char *cuserid(char *);
# 615 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern getw, putw, pclose, popen, tempnam
# 626 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
     extern int getw(FILE *);
     extern int putw(int, FILE *);
     extern int pclose(FILE *);
     extern FILE *popen(const char *, const char *);
     extern char *tempnam(const char *, const char *);
# 655 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern vprintf, vfprintf, vsprintf





     extern int vprintf(const char *, __gnuc_va_list);
     extern int vfprintf(FILE *, const char *, __gnuc_va_list);
     extern int vsprintf(char *, const char *, __gnuc_va_list);






# 679 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma builtin snprintf
#pragma extern snprintf, vsnprintf, vscanf, vfscanf, vsscanf, flockfile
#pragma extern ftrylockfile, funlockfile
# 699 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
     extern int snprintf(char *, size_t, const char *,...);
     extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list);
     extern int vscanf(const char *, __gnuc_va_list);
     extern int vfscanf(FILE *, const char *, __gnuc_va_list);
     extern int vsscanf(char *, const char *, __gnuc_va_list);
     extern void flockfile(FILE *);
     extern int ftrylockfile(FILE *);
     extern void funlockfile(FILE *);
# 755 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
#pragma extern __bufendtab


   extern unsigned char *__bufendtab[];
# 920 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdio.h" 3 4
}
# 149 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 2 3 4


         extern int putpwent(const struct passwd *, FILE *);
     extern struct passwd *fgetpwent(FILE *);
     extern struct s_passwd *getspwent(void);
     extern struct s_passwd *getspwuid(uid_t);
     extern struct s_passwd *getspwaid(int32_t);
     extern struct s_passwd *getspwnam(char *);
     extern struct s_passwd *fgetspwent(FILE *);
     extern void setspwent(void);
     extern void endspwent(void);
# 208 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/pwd.h" 3 4
}
# 553 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 2 3 4



# 1 "/usr/include/errno.h" 1 3 4
# 36 "/usr/include/errno.h" 3 4
#pragma extern errno


        extern int errno;

# 1 "/usr/include/sys/errno.h" 1 3 4
# 42 "/usr/include/sys/errno.h" 3 4
     extern "C" {







#pragma extern errno

         extern int errno;



     }
# 42 "/usr/include/errno.h" 2 3 4





#pragma extern perror, strerror
#pragma extern sys_nerr, sys_errlist 


extern "C" {

    extern void perror(const char*);
    extern char *strerror (int);

    extern int sys_nerr;
    extern char *sys_errlist[];
}
# 557 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 2 3 4


     extern char *_ldecvt(long_double, int, int *, int *);
     extern char *_ldfcvt(long_double, int, int *, int *);
     extern char *_ldgcvt(long_double, int, char *);

       extern char *_extecvt(long double, int, int *, int *);
       extern char *_extfcvt(long double, int, int *, int *);



#pragma extern getpw, l3tol, ltol3

     extern int getpw(int, char *);
     extern void l3tol(long *, const char *, int);
     extern void ltol3(char *, const long *, int);
     extern char *ltostr(long, int);
     extern char *ultostr(unsigned long, int);
     extern char *ltoa(long);
     extern char *ultoa(unsigned long);





     extern struct mallinfo mallinfo(void);
     extern int mallopt(int, int);
     extern long_double strtold(const char *, char **);
# 671 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stdlib.h" 3 4
}
# 17 "param.C" 2

# 1 "/usr/local/include/g++-v3/backward/fstream.h" 1 3
# 31 "/usr/local/include/g++-v3/backward/fstream.h" 3
# 1 "/usr/local/include/g++-v3/backward/backward_warning.h" 1 3
# 32 "/usr/local/include/g++-v3/backward/fstream.h" 2 3
# 1 "/usr/local/include/g++-v3/fstream" 1 3
# 44 "/usr/local/include/g++-v3/fstream" 3

# 1 "/usr/local/include/g++-v3/istream" 1 3
# 43 "/usr/local/include/g++-v3/istream" 3

# 1 "/usr/local/include/g++-v3/ios" 1 3
# 43 "/usr/local/include/g++-v3/ios" 3

# 1 "/usr/local/include/g++-v3/iosfwd" 1 3
# 43 "/usr/local/include/g++-v3/iosfwd" 3

# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++config.h" 1 3
# 34 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++config.h" 3
# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/os_defines.h" 1 3
# 62 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/os_defines.h" 3
namespace std {

  __extension__ extern "C" long long strtoll (const char *, char **, int)
    __asm ("__strtoll");
  __extension__ extern "C" unsigned long long strtoull (const char *, char **, int)
    __asm ("__strtoull");






}
# 35 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++config.h" 2 3
# 45 "/usr/local/include/g++-v3/iosfwd" 2 3
# 1 "/usr/local/include/g++-v3/bits/stringfwd.h" 1 3
# 43 "/usr/local/include/g++-v3/bits/stringfwd.h" 3



namespace std
{
  template<class _CharT>
    struct char_traits;

  template<> struct char_traits<char>;




  template< _Alloc>
    class allocator;

  template< _CharT, _Traits = char_traits<_CharT>,
           _Alloc = allocator<_CharT> >
    class basic_string;

  typedef basic_string<char> string;
  typedef basic_string<wchar_t> wstring;
}
# 46 "/usr/local/include/g++-v3/iosfwd" 2 3
# 1 "/usr/local/include/g++-v3/bits/fpos.h" 1 3
# 43 "/usr/local/include/g++-v3/bits/fpos.h" 3

# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++io.h" 1 3
# 35 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++io.h" 3
# 1 "/usr/local/include/g++-v3/cstdio" 1 3
# 48 "/usr/local/include/g++-v3/cstdio" 3


# 1 "/usr/local/include/g++-v3/cstddef" 1 3
# 47 "/usr/local/include/g++-v3/cstddef" 3

# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stddef.h" 1 3 4
# 49 "/usr/local/include/g++-v3/cstddef" 2 3

namespace std
{
  using ::ptrdiff_t;
  using ::size_t;
}
# 51 "/usr/local/include/g++-v3/cstdio" 2 3
# 97 "/usr/local/include/g++-v3/cstdio" 3
namespace std
{
  using ::FILE;
  using ::fpos_t;

  using ::clearerr;
  using ::fclose;
  using ::feof;
  using ::ferror;
  using ::fflush;
  using ::fgetc;
  using ::fgetpos;
  using ::fgets;
  using ::fopen;
  using ::fprintf;
  using ::fputc;
  using ::fputs;
  using ::fread;
  using ::freopen;
  using ::fscanf;
  using ::fseek;
  using ::fsetpos;
  using ::ftell;
  using ::fwrite;
  using ::getc;
  using ::getchar;
  using ::gets;
  using ::perror;
  using ::printf;
  using ::putc;
  using ::putchar;
  using ::puts;
  using ::remove;
  using ::rename;
  using ::rewind;
  using ::scanf;
  using ::setbuf;
  using ::setvbuf;
  using ::sprintf;
  using ::sscanf;
  using ::tmpfile;
  using ::tmpnam;
  using ::ungetc;
  using ::vfprintf;
  using ::vprintf;
  using ::vsprintf;
}
# 36 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++io.h" 2 3

# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr.h" 1 3
# 102 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr.h" 3
# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr-single.h" 1 3
# 34 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr-single.h" 3
typedef int __gthread_mutex_t;
# 211 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr-single.h" 3
static inline int
__gthread_active_p (void)
{
  return 0;
}

static inline int
__gthread_mutex_lock (__gthread_mutex_t * )
{
  return 0;
}

static inline int
__gthread_mutex_trylock (__gthread_mutex_t * )
{
  return 0;
}

static inline int
__gthread_mutex_unlock (__gthread_mutex_t * )
{
  return 0;
}
# 103 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/gthr.h" 2 3
# 38 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++io.h" 2 3

namespace std
{

  typedef long streamoff;
  typedef ptrdiff_t streamsize;



  typedef fpos_t __c_streampos;

  typedef __gthread_mutex_t __c_lock;


  typedef FILE __c_file_type;


  struct __ios_flags
  {
    typedef short __int_type;

    static const __int_type _S_boolalpha = 0x0001;
    static const __int_type _S_dec = 0x0002;
    static const __int_type _S_fixed = 0x0004;
    static const __int_type _S_hex = 0x0008;
    static const __int_type _S_internal = 0x0010;
    static const __int_type _S_left = 0x0020;
    static const __int_type _S_oct = 0x0040;
    static const __int_type _S_right = 0x0080;
    static const __int_type _S_scientific = 0x0100;
    static const __int_type _S_showbase = 0x0200;
    static const __int_type _S_showpoint = 0x0400;
    static const __int_type _S_showpos = 0x0800;
    static const __int_type _S_skipws = 0x1000;
    static const __int_type _S_unitbuf = 0x2000;
    static const __int_type _S_uppercase = 0x4000;
    static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010;
    static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008;
    static const __int_type _S_floatfield = 0x0100 | 0x0004;


    static const __int_type _S_badbit = 0x01;
    static const __int_type _S_eofbit = 0x02;
    static const __int_type _S_failbit = 0x04;


    static const __int_type _S_app = 0x01;
    static const __int_type _S_ate = 0x02;
    static const __int_type _S_bin = 0x04;
    static const __int_type _S_in = 0x08;
    static const __int_type _S_out = 0x10;
    static const __int_type _S_trunc = 0x20;
  };
}
# 45 "/usr/local/include/g++-v3/bits/fpos.h" 2 3
# 1 "/usr/local/include/g++-v3/cwchar" 1 3
# 48 "/usr/local/include/g++-v3/cwchar" 3



# 1 "/usr/local/include/g++-v3/ctime" 1 3
# 48 "/usr/local/include/g++-v3/ctime" 3



# 1 "/usr/include/time.h" 1 3 4
# 27 "/usr/include/time.h" 3 4
#pragma extern get_expiration_time
# 36 "/usr/include/time.h" 3 4
     extern int get_expiration_time (struct timespec *,struct timespec *);







     extern "C" {
# 54 "/usr/include/time.h" 3 4
     }
# 52 "/usr/local/include/g++-v3/ctime" 2 3
# 64 "/usr/local/include/g++-v3/ctime" 3
namespace std
{
  using ::clock_t;
  using ::time_t;
  using ::tm;

  using ::clock;
  using ::difftime;
  using ::mktime;
  using ::time;
  using ::asctime;
  using ::ctime;
  using ::gmtime;
  using ::localtime;
  using ::strftime;
}
# 52 "/usr/local/include/g++-v3/cwchar" 2 3


# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 1 3 4
# 24 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
# 1 "/usr/include/ctype.h" 1 3 4
# 17 "/usr/include/ctype.h" 3 4
extern "C" {






#pragma extern isalnum, isalpha, iscntrl, isdigit, isgraph, islower
#pragma extern isprint, ispunct, isspace, isupper, isxdigit




     extern int isalnum(int);
     extern int isalpha(int);
     extern int iscntrl(int);
     extern int isdigit(int);
     extern int isgraph(int);
     extern int islower(int);
     extern int isprint(int);
     extern int ispunct(int);
     extern int isspace(int);
     extern int isupper(int);
     extern int isxdigit(int);

# 75 "/usr/include/ctype.h" 3 4
#pragma extern tolower, toupper
# 87 "/usr/include/ctype.h" 3 4

extern int tolower(int);
extern int toupper(int);

# 100 "/usr/include/ctype.h" 3 4
#pragma extern isascii, toascii
# 113 "/usr/include/ctype.h" 3 4
     extern int isascii(int);
     extern int toascii(int);
# 130 "/usr/include/ctype.h" 3 4
#pragma extern __tolower, __toupper
# 141 "/usr/include/ctype.h" 3 4
extern int __tolower(int);
extern int __toupper(int);
# 175 "/usr/include/ctype.h" 3 4
#pragma extern isctype, isblank
# 192 "/usr/include/ctype.h" 3 4
     extern int isctype(int, unsigned int);
     extern int isblank(int);







#pragma builtin _isalnum, _isalpha, _iscntrl, _isdigit, _isgraph, _islower
#pragma builtin _isprint, _ispunct, _isspace, _isupper, _isxdigit
#pragma extern _isalnum, _isalpha, _iscntrl, _isdigit, _isgraph, _islower
#pragma extern _isprint, _ispunct, _isspace, _isupper, _isxdigit





#pragma extern __SB_masks

     extern unsigned int *__SB_masks;

     extern int _isalnum(int);
     extern int _isalpha(int);
     extern int _iscntrl(int);
     extern int _isdigit(int);
     extern int _isgraph(int);
     extern int _islower(int);
     extern int _isprint(int);
     extern int _ispunct(int);
     extern int _isspace(int);
     extern int _isupper(int);
     extern int _isxdigit(int);
# 280 "/usr/include/ctype.h" 3 4
}
# 25 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 2 3 4


# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/stddef.h" 1 3 4
# 28 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 2 3 4
# 39 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/limits.h" 1 3 4
# 11 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/limits.h" 3 4
# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/syslimits.h" 1 3 4
# 432 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/syslimits.h" 3 4
# 1 "/usr/include/sys/param.h" 1 3 4
# 35 "/usr/include/sys/param.h" 3 4
# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 36 "/usr/include/sys/param.h" 2 3 4

# 1 "/usr/include/machine/sys/param.h" 1 3 4
# 46 "/usr/include/machine/sys/param.h" 3 4
# 1 "/usr/include/machine/sys/inline.h" 1 3 4
# 13 "/usr/include/machine/sys/inline.h" 3 4
typedef enum {
        _SZ_B = 1,
        _SZ_H = 2,
        _SZ_W = 4,
        _SZ_D = 8
} _Asm_sz;


typedef enum {
        _SEM_ACQ = 1,
        _SEM_REL = 2
} _Asm_sem;


typedef enum {
        _FASZ_W = 4,
        _FASZ_D = 8
} _Asm_fasz;


typedef enum {
        _MBTYPE_REV = 1,
        _MBTYPE_MIX = 2,
        _MBTYPE_SHUF = 3,
        _MBTYPE_ALT = 4,
        _MBTYPE_BRCST = 5
} _Asm_mbtype;


typedef enum {
        _LDHINT_NONE = 0,
        _LDHINT_NT1 = 1,
        _LDHINT_NTA = 2
} _Asm_ldhint;


typedef enum {
        _STHINT_NONE = 0,
        _STHINT_NTA = 1
} _Asm_sthint;


typedef enum {
        _LFTYPE_NONE = 0,
        _LFTYPE_FAULT = 1
} _Asm_lftype;


typedef enum {
        _LFHINT_NONE = 0,
        _LFHINT_NT1 = 1,
        _LFHINT_NT2 = 2,
        _LFHINT_NTA = 3
} _Asm_lfhint;


typedef enum {
        _REG_BANK_ZERO = 0,
        _REG_BANK_ONE = 1
} _Asm_reg_bank;


typedef enum {
        _PC_S = 1,
        _PC_D = 2,
        _PC_NONE = 3
} _Asm_pc;


typedef enum {
        _FP_NAT = (1<<8),
        _FP_QNAN = (1<<7),
        _FP_SNAN = (1<<6),
        _FP_POS = (1<<0),
        _FP_NEG = (1<<1),
        _FP_ZERO = (1<<2),
        _FP_UNNORM = (1<<3),
        _FP_NORM = (1<<4),
        _FP_INF = (1<<5)
} _Asm_fclass_type;


typedef enum {
        _FP_EQ = 1,
        _FP_LT = 2,
        _FP_LE = 3,
        _FP_GT = 4,
        _FP_GE = 5,
        _FP_UNORD = 6,
        _FP_NEQ = 7,
        _FP_NLT = 8,
        _FP_NLE = 9,
        _FP_NGT = 10,
        _FP_NGE = 11,
        _FP_ORD = 12
} _Asm_frel;


typedef enum {
        _FX_S = 1,
        _FX_ST = 2,
        _FX_U = 3,
        _FX_UT = 4
} _Asm_fx_type;


typedef enum {
        _FM_NS = 1,
        _FM_S = 2,
        _FM_SE = 3
} _Asm_fm_type;



typedef enum {
        _FR_S = 1,
        _FR_D = 2,
        _FR_EXP = 3,
        _FR_SIG = 4
} _Asm_fr_access;


typedef enum {
        _XM_L = 1,
        _XM_LU = 2,
        _XM_H = 3,
        _XM_HU = 4
} _Asm_xm_type;


typedef enum {
        _SF0 = 0,
        _SF1 = 1,
        _SF2 = 2,
        _SF3 = 3
} _Asm_sf;


typedef enum {
        _AREG0, _AREG1, _AREG2, _AREG3, _AREG4, _AREG5, _AREG6, _AREG7, _AREG8,
        _AREG9, _AREG10, _AREG11, _AREG12, _AREG13, _AREG14, _AREG15, _AREG16,
        _AREG17, _AREG18, _AREG19, _AREG20, _AREG21, _AREG22, _AREG23, _AREG24,
        _AREG25, _AREG26, _AREG27, _AREG28, _AREG29, _AREG30, _AREG31, _AREG32,
        _AREG33, _AREG34, _AREG35, _AREG36, _AREG37, _AREG38, _AREG39, _AREG40,
        _AREG41, _AREG42, _AREG43, _AREG44, _AREG45, _AREG46, _AREG47, _AREG48,
        _AREG49, _AREG50, _AREG51, _AREG52, _AREG53, _AREG54, _AREG55, _AREG56,
        _AREG57, _AREG58, _AREG59, _AREG60, _AREG61, _AREG62, _AREG63, _AREG64,
        _AREG65, _AREG66, _AREG67, _AREG68, _AREG69, _AREG70, _AREG71, _AREG72,
        _AREG73, _AREG74, _AREG75, _AREG76, _AREG77, _AREG78, _AREG79, _AREG80,
        _AREG81, _AREG82, _AREG83, _AREG84, _AREG85, _AREG86, _AREG87, _AREG88,
        _AREG89, _AREG90, _AREG91, _AREG92, _AREG93, _AREG94, _AREG95, _AREG96,
        _AREG97, _AREG98, _AREG99, _AREG100, _AREG101, _AREG102, _AREG103,
        _AREG104, _AREG105, _AREG106, _AREG107, _AREG108, _AREG109, _AREG110,
        _AREG111, _AREG112, _AREG113, _AREG114, _AREG115, _AREG116, _AREG117,
        _AREG118, _AREG119, _AREG120, _AREG121, _AREG122, _AREG123, _AREG124,
        _AREG125, _AREG126, _AREG127,

        _AREG_KR0 = _AREG0,
        _AREG_KR1 = _AREG1,
        _AREG_KR2 = _AREG2,
        _AREG_KR3 = _AREG3,
        _AREG_KR4 = _AREG4,
        _AREG_KR5 = _AREG5,
        _AREG_KR6 = _AREG6,
        _AREG_KR7 = _AREG7,
        _AREG_RSC = _AREG16,
        _AREG_BSP = _AREG17,
        _AREG_BSPSTORE = _AREG18,
        _AREG_RNAT = _AREG19,
        _AREG_CCV = _AREG32,
        _AREG_UNAT = _AREG36,
        _AREG_FPSR = _AREG40,
        _AREG_ITC = _AREG44,
        _AREG_PFS = _AREG64,
        _AREG_LC = _AREG65,
        _AREG_EC = _AREG66,


        _AREG_IOBASE = _AREG_KR0,
        _AREG_TSS = _AREG_KR1,
        _AREG_TSSD = _AREG_KR2,
        _AREG_Eflags = _AREG24,
        _AREG_CSD = _AREG25,
        _AREG_SSD = _AREG26,
        _AREG_CFLG = _AREG27,
        _AREG_FSR = _AREG28,
        _AREG_FIR = _AREG29,
        _AREG_FDR = _AREG30
} _Asm_app_reg;


typedef enum {
        _CREG0, _CREG1, _CREG2, _CREG3, _CREG4, _CREG5, _CREG6, _CREG7, _CREG8,
        _CREG9, _CREG10, _CREG11, _CREG12, _CREG13, _CREG14, _CREG15, _CREG16,
        _CREG17, _CREG18, _CREG19, _CREG20, _CREG21, _CREG22, _CREG23, _CREG24,
        _CREG25, _CREG26, _CREG27, _CREG28, _CREG29, _CREG30, _CREG31, _CREG32,
        _CREG33, _CREG34, _CREG35, _CREG36, _CREG37, _CREG38, _CREG39, _CREG40,
        _CREG41, _CREG42, _CREG43, _CREG44, _CREG45, _CREG46, _CREG47, _CREG48,
        _CREG49, _CREG50, _CREG51, _CREG52, _CREG53, _CREG54, _CREG55, _CREG56,
        _CREG57, _CREG58, _CREG59, _CREG60, _CREG61, _CREG62, _CREG63, _CREG64,
        _CREG65, _CREG66, _CREG67, _CREG68, _CREG69, _CREG70, _CREG71, _CREG72,
        _CREG73, _CREG74, _CREG75, _CREG76, _CREG77, _CREG78, _CREG79, _CREG80,
        _CREG81, _CREG82, _CREG83, _CREG84, _CREG85, _CREG86, _CREG87, _CREG88,
        _CREG89, _CREG90, _CREG91, _CREG92, _CREG93, _CREG94, _CREG95, _CREG96,
        _CREG97, _CREG98, _CREG99, _CREG100, _CREG101, _CREG102, _CREG103,
        _CREG104, _CREG105, _CREG106, _CREG107, _CREG108, _CREG109, _CREG110,
        _CREG111, _CREG112, _CREG113, _CREG114, _CREG115, _CREG116, _CREG117,
        _CREG118, _CREG119, _CREG120, _CREG121, _CREG122, _CREG123, _CREG124,
        _CREG125, _CREG126, _CREG127,

        _CREG_DCR = _CREG0,
        _CREG_ITM = _CREG1,
        _CREG_IVA = _CREG2,
        _CREG_PTA = _CREG8,
        _CREG_GPTA = _CREG9,
        _CREG_IPSR = _CREG16,
        _CREG_ISR = _CREG17,
        _CREG_IIP = _CREG19,
        _CREG_IFA = _CREG20,
        _CREG_ITIR = _CREG21,
        _CREG_IIPA = _CREG22,
        _CREG_IFS = _CREG23,
        _CREG_IIM = _CREG24,
        _CREG_IHA = _CREG25,
        _CREG_LID = _CREG64,
        _CREG_IVR = _CREG65,
        _CREG_TPR = _CREG66,
        _CREG_EOI = _CREG67,
        _CREG_IRR0 = _CREG68,
        _CREG_IRR1 = _CREG69,
        _CREG_IRR2 = _CREG70,
        _CREG_IRR3 = _CREG71,
        _CREG_ITV = _CREG72,
        _CREG_PMV = _CREG73,
        _CREG_CMCV = _CREG74,
        _CREG_LRR0 = _CREG80,
        _CREG_LRR1 = _CREG81
} _Asm_cntl_reg;


typedef enum {
        _NO_FENCE = 0x0,
        _UP_MEM_FENCE = 0x1,
        _UP_ALU_FENCE = 0x2,
        _UP_FLOP_FENCE = 0x4,
        _UP_SYS_FENCE = 0x8,
        _UP_CALL_FENCE = 0x10,
        _UP_BR_FENCE = 0x20,

        _DOWN_MEM_FENCE = 0x100,
        _DOWN_ALU_FENCE = 0x200,
        _DOWN_FLOP_FENCE= 0x400,
        _DOWN_SYS_FENCE = 0x800,
        _DOWN_CALL_FENCE= 0x1000,
        _DOWN_BR_FENCE = 0x2000
} _Asm_fence;
# 47 "/usr/include/machine/sys/param.h" 2 3 4
# 38 "/usr/include/sys/param.h" 2 3 4
# 433 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/syslimits.h" 2 3 4
# 12 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/limits.h" 2 3 4
# 40 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 2 3 4



extern "C" {










      typedef unsigned int wint_t;




      typedef unsigned int wctype_t;









#pragma extern wcscat, wcsncat, wcscpy, wcsncpy, wcslen
#pragma extern wcsspn, wcscspn, wcscmp, wcsncmp, wcswcs, wcstok 





#pragma extern wcscoll, wcsxfrm, wcswidth, iswalnum, iswalpha, iswcntrl
#pragma extern iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace
#pragma extern iswupper, iswxdigit, towlower, towupper, wctype, iswctype
#pragma extern fgetwc, fgetws, fputwc, fputws, getwc, getwchar, putwc, putwchar
#pragma extern ungetwc, wcstod, wcstol, wcstoul, wcsftime 

#pragma extern wcwidth 






#pragma extern getws, putws






# 139 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
         extern wchar_t *wcscat (wchar_t *, const wchar_t *);
         extern wchar_t *wcsncat (wchar_t *, const wchar_t *, size_t);
         extern wchar_t *wcscpy (wchar_t *, const wchar_t *);
         extern wchar_t *wcsncpy (wchar_t *, const wchar_t *, size_t);
         extern size_t wcslen (const wchar_t *);
         extern size_t wcsspn (const wchar_t *, const wchar_t *);
         extern size_t wcscspn (const wchar_t *, const wchar_t *);
         extern int wcscmp (const wchar_t *, const wchar_t *);
         extern int wcsncmp (const wchar_t *, const wchar_t *, size_t);






         extern size_t wcsftime (wchar_t *, size_t, const char *, const struct tm *);

         extern wchar_t *wcstok (wchar_t *, const wchar_t *);
# 165 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
#pragma extern wcschr, wcsrchr, wcspbrk


             extern wchar_t *wcschr (const wchar_t *, wchar_t);
             extern wchar_t *wcsrchr (const wchar_t *, wchar_t);




         extern wchar_t *wcspbrk (const wchar_t *, const wchar_t *);




         extern wchar_t *wcswcs (const wchar_t *, const wchar_t *);






         extern int wcscoll (const wchar_t *, const wchar_t *);
         extern size_t wcsxfrm (wchar_t *, const wchar_t *, size_t);


               extern int wcwidth (wchar_t);





         extern int wcswidth (const wchar_t *, size_t);



         extern int iswalnum (wint_t);
         extern int iswalpha (wint_t);
         extern int iswcntrl (wint_t);
         extern int iswdigit (wint_t);
         extern int iswgraph (wint_t);
         extern int iswlower (wint_t);
         extern int iswprint (wint_t);
         extern int iswpunct (wint_t);
         extern int iswspace (wint_t);
         extern int iswupper (wint_t);
         extern int iswxdigit (wint_t);
         extern wint_t towlower (wint_t);
         extern wint_t towupper (wint_t);
         extern wctype_t wctype (const char *);
         extern int iswctype (wint_t, wctype_t);


         extern wint_t fgetwc (FILE *);
         extern wchar_t *fgetws (wchar_t *, int, FILE *);
# 228 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
         extern wint_t fputwc (wint_t, FILE *);
         extern wint_t putwc (wint_t, FILE *);
         extern wint_t putwchar (wint_t);


         extern int fputws (const wchar_t *, FILE *);
         extern wint_t getwc (FILE *);
         extern wint_t getwchar (void);
         extern wint_t ungetwc (wint_t, FILE *);


         extern double wcstod (const wchar_t *, wchar_t **);
         extern long int wcstol (const wchar_t *, wchar_t **, int);
         extern unsigned long int wcstoul (const wchar_t *, wchar_t **, int);



         extern wchar_t *getws (wchar_t *);
         extern int putws (const wchar_t *);
# 256 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
#pragma extern iswblank







     extern int iswblank (wint_t);
# 284 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/wchar.h" 3 4
}
# 55 "/usr/local/include/g++-v3/cwchar" 2 3





extern "C"
{
  typedef struct
  {
    int __fill[6];
  } mbstate_t;
}


namespace std
{
  using ::mbstate_t;
}
# 46 "/usr/local/include/g++-v3/bits/fpos.h" 2 3

namespace std
{



  template< _StateT>
    class fpos
    {
    public:

      typedef _StateT __state_type;

    private:
      streamoff _M_off;
      __state_type _M_st;

    public:
      __state_type
      state() const { return _M_st; }

      void
      state(__state_type __st) { _M_st = __st; }



      fpos(): _M_off(streamoff()), _M_st(__state_type()) { }

      fpos(streamoff __off, __state_type __st = __state_type())
      : _M_off(__off), _M_st(__st) { }

      operator streamoff() const { return _M_off; }

      fpos&
      operator+=(streamoff __off) { _M_off += __off; return *this; }

      fpos&
      operator-=(streamoff __off) { _M_off -= __off; return *this; }

      fpos
      operator+(streamoff __off)
      {
        fpos __t(*this);
        __t += __off;
        return __t;
      }

      fpos
      operator-(streamoff __off)
      {
        fpos __t(*this);
        __t -= __off;
        return __t;
      }

      bool
      operator==(const fpos& __pos) const
      { return _M_off == __pos._M_off; }

      bool
      operator!=(const fpos& __pos) const
      { return _M_off != __pos._M_off; }

      streamoff
      _M_position() const { return _M_off; }

      void
      _M_position(streamoff __off) { _M_off = __off; }
    };


  typedef fpos<mbstate_t> streampos;



}
# 47 "/usr/local/include/g++-v3/iosfwd" 2 3
# 1 "/usr/local/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/usr/local/include/g++-v3/bits/functexcept.h" 3
# 1 "/usr/local/include/g++-v3/exception_defines.h" 1 3
# 35 "/usr/local/include/g++-v3/bits/functexcept.h" 2 3

namespace std
{

  void
  __throw_bad_exception(void);


  void
  __throw_bad_alloc(void);


  void
  __throw_bad_cast(void);

  void
  __throw_bad_typeid(void);


  void
  __throw_logic_error(const char* __s);

  void
  __throw_domain_error(const char* __s);

  void
  __throw_invalid_argument(const char* __s);

  void
  __throw_length_error(const char* __s);

  void
  __throw_out_of_range(const char* __s);

  void
  __throw_runtime_error(const char* __s);

  void
  __throw_range_error(const char* __s);

  void
  __throw_overflow_error(const char* __s);

  void
  __throw_underflow_error(const char* __s);


  void
  __throw_ios_failure(const char* __s);
}
# 48 "/usr/local/include/g++-v3/iosfwd" 2 3

namespace std
{
  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_ios;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_streambuf;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_istream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_ostream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_iostream;

  template< _CharT, _Traits = char_traits<_CharT>,
            _Alloc = allocator<_CharT> >
    class basic_stringbuf;

  template< _CharT, _Traits = char_traits<_CharT>,
           _Alloc = allocator<_CharT> >
    class basic_istringstream;

  template< _CharT, _Traits = char_traits<_CharT>,
           _Alloc = allocator<_CharT> >
    class basic_ostringstream;

  template< _CharT, _Traits = char_traits<_CharT>,
           _Alloc = allocator<_CharT> >
    class basic_stringstream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_filebuf;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_ifstream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_ofstream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class basic_fstream;

  template< _CharT, _Traits = char_traits<_CharT> >
    class istreambuf_iterator;

  template< _CharT, _Traits = char_traits<_CharT> >
    class ostreambuf_iterator;



  class ios_base;


  typedef basic_ios<char> ios;
  typedef basic_streambuf<char> streambuf;
  typedef basic_istream<char> istream;
  typedef basic_ostream<char> ostream;
  typedef basic_iostream<char> iostream;
  typedef basic_stringbuf<char> stringbuf;
  typedef basic_istringstream<char> istringstream;
  typedef basic_ostringstream<char> ostringstream;
  typedef basic_stringstream<char> stringstream;
  typedef basic_filebuf<char> filebuf;
  typedef basic_ifstream<char> ifstream;
  typedef basic_ofstream<char> ofstream;
  typedef basic_fstream<char> fstream;

  typedef basic_ios<wchar_t> wios;
  typedef basic_streambuf<wchar_t> wstreambuf;
  typedef basic_istream<wchar_t> wistream;
  typedef basic_ostream<wchar_t> wostream;
  typedef basic_iostream<wchar_t> wiostream;
  typedef basic_stringbuf<wchar_t> wstringbuf;
  typedef basic_istringstream<wchar_t> wistringstream;
  typedef basic_ostringstream<wchar_t> wostringstream;
  typedef basic_stringstream<wchar_t> wstringstream;
  typedef basic_filebuf<wchar_t> wfilebuf;
  typedef basic_ifstream<wchar_t> wifstream;
  typedef basic_ofstream<wchar_t> wofstream;
  typedef basic_fstream<wchar_t> wfstream;
}
# 45 "/usr/local/include/g++-v3/ios" 2 3
# 1 "/usr/local/include/g++-v3/exception" 1 3
# 40 "/usr/local/include/g++-v3/exception" 3
extern "C++" {

namespace std
{






  class exception
  {
  public:
    exception() throw() { }
    virtual ~exception() throw();


    virtual const char* what() const throw();
  };



  class bad_exception : public exception
  {
  public:
    bad_exception() throw() { }


    virtual ~bad_exception() throw();
  };


  typedef void (*terminate_handler) ();

  typedef void (*unexpected_handler) ();


  terminate_handler set_terminate(terminate_handler) throw();


  void terminate() __attribute__ ((__noreturn__));


  unexpected_handler set_unexpected(unexpected_handler) throw();


  void unexpected() __attribute__ ((__noreturn__));
# 98 "/usr/local/include/g++-v3/exception" 3
  bool uncaught_exception() throw();
}

namespace __gnu_cxx
{






  void __verbose_terminate_handler ();
}

}
# 46 "/usr/local/include/g++-v3/ios" 2 3
# 1 "/usr/local/include/g++-v3/bits/char_traits.h" 1 3
# 43 "/usr/local/include/g++-v3/bits/char_traits.h" 3

# 1 "/usr/local/include/g++-v3/cstring" 1 3
# 48 "/usr/local/include/g++-v3/cstring" 3
# 77 "/usr/local/include/g++-v3/cstring" 3
namespace std
{
  using ::memcpy;
  using ::memmove;
  using ::strcpy;
  using ::strncpy;
  using ::strcat;
  using ::strncat;
  using ::memcmp;
  using ::strcmp;
  using ::strcoll;
  using ::strncmp;
  using ::strxfrm;
  using ::strcspn;
  using ::strspn;
  using ::strtok;
  using ::memset;
  using ::strerror;
  using ::strlen;

  using ::memchr;

  inline void*
  memchr(void* __p, int __c, size_t __n)
  { return memchr(const_cast<const void*>(__p), __c, __n); }

  using ::strchr;

  inline char*
  strchr(char* __s1, int __n)
  { return __builtin_strchr(const_cast<const char*>(__s1), __n); }

  using ::strpbrk;

  inline char*
  strpbrk(char* __s1, const char* __s2)
  { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }

  using ::strrchr;

  inline char*
  strrchr(char* __s1, int __n)
  { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }

  using ::strstr;

  inline char*
  strstr(char* __s1, const char* __s2)
  { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
}
# 45 "/usr/local/include/g++-v3/bits/char_traits.h" 2 3


namespace std
{



  template<class _CharT>
    struct char_traits
    {
      typedef _CharT char_type;

      typedef unsigned long int_type;
      typedef streampos pos_type;
      typedef streamoff off_type;
      typedef mbstate_t state_type;

      static void
      assign(char_type& __c1, const char_type& __c2)
      { __c1 = __c2; }

      static bool
      eq(const char_type& __c1, const char_type& __c2)
      { return __c1 == __c2; }

      static bool
      lt(const char_type& __c1, const char_type& __c2)
      { return __c1 < __c2; }

      static int
      compare(const char_type* __s1, const char_type* __s2, size_t __n)
      {
        for (size_t __i = 0; __i < __n; ++__i)
          if (!eq(__s1[__i], __s2[__i]))
            return lt(__s1[__i], __s2[__i]) ? -1 : 1;
        return 0;
      }

      static size_t
      length(const char_type* __s)
      {
        const char_type* __p = __s;
        while (*__p) ++__p;
        return (__p - __s);
      }

      static const char_type*
      find(const char_type* __s, size_t __n, const char_type& __a)
      {
        for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
          if (*__p == __a) return __p;
        return 0;
      }

      static char_type*
      move(char_type* __s1, const char_type* __s2, size_t __n)
      { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); }

      static char_type*
      copy(char_type* __s1, const char_type* __s2, size_t __n)
      { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); }

      static char_type*
      assign(char_type* __s, size_t __n, char_type __a)
      {
        for (char_type* __p = __s; __p < __s + __n; ++__p)
          assign(*__p, __a);
        return __s;
      }

      static char_type
      to_char_type(const int_type& __c)
      { return char_type(__c); }

      static int_type
      to_int_type(const char_type& __c) { return int_type(__c); }

      static bool
      eq_int_type(const int_type& __c1, const int_type& __c2)
      { return __c1 == __c2; }

      static int_type
      eof() { return static_cast<int_type>(-1); }

      static int_type
      not_eof(const int_type& __c)
      { return eq_int_type(__c, eof()) ? int_type(0) : __c; }
    };



  template<>
    struct char_traits<char>
    {
      typedef char char_type;
      typedef int int_type;
      typedef streampos pos_type;
      typedef streamoff off_type;
      typedef mbstate_t state_type;

      static void
      assign(char_type& __c1, const char_type& __c2)
      { __c1 = __c2; }

      static bool
      eq(const char_type& __c1, const char_type& __c2)
      { return __c1 == __c2; }

      static bool
      lt(const char_type& __c1, const char_type& __c2)
      { return __c1 < __c2; }

      static int
      compare(const char_type* __s1, const char_type* __s2, size_t __n)
      { return memcmp(__s1, __s2, __n); }

      static size_t
      length(const char_type* __s)
      { return strlen(__s); }

      static const char_type*
      find(const char_type* __s, size_t __n, const char_type& __a)
      { return static_cast<const char_type*>(memchr(__s, __a, __n)); }

      static char_type*
      move(char_type* __s1, const char_type* __s2, size_t __n)
      { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }

      static char_type*
      copy(char_type* __s1, const char_type* __s2, size_t __n)
      { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }

      static char_type*
      assign(char_type* __s, size_t __n, char_type __a)
      { return static_cast<char_type*>(memset(__s, __a, __n)); }

      static char_type
      to_char_type(const int_type& __c)
      { return static_cast<char_type>(__c); }



      static int_type
      to_int_type(const char_type& __c)
      { return static_cast<int_type>(static_cast<unsigned char>(__c)); }

      static bool
      eq_int_type(const int_type& __c1, const int_type& __c2)
      { return __c1 == __c2; }

      static int_type
      eof() { return static_cast<int_type>((-1)); }

      static int_type
      not_eof(const int_type& __c)
      { return (__c == eof()) ? 0 : __c; }
  };
# 269 "/usr/local/include/g++-v3/bits/char_traits.h" 3
  template< _CharT, _Traits>
    struct _Char_traits_match
    {
      _CharT _M_c;
      _Char_traits_match(_CharT const& __c) : _M_c(__c) { }

      bool
      operator()(_CharT const& __a) { return _Traits::eq(_M_c, __a); }
    };
}
# 47 "/usr/local/include/g++-v3/ios" 2 3

# 1 "/usr/local/include/g++-v3/bits/localefwd.h" 1 3
# 44 "/usr/local/include/g++-v3/bits/localefwd.h" 3


# 1 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++locale.h" 1 3
# 36 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++locale.h" 3
# 1 "/usr/local/include/g++-v3/clocale" 1 3
# 48 "/usr/local/include/g++-v3/clocale" 3

# 1 "/usr/include/locale.h" 1 3 4
# 10 "/usr/include/locale.h" 3 4
  extern "C" {
# 23 "/usr/include/locale.h" 3 4
# 1 "/usr/include/sys/_null.h" 1 3 4
# 24 "/usr/include/locale.h" 2 3 4



  struct lconv {
        char *decimal_point;
        char *thousands_sep;
        char *grouping;
        char *int_curr_symbol;
        char *currency_symbol;
        char *mon_decimal_point;
        char *mon_thousands_sep;
        char *mon_grouping;
        char *positive_sign;
        char *negative_sign;
        char int_frac_digits;
        char frac_digits;
        char p_cs_precedes;
        char p_sep_by_space;
        char n_cs_precedes;
        char n_sep_by_space;
        char p_sign_posn;
        char n_sign_posn;
        };




#pragma extern setlocale, localeconv 







     extern char *setlocale(int, const char *);





     extern struct lconv *localeconv(void);

# 107 "/usr/include/locale.h" 3 4
#pragma extern __locale_names


   extern char __locale_names[6 +1][255 +1];
# 119 "/usr/include/locale.h" 3 4
  struct locale_data {
    char LC_ALL_D[59];
    char LC_COLLATE_D[59];
    char LC_CTYPE_D[59];
    char LC_MONETARY_D[59];
    char LC_NUMERIC_D[59];
    char LC_TIME_D[59];
    char LC_MESSAGES_D[59];
    };


#pragma extern getlocale 






     extern struct locale_data *getlocale(int);
# 169 "/usr/include/locale.h" 3 4
#pragma extern __err_string

extern char *__err_string;
# 188 "/usr/include/locale.h" 3 4
}
# 50 "/usr/local/include/g++-v3/clocale" 2 3





namespace std
{
  using ::lconv;
  using ::setlocale;
  using ::localeconv;
}
# 37 "/usr/local/include/g++-v3/ia64-hp-hpux11.22/bits/c++locale.h" 2 3

namespace std
{
  typedef int* __c_locale;
}
# 47 "/usr/local/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/usr/local/include/g++-v3/climits" 1 3
# 48 "/usr/local/include/g++-v3/climits" 3

# 1 "/usr/local/lib/gcc-lib/ia64-hp-hpux11.22/3.2/include/limits.h" 1 3 4
# 50 "/usr/local/include/g++-v3/climits" 2 3
# 48 "/usr/local/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/usr/local/include/g++-v3/cctype" 1 3
# 47 "/usr/local/include/g++-v3/cctype" 3
# 65 "/usr/local/include/g++-v3/cctype" 3
namespace std
{
  using ::isalnum;
  using ::isalpha;
  using ::iscntrl;
  using ::isdigit;
  using ::isgraph;
  using ::islower;
  using ::isprint;
  using ::ispunct;
  using ::isspace;
  using ::isupper;
  using ::isxdigit;
  using ::tolower;
  using ::toupper;
}
# 49 "/usr/local/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/usr/local/include/g++-v3/string" 1 3
# 44 "/usr/local/include/g++-v3/string" 3




# 1 "/usr/local/include/g++-v3/memory" 1 3
# 53 "/usr/local/include/g++-v3/memory" 3

# 1 "/usr/local/include/g++-v3/bits/stl_algobase.h" 1 3
# 67 "/usr/local/include/g++-v3/bits/stl_algobase.h" 3
# 1 "/usr/local/include/g++-v3/cstdlib" 1 3
# 48 "/usr/local/include/g++-v3/cstdlib" 3
# 84 "/usr/local/include/g++-v3/cstdlib" 3
namespace std
{
  using ::div_t;
  using ::ldiv_t;

  using ::abort;
  using ::abs;
  using ::atexit;
  using ::atof;
  using ::atoi;
  using ::atol;
  using ::bsearch;
  using ::calloc;
  using ::div;
  using ::exit;
  using ::free;
  using ::getenv;
  using ::labs;
  using ::ldiv;
  using ::malloc;
  using ::mblen;
  using ::mbstowcs;
  using ::mbtowc;
  using ::qsort;
  using ::rand;
  using ::realloc;
  using ::srand;
  using ::strtod;
  using ::strtol;
  using ::strtoul;
  using ::system;
  using ::wcstombs;
  using ::wctomb;

  inline long
  abs(long __i) { return labs(__i); }

  inline ldiv_t
  div(long __i, long __j) { return ldiv(__i, __j); }
}
# 68 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3

# 1 "/usr/local/include/g++-v3/new" 1 3
# 44 "/usr/local/include/g++-v3/new" 3
extern "C++" {

namespace std
{


  class bad_alloc : public exception
  {
  public:
    bad_alloc() throw() { }


    virtual ~bad_alloc() throw();
  };

  struct nothrow_t { };
  extern const nothrow_t nothrow;


  typedef void (*new_handler)();

  new_handler set_new_handler(new_handler);
}
# 79 "/usr/local/include/g++-v3/new" 3
void *operator new(std::size_t) throw (std::bad_alloc);
void *operator new[](std::size_t) throw (std::bad_alloc);
void operator delete(void *) throw();
void operator delete[](void *) throw();
void *operator new(std::size_t, const std::nothrow_t&) throw();
void *operator new[](std::size_t, const std::nothrow_t&) throw();
void operator delete(void *, const std::nothrow_t&) throw();
void operator delete[](void *, const std::nothrow_t&) throw();


inline void *operator new(std::size_t, void *place) throw() { return place; }
inline void *operator new[](std::size_t, void *place) throw() { return place; }

}
# 70 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3

# 1 "/usr/local/include/g++-v3/bits/stl_pair.h" 1 3
# 64 "/usr/local/include/g++-v3/bits/stl_pair.h" 3
namespace std
{


template <class _T1, class _T2>
struct pair {
  typedef _T1 first_type;
  typedef _T2 second_type;

  _T1 first;
  _T2 second;




  pair() : first(), second() {}




  pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}


  template <class _U1, class _U2>
  pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
};


template <class _T1, class _T2>
inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{
  return __x.first == __y.first && __x.second == __y.second;
}


template <class _T1, class _T2>
inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{
  return __x.first < __y.first ||
         (!(__y.first < __x.first) && __x.second < __y.second);
}


template <class _T1, class _T2>
inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
  return !(__x == __y);
}


template <class _T1, class _T2>
inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
  return __y < __x;
}


template <class _T1, class _T2>
inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
  return !(__y < __x);
}


template <class _T1, class _T2>
inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
  return !(__x < __y);
}
# 140 "/usr/local/include/g++-v3/bits/stl_pair.h" 3
template <class _T1, class _T2>


inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y)



{
  return pair<_T1, _T2>(__x, __y);
}

}
# 72 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/usr/local/include/g++-v3/bits/type_traits.h" 1 3
# 53 "/usr/local/include/g++-v3/bits/type_traits.h" 3
# 90 "/usr/local/include/g++-v3/bits/type_traits.h" 3
struct __true_type {};
struct __false_type {};

template <class _Tp>
struct __type_traits {
   typedef __true_type this_dummy_member_must_be_first;
# 113 "/usr/local/include/g++-v3/bits/type_traits.h" 3
   typedef __false_type has_trivial_default_constructor;
   typedef __false_type has_trivial_copy_constructor;
   typedef __false_type has_trivial_assignment_operator;
   typedef __false_type has_trivial_destructor;
   typedef __false_type is_POD_type;
};




template<> struct __type_traits<bool> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<char> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<signed char> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<unsigned char> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<wchar_t> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<short> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<unsigned short> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<int> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<unsigned int> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<long> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<unsigned long> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<long long> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<unsigned long long> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<float> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<double> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template<> struct __type_traits<long double> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};

template <class _Tp>
struct __type_traits<_Tp*> {
   typedef __true_type has_trivial_default_constructor;
   typedef __true_type has_trivial_copy_constructor;
   typedef __true_type has_trivial_assignment_operator;
   typedef __true_type has_trivial_destructor;
   typedef __true_type is_POD_type;
};





template <class _Tp> struct _Is_integer {
  typedef __false_type _Integral;
};

template<> struct _Is_integer<bool> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<char> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<signed char> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<unsigned char> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<wchar_t> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<short> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<unsigned short> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<int> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<unsigned int> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<long> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<unsigned long> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<long long> {
  typedef __true_type _Integral;
};

template<> struct _Is_integer<unsigned long long> {
  typedef __true_type _Integral;
};

template< _Tp> struct _Is_normal_iterator {
   typedef __false_type _Normal;
};


namespace std
{
  template< _Iterator, _Container> class __normal_iterator;
}

template< _Iterator, _Container>
struct _Is_normal_iterator< std::__normal_iterator<_Iterator, _Container> > {
   typedef __true_type _Normal;
};
# 73 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/usr/local/include/g++-v3/bits/stl_iterator_base_types.h" 1 3
# 68 "/usr/local/include/g++-v3/bits/stl_iterator_base_types.h" 3

namespace std
{
# 80 "/usr/local/include/g++-v3/bits/stl_iterator_base_types.h" 3
  struct input_iterator_tag {};

  struct output_iterator_tag {};

  struct forward_iterator_tag : public input_iterator_tag {};

  struct bidirectional_iterator_tag : public forward_iterator_tag {};

  struct random_access_iterator_tag : public bidirectional_iterator_tag {};
# 100 "/usr/local/include/g++-v3/bits/stl_iterator_base_types.h" 3
  template< _Category, _Tp, _Distance = ptrdiff_t,
           _Pointer = _Tp*, _Reference = _Tp&>
    struct iterator {

      typedef _Category iterator_category;

      typedef _Tp value_type;

      typedef _Distance difference_type;

      typedef _Pointer pointer;

      typedef _Reference reference;
    };







  template< _Iterator>
    struct iterator_traits {
      typedef _Iterator::iterator_category iterator_category;
      typedef _Iterator::value_type value_type;
      typedef _Iterator::difference_type difference_type;
      typedef _Iterator::pointer pointer;
      typedef _Iterator::reference reference;
    };

  template< _Tp>
    struct iterator_traits<_Tp*> {
      typedef random_access_iterator_tag iterator_category;
      typedef _Tp value_type;
      typedef ptrdiff_t difference_type;
      typedef _Tp* pointer;
      typedef _Tp& reference;
    };

  template< _Tp>
    struct iterator_traits<const _Tp*> {
      typedef random_access_iterator_tag iterator_category;
      typedef _Tp value_type;
      typedef ptrdiff_t difference_type;
      typedef const _Tp* pointer;
      typedef const _Tp& reference;
    };







  template< _Iter>
    inline iterator_traits<_Iter>::iterator_category
    __iterator_category(const _Iter&)
    { return iterator_traits<_Iter>::iterator_category(); }

}
# 74 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/usr/local/include/g++-v3/bits/stl_iterator_base_funcs.h" 1 3
# 68 "/usr/local/include/g++-v3/bits/stl_iterator_base_funcs.h" 3
# 1 "/usr/local/include/g++-v3/bits/concept_check.h" 1 3
# 39 "/usr/local/include/g++-v3/bits/concept_check.h" 3
# 69 "/usr/local/include/g++-v3/bits/stl_iterator_base_funcs.h" 2 3




namespace std
{
template< _InputIterator>
  inline iterator_traits<_InputIterator>::difference_type
  __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag)
  {

   

    iterator_traits<_InputIterator>::difference_type __n = 0;
    while (__first != __last) {
      ++__first; ++__n;
    }
    return __n;
  }

template< _RandomAccessIterator>
  inline iterator_traits<_RandomAccessIterator>::difference_type
  __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
             random_access_iterator_tag)
  {

   
    return __last - __first;
  }
# 111 "/usr/local/include/g++-v3/bits/stl_iterator_base_funcs.h" 3
template< _InputIterator>
  inline iterator_traits<_InputIterator>::difference_type
  distance(_InputIterator __first, _InputIterator __last)
  {

    return __distance(__first, __last, __iterator_category(__first));
  }

template< _InputIter, _Distance>
  inline void
  __advance(_InputIter& __i, _Distance __n, input_iterator_tag)
  {

   
    while (__n--) ++__i;
  }

template< _BidirectionalIterator, _Distance>
  inline void
  __advance(_BidirectionalIterator& __i, _Distance __n,
            bidirectional_iterator_tag)
  {

   

    if (__n > 0)
      while (__n--) ++__i;
    else
      while (__n++) --__i;
  }

template< _RandomAccessIterator, _Distance>
  inline void
  __advance(_RandomAccessIterator& __i, _Distance __n,
            random_access_iterator_tag)
  {

   
    __i += __n;
  }
# 164 "/usr/local/include/g++-v3/bits/stl_iterator_base_funcs.h" 3
template< _InputIterator, _Distance>
  inline void
  advance(_InputIterator& __i, _Distance __n)
  {

    __advance(__i, __n, __iterator_category(__i));
  }

}
# 75 "/usr/local/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/usr/local/include/g++-v3/bits/stl_iterator.h" 1 3
# 68 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
namespace std
{
# 89 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Iterator>
    class reverse_iterator
    : public iterator< iterator_traits<_Iterator>::iterator_category,
                      iterator_traits<_Iterator>::value_type,
                      iterator_traits<_Iterator>::difference_type,
                      iterator_traits<_Iterator>::pointer,
                      iterator_traits<_Iterator>::reference>
    {
    protected:
      _Iterator current;

    public:
      typedef _Iterator iterator_type;
      typedef iterator_traits<_Iterator>::difference_type
                                                               difference_type;
      typedef iterator_traits<_Iterator>::reference reference;
      typedef iterator_traits<_Iterator>::pointer pointer;

    public:



      reverse_iterator() { }




      explicit
      reverse_iterator(iterator_type __x) : current(__x) { }




      reverse_iterator(const reverse_iterator& __x)
      : current(__x.current) { }





      template< _Iter>
        reverse_iterator(const reverse_iterator<_Iter>& __x)
        : current(__x.base()) { }




      iterator_type
      base() const { return current; }






      reference
      operator*() const
      {
        _Iterator __tmp = current;
        return *--__tmp;
      }






      pointer
      operator->() const { return &(operator*()); }






      reverse_iterator&
      operator++()
      {
        --current;
        return *this;
      }






      reverse_iterator
      operator++(int)
      {
        reverse_iterator __tmp = *this;
        --current;
        return __tmp;
      }






      reverse_iterator&
      operator--()
      {
        ++current;
        return *this;
      }






      reverse_iterator operator--(int)
      {
        reverse_iterator __tmp = *this;
        ++current;
        return __tmp;
      }






      reverse_iterator
      operator+(difference_type __n) const
      { return reverse_iterator(current - __n); }






      reverse_iterator&
      operator+=(difference_type __n)
      {
        current -= __n;
        return *this;
      }






      reverse_iterator
      operator-(difference_type __n) const
      { return reverse_iterator(current + __n); }






      reverse_iterator&
      operator-=(difference_type __n)
      {
        current += __n;
        return *this;
      }






      reference
      operator[](difference_type __n) const { return *(*this + __n); }
    };
# 269 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Iterator>
    inline bool
    operator==(const reverse_iterator<_Iterator>& __x,
               const reverse_iterator<_Iterator>& __y)
    { return __x.base() == __y.base(); }

  template< _Iterator>
    inline bool
    operator<(const reverse_iterator<_Iterator>& __x,
              const reverse_iterator<_Iterator>& __y)
    { return __y.base() < __x.base(); }

  template< _Iterator>
    inline bool
    operator!=(const reverse_iterator<_Iterator>& __x,
               const reverse_iterator<_Iterator>& __y)
    { return !(__x == __y); }

  template< _Iterator>
    inline bool
    operator>(const reverse_iterator<_Iterator>& __x,
              const reverse_iterator<_Iterator>& __y)
    { return __y < __x; }

  template< _Iterator>
    inline bool
    operator<=(const reverse_iterator<_Iterator>& __x,
                const reverse_iterator<_Iterator>& __y)
    { return !(__y < __x); }

  template< _Iterator>
    inline bool
    operator>=(const reverse_iterator<_Iterator>& __x,
               const reverse_iterator<_Iterator>& __y)
    { return !(__x < __y); }

  template< _Iterator>
    inline reverse_iterator<_Iterator>::difference_type
    operator-(const reverse_iterator<_Iterator>& __x,
              const reverse_iterator<_Iterator>& __y)
    { return __y.base() - __x.base(); }

  template< _Iterator>
    inline reverse_iterator<_Iterator>
    operator+( reverse_iterator<_Iterator>::difference_type __n,
              const reverse_iterator<_Iterator>& __x)
    { return reverse_iterator<_Iterator>(__x.base() - __n); }
# 327 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Container>
    class back_insert_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
    {
    protected:
      _Container* container;

    public:

      typedef _Container container_type;


      explicit
      back_insert_iterator(_Container& __x) : container(&__x) { }
# 353 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
      back_insert_iterator&
      operator=( _Container::const_reference __value)
      {
        container->push_back(__value);
        return *this;
      }


      back_insert_iterator&
      operator*() { return *this; }


      back_insert_iterator&
      operator++() { return *this; }


      back_insert_iterator
      operator++(int) { return *this; }
    };
# 384 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Container>
    inline back_insert_iterator<_Container>
    back_inserter(_Container& __x)
    { return back_insert_iterator<_Container>(__x); }
# 397 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Container>
    class front_insert_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
    {
    protected:
      _Container* container;

    public:

      typedef _Container container_type;


      explicit front_insert_iterator(_Container& __x) : container(&__x) { }
# 422 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
      front_insert_iterator&
      operator=( _Container::const_reference __value)
      {
        container->push_front(__value);
        return *this;
      }


      front_insert_iterator&
      operator*() { return *this; }


      front_insert_iterator&
      operator++() { return *this; }


      front_insert_iterator
      operator++(int) { return *this; }
    };
# 453 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Container>
    inline front_insert_iterator<_Container>
    front_inserter(_Container& __x)
    { return front_insert_iterator<_Container>(__x); }
# 470 "/usr/local/include/g++-v3/bits/stl_iterator.h" 3
  template< _Container>
    class insert_iterator
    : public iterator<output_iterator_tag, void, void, void, void>
    {
    protected:
      _Container* container;
      _Container::iterator iter;

    public:

      typedef _Container container_type;





      inser