

#ifndef AString_included
#define AString_included

#define __AString_Sii __AString_2
#define _AString_Sii _AString_2
#define AString_2 AString_Sii
extern OBJ __AString_Sii;
extern OBJ _AString_Sii(OBJ,OBJ);

#define __AString_Sii_ __AString_3
#define _AString_Sii_ _AString_3
#define AString_3 AString_Sii_
extern OBJ __AString_Sii_;
extern OBJ _AString_Sii_(OBJ);

#define __AString_Art __AString_4
#define _AString_Art _AString_4
#define AString_4 AString_Art
extern OBJ __AString_Art;
extern OBJ _AString_Art(OBJ);

#define __AString_Aft __AString_5
#define _AString_Aft _AString_5
#define AString_5 AString_Aft
extern OBJ __AString_Aft;
extern OBJ _AString_Aft(OBJ);

#define __AString_Slg __AString_6
extern OBJ __AString_Slg;

#define __AString_Slg_ __AString_7
#define _AString_Slg_ _AString_7
#define AString_7 AString_Slg_
extern OBJ __AString_Slg_;
extern OBJ _AString_Slg_(OBJ);

#define __AString_Aempty __AString_8
extern OBJ __AString_Aempty;

#define __AString_Acons __AString_9
#define _AString_Acons _AString_9
#define AString_9 AString_Acons
extern OBJ __AString_Acons;
extern OBJ _AString_Acons(OBJ,OBJ);

#define __AString_Aempty_ __AString_10
#define _AString_Aempty_ _AString_10
#define AString_10 AString_Aempty_
extern OBJ __AString_Aempty_;
extern OBJ _AString_Aempty_(OBJ);

#define __AString_Acons_ __AString_11
#define _AString_Acons_ _AString_11
#define AString_11 AString_Acons_
extern OBJ __AString_Acons_;
extern OBJ _AString_Acons_(OBJ);

#define __AString_S5 __AString_12
#define _AString_S5 _AString_12
#define AString_12 AString_S5
extern OBJ __AString_S5;
extern OBJ _AString_S5(OBJ);

#define __AString_S5_O1 __AString_13
#define _AString_S5_O1 _AString_13
#define AString_13 AString_S5_O1
extern OBJ __AString_S5_O1;
extern OBJ _AString_S5_O1(OBJ,OBJ);

#define __AString_S5_O2 __AString_14
#define _AString_S5_O2 _AString_14
#define AString_14 AString_S5_O2
extern OBJ __AString_S5_O2;
extern OBJ _AString_S5_O2(OBJ,OBJ,OBJ);

#define __AString_S5_O3 __AString_15
#define _AString_S5_O3 _AString_15
#define AString_15 AString_S5_O3
extern OBJ __AString_S5_O3;
extern OBJ _AString_S5_O3(OBJ,OBJ,OBJ,OBJ);

#define __AString_S5_O4 __AString_16
#define _AString_S5_O4 _AString_16
#define AString_16 AString_S5_O4
extern OBJ __AString_S5_O4;
extern OBJ _AString_S5_O4(OBJ,OBJ,OBJ,OBJ,OBJ);

#define __AString_S5_O5 __AString_17
#define _AString_S5_O5 _AString_17
#define AString_17 AString_S5_O5
extern OBJ __AString_S5_O5;
extern OBJ _AString_S5_O5(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);

#define __AString_S5_O6 __AString_18
#define _AString_S5_O6 _AString_18
#define AString_18 AString_S5_O6
extern OBJ __AString_S5_O6;
extern OBJ _AString_S5_O6(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);

#define __AString_S5_O7 __AString_19
#define _AString_S5_O7 _AString_19
#define AString_19 AString_S5_O7
extern OBJ __AString_S5_O7;
extern OBJ _AString_S5_O7(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);

#define __AString_Sp5 __AString_21
#define _AString_Sp5 _AString_21
#define AString_21 AString_Sp5
extern OBJ __AString_Sp5;
extern OBJ _AString_Sp5(OBJ,OBJ);

#define __AString_Sdd __AString_22
#define _AString_Sdd _AString_22
#define AString_22 AString_Sdd
extern OBJ __AString_Sdd;
extern OBJ _AString_Sdd(OBJ,OBJ,OBJ);

#define __AString_Aiter __AString_23
#define _AString_Aiter _AString_23
#define AString_23 AString_Aiter
extern OBJ __AString_Aiter;
extern OBJ _AString_Aiter(OBJ,OBJ,OBJ);

#define __AString_Spp __AString_24
#define _AString_Spp _AString_24
#define AString_24 AString_Spp
extern OBJ __AString_Spp;
extern OBJ _AString_Spp(OBJ,OBJ);

#define __AString_Spsp __AString_25
#define _AString_Spsp _AString_25
#define AString_25 AString_Spsp
extern OBJ __AString_Spsp;
extern OBJ _AString_Spsp(OBJ,OBJ,OBJ);

#define __AString_Spsp_O1 __AString_26
#define _AString_Spsp_O1 _AString_26
#define AString_26 AString_Spsp_O1
extern OBJ __AString_Spsp_O1;
extern OBJ _AString_Spsp_O1(OBJ,OBJ,OBJ);

#define __AString_Spsp_O2 __AString_27
#define _AString_Spsp_O2 _AString_27
#define AString_27 AString_Spsp_O2
extern OBJ __AString_Spsp_O2;
extern OBJ _AString_Spsp_O2(OBJ,OBJ,OBJ);

#define __AString_Sp5p __AString_28
#define _AString_Sp5p _AString_28
#define AString_28 AString_Sp5p
extern OBJ __AString_Sp5p;
extern OBJ _AString_Sp5p(OBJ,OBJ,OBJ);

#define __AString_Sp5p_O1 __AString_29
#define _AString_Sp5p_O1 _AString_29
#define AString_29 AString_Sp5p_O1
extern OBJ __AString_Sp5p_O1;
extern OBJ _AString_Sp5p_O1(OBJ,OBJ,OBJ);

#define __AString_Sp5p_O2 __AString_30
#define _AString_Sp5p_O2 _AString_30
#define AString_30 AString_Sp5p_O2
extern OBJ __AString_Sp5p_O2;
extern OBJ _AString_Sp5p_O2(OBJ,OBJ,OBJ);

#define __AString_Atake __AString_31
#define _AString_Atake _AString_31
#define AString_31 AString_Atake
extern OBJ __AString_Atake;
extern OBJ _AString_Atake(OBJ,OBJ);

#define __AString_Adrop __AString_32
#define _AString_Adrop _AString_32
#define AString_32 AString_Adrop
extern OBJ __AString_Adrop;
extern OBJ _AString_Adrop(OBJ,OBJ);

#define __AString_Asplit __AString_33
#define _AString_Asplit _AString_33
#define AString_33 AString_Asplit
extern OBJ __AString_Asplit;
extern TUP2 _AString_Asplit(OBJ,OBJ);

#define __AString_Afront __AString_34
#define _AString_Afront _AString_34
#define AString_34 AString_Afront
extern OBJ __AString_Afront;
extern OBJ _AString_Afront(OBJ);

#define __AString_Arevert __AString_36
#define _AString_Arevert _AString_36
#define AString_36 AString_Arevert
extern OBJ __AString_Arevert;
extern OBJ _AString_Arevert(OBJ);

#define __AString_Alast __AString_38
#define _AString_Alast _AString_38
#define AString_38 AString_Alast
extern OBJ __AString_Alast;
extern OBJ _AString_Alast(OBJ);

#define __AString_S3 __AString_39
#define _AString_S3 _AString_39
#define AString_39 AString_S3
extern OBJ __AString_S3;
extern OBJ _AString_S3(OBJ);

#define __AString_Aexist_ __AString_40
#define _AString_Aexist_ _AString_40
#define AString_40 AString_Aexist_
extern OBJ __AString_Aexist_;
extern OBJ _AString_Aexist_(OBJ,OBJ);

#define __AString_Afind_ __AString_41
#define _AString_Afind_ _AString_41
#define AString_41 AString_Afind_
extern OBJ __AString_Afind_;
extern OBJ _AString_Afind_(OBJ,OBJ);

#define __AString_Aforall_ __AString_42
#define _AString_Aforall_ _AString_42
#define AString_42 AString_Aforall_
extern OBJ __AString_Aforall_;
extern OBJ _AString_Aforall_(OBJ,OBJ);

#define __AString_Sl __AString_43
#define _AString_Sl _AString_43
#define AString_43 AString_Sl
extern OBJ __AString_Sl;
extern OBJ _AString_Sl(OBJ,OBJ);

#define __AString_Sle __AString_44
#define _AString_Sle _AString_44
#define AString_44 AString_Sle
extern OBJ __AString_Sle;
extern OBJ _AString_Sle(OBJ,OBJ);

#define __AString_Sge __AString_45
#define _AString_Sge _AString_45
#define AString_45 AString_Sge
extern OBJ __AString_Sge;
extern OBJ _AString_Sge(OBJ,OBJ);

#define __AString_Sg __AString_46
#define _AString_Sg _AString_46
#define AString_46 AString_Sg
extern OBJ __AString_Sg;
extern OBJ _AString_Sg(OBJ,OBJ);

#define __AString_Se __AString_47
#define _AString_Se _AString_47
#define AString_47 AString_Se
extern OBJ __AString_Se;
extern OBJ _AString_Se(OBJ,OBJ);

#define __AString_SSe __AString_48
#define _AString_SSe _AString_48
#define AString_48 AString_SSe
extern OBJ __AString_SSe;
extern OBJ _AString_SSe(OBJ,OBJ);

#define __AString_S1 __AString_49
#define _AString_S1 _AString_49
#define AString_49 AString_S1
extern OBJ __AString_S1;
extern OBJ _AString_S1(OBJ);

#define __AString_Ainit __AString_50
#define _AString_Ainit _AString_50
#define AString_50 AString_Ainit
extern OBJ __AString_Ainit;
extern OBJ _AString_Ainit(OBJ,OBJ);

#define __AString_Ainit_O1 __AString_51
#define _AString_Ainit_O1 _AString_51
#define AString_51 AString_Ainit_O1
extern OBJ __AString_Ainit_O1;
extern OBJ _AString_Ainit_O1(OBJ,OBJ);

#define __AString_Sie __AString_52
#define _AString_Sie _AString_52
#define AString_52 AString_Sie
extern OBJ __AString_Sie;
extern OBJ _AString_Sie(OBJ,OBJ,OBJ);

#define __AString_Achunk __AString_53
#define _AString_Achunk _AString_53
#define AString_53 AString_Achunk
extern OBJ __AString_Achunk;
extern OBJ _AString_Achunk(OBJ,OBJ,OBJ);

#define __AString_Astart __AString_54
#define _AString_Astart _AString_54
#define AString_54 AString_Astart
extern OBJ __AString_Astart;
extern OBJ _AString_Astart(OBJ);

#define __AString_Adata __AString_55
#define _AString_Adata _AString_55
#define AString_55 AString_Adata
extern OBJ __AString_Adata;
extern OBJ _AString_Adata(OBJ);

#define __AString_Arest __AString_56
#define _AString_Arest _AString_56
#define AString_56 AString_Arest
extern OBJ __AString_Arest;
extern OBJ _AString_Arest(OBJ);

#define __AString_AasString __AString_57
#define _AString_AasString _AString_57
#define AString_57 AString_AasString
extern OBJ __AString_AasString;
extern OBJ _AString_AasString(OBJ);

#define __AString_Achunk_ __AString_59
#define _AString_Achunk_ _AString_59
#define AString_59 AString_Achunk_
extern OBJ __AString_Achunk_;
extern OBJ _AString_Achunk_(OBJ);

#define __AString_AgoodSmallSize __AString_65
extern OBJ __AString_AgoodSmallSize;

#define __AString_Arevert_O1 __AString_66
#define _AString_Arevert_O1 _AString_66
#define AString_66 AString_Arevert_O1
extern OBJ __AString_Arevert_O1;
extern OBJ _AString_Arevert_O1(OBJ,OBJ);

#define __AString_Arevert_O2 __AString_67
#define _AString_Arevert_O2 _AString_67
#define AString_67 AString_Arevert_O2
extern OBJ __AString_Arevert_O2;
extern OBJ _AString_Arevert_O2(OBJ,OBJ,OBJ);

#define __AString_S3_O1 __AString_68
#define _AString_S3_O1 _AString_68
#define AString_68 AString_S3_O1
extern OBJ __AString_S3_O1;
extern OBJ _AString_S3_O1(OBJ,OBJ);

#define __AString_Aexist__O1 __AString_69
#define _AString_Aexist__O1 _AString_69
#define AString_69 AString_Aexist__O1
extern OBJ __AString_Aexist__O1;
extern OBJ _AString_Aexist__O1(OBJ,OBJ,OBJ);

#define __AString_Afind__O1 __AString_70
#define _AString_Afind__O1 _AString_70
#define AString_70 AString_Afind__O1
extern OBJ __AString_Afind__O1;
extern OBJ _AString_Afind__O1(OBJ,OBJ,OBJ);

#define __AString_Aforall__O1 __AString_71
#define _AString_Aforall__O1 _AString_71
#define AString_71 AString_Aforall__O1
extern OBJ __AString_Aforall__O1;
extern OBJ _AString_Aforall__O1(OBJ,OBJ,OBJ);

#define __AString_S33 __AString_72
#define _AString_S33 _AString_72
#define AString_72 AString_S33
extern OBJ __AString_S33;
extern OBJ _AString_S33(OBJ);

#include "String.hc.h"

#ifndef AString_Sii
#define AString_Sii(x1,x2,x44) {x44=_AString_Sii(x1,x2);}
#endif

#ifndef AString_Sii_
#define AString_Sii_(x1,x13) {x13=_AString_Sii_(x1);}
#endif

#ifndef AString_Art
#define AString_Art(x1,x39) {x39=_AString_Art(x1);}
#endif

#ifndef AString_Aft
#define AString_Aft(x1,x33) {x33=_AString_Aft(x1);}
#endif

#ifndef AString_Slg_
#define AString_Slg_(x1,x5) {x5=_AString_Slg_(x1);}
#endif

#ifndef AString_Acons
#define AString_Acons(x1,x2,x3) {x3=_AString_Acons(x1,x2);}
#endif

#ifndef AString_Aempty_
#define AString_Aempty_(x1,x5) {x5=_AString_Aempty_(x1);}
#endif

#ifndef AString_Acons_
#define AString_Acons_(x1,x5) {x5=_AString_Acons_(x1);}
#endif

#ifndef AString_S5
#define AString_S5(x1,x4) {x4=_AString_S5(x1);}
#endif

#ifndef AString_S5_O1
#define AString_S5_O1(x1,x2,x7) {x7=_AString_S5_O1(x1,x2);}
#endif

#ifndef AString_S5_O2
#define AString_S5_O2(x1,x2,x3,x10) {x10=_AString_S5_O2(x1,x2,x3);}
#endif

#ifndef AString_S5_O3
#define AString_S5_O3(x1,x2,x3,x4,x13) {x13=_AString_S5_O3(x1,x2,x3,x4);}
#endif

#ifndef AString_S5_O4
#define AString_S5_O4(x1,x2,x3,x4,x5,x16) {x16=_AString_S5_O4(x1,x2,x3,x4,x5);}
#endif

#ifndef AString_S5_O5
#define AString_S5_O5(x1,x2,x3,x4,x5,x6,x8) {x8=_AString_S5_O5(x1,x2,x3,x4,x5,x6);}
#endif

#ifndef AString_S5_O6
#define AString_S5_O6(x1,x2,x3,x4,x5,x6,x7,x10) {x10=_AString_S5_O6(x1,x2,x3,x4,x5,x6,x7);}
#endif

#ifndef AString_S5_O7
#define AString_S5_O7(x1,x2,x3,x4,x5,x6,x7,x8,x10) {x10=_AString_S5_O7(x1,x2,x3,x4,x5,x6,x7,x8);}
#endif

#ifndef AString_Sp5
#define AString_Sp5(x1,x2,x36) {x36=_AString_Sp5(x1,x2);}
#endif

#ifndef AString_Sdd
#define AString_Sdd(x1,x2,x3,x9) {x9=_AString_Sdd(x1,x2,x3);}
#endif

#ifndef AString_Aiter
#define AString_Aiter(x1,x2,x3,x10) {x10=_AString_Aiter(x1,x2,x3);}
#endif

#ifndef AString_Spp
#define AString_Spp(x1,x2,x36) {x36=_AString_Spp(x1,x2);}
#endif

#ifndef AString_Spsp
#define AString_Spsp(x1,x2,x3,x32) {x32=_AString_Spsp(x1,x2,x3);}
#endif

#ifndef AString_Spsp_O1
#define AString_Spsp_O1(x1,x2,x3,x35) {x35=_AString_Spsp_O1(x1,x2,x3);}
#endif

#ifndef AString_Spsp_O2
#define AString_Spsp_O2(x1,x2,x3,x32) {x32=_AString_Spsp_O2(x1,x2,x3);}
#endif

#ifndef AString_Sp5p
#define AString_Sp5p(x1,x2,x3,x5) {x5=_AString_Sp5p(x1,x2,x3);}
#endif

#ifndef AString_Sp5p_O1
#define AString_Sp5p_O1(x1,x2,x3,x6) {x6=_AString_Sp5p_O1(x1,x2,x3);}
#endif

#ifndef AString_Sp5p_O2
#define AString_Sp5p_O2(x1,x2,x3,x5) {x5=_AString_Sp5p_O2(x1,x2,x3);}
#endif

#ifndef AString_Atake
#define AString_Atake(x1,x2,x48) {x48=_AString_Atake(x1,x2);}
#endif

#ifndef AString_Adrop
#define AString_Adrop(x1,x2,x38) {x38=_AString_Adrop(x1,x2);}
#endif

#ifndef AString_Asplit
#define AString_Asplit(x1,x2,x11,x12) {TUP2 t;t=_AString_Asplit(x1,x2);x11=t.c1;x12=t.c2;}
#endif

#ifndef AString_Afront
#define AString_Afront(x1,x70) {x70=_AString_Afront(x1);}
#endif

#ifndef AString_Arevert
#define AString_Arevert(x1,x2) {x2=_AString_Arevert(x1);}
#endif

#ifndef AString_Alast
#define AString_Alast(x1,x41) {x41=_AString_Alast(x1);}
#endif

#ifndef AString_S3
#define AString_S3(x1,x37) {x37=_AString_S3(x1);}
#endif

#ifndef AString_Aexist_
#define AString_Aexist_(x1,x2,x36) {x36=_AString_Aexist_(x1,x2);}
#endif

#ifndef AString_Afind_
#define AString_Afind_(x1,x2,x40) {x40=_AString_Afind_(x1,x2);}
#endif

#ifndef AString_Aforall_
#define AString_Aforall_(x1,x2,x36) {x36=_AString_Aforall_(x1,x2);}
#endif

#ifndef AString_Sl
#define AString_Sl(x1,x2,x3) {x3=_AString_Sl(x1,x2);}
#endif

#ifndef AString_Sle
#define AString_Sle(x1,x2,x3) {x3=_AString_Sle(x1,x2);}
#endif

#ifndef AString_Sge
#define AString_Sge(x1,x2,x3) {x3=_AString_Sge(x1,x2);}
#endif

#ifndef AString_Sg
#define AString_Sg(x1,x2,x3) {x3=_AString_Sg(x1,x2);}
#endif

#ifndef AString_Se
#define AString_Se(x1,x2,x3) {x3=_AString_Se(x1,x2);}
#endif

#ifndef AString_SSe
#define AString_SSe(x1,x2,x3) {x3=_AString_SSe(x1,x2);}
#endif

#ifndef AString_S1
#define AString_S1(x1,x4) {x4=_AString_S1(x1);}
#endif

#ifndef AString_Ainit
#define AString_Ainit(x1,x2,x4) {x4=_AString_Ainit(x1,x2);}
#endif

#ifndef AString_Ainit_O1
#define AString_Ainit_O1(x1,x2,x4) {x4=_AString_Ainit_O1(x1,x2);}
#endif

#ifndef AString_Sie
#define AString_Sie(x1,x2,x3,x49) {x49=_AString_Sie(x1,x2,x3);}
#endif

#ifndef AString_Achunk
#define AString_Achunk(x1,x2,x3,x4) {x4=_AString_Achunk(x1,x2,x3);}
#endif

#ifndef AString_Astart
#define AString_Astart(x1,x5) {x5=_AString_Astart(x1);}
#endif

#ifndef AString_Adata
#define AString_Adata(x1,x5) {x5=_AString_Adata(x1);}
#endif

#ifndef AString_Arest
#define AString_Arest(x1,x5) {x5=_AString_Arest(x1);}
#endif

#ifndef AString_AasString
#define AString_AasString(x1,x2) {x2=_AString_AasString(x1);}
#endif

#ifndef AString_Achunk_
#define AString_Achunk_(x1,x5) {x5=_AString_Achunk_(x1);}
#endif

#ifndef AString_Arevert_O1
#define AString_Arevert_O1(x1,x2,x42) {x42=_AString_Arevert_O1(x1,x2);}
#endif

#ifndef AString_Arevert_O2
#define AString_Arevert_O2(x1,x2,x3,x11) {x11=_AString_Arevert_O2(x1,x2,x3);}
#endif

#ifndef AString_S3_O1
#define AString_S3_O1(x1,x2,x40) {x40=_AString_S3_O1(x1,x2);}
#endif

#ifndef AString_Aexist__O1
#define AString_Aexist__O1(x1,x2,x3,x9) {x9=_AString_Aexist__O1(x1,x2,x3);}
#endif

#ifndef AString_Afind__O1
#define AString_Afind__O1(x1,x2,x3,x9) {x9=_AString_Afind__O1(x1,x2,x3);}
#endif

#ifndef AString_Aforall__O1
#define AString_Aforall__O1(x1,x2,x3,x9) {x9=_AString_Aforall__O1(x1,x2,x3);}
#endif

#ifndef AString_S33
#define AString_S33(x1,x31) {x31=_AString_S33(x1);}
#endif

#ifndef AString_S5_L73
#define AString_S5_L73(x1,x2) {x2=_AString_S5_L73(x1);}
#endif

#ifndef AString_Sii_L74
#define AString_Sii_L74(x1,x2) {x2=_AString_Sii_L74(x1);}
#endif

#ifndef AString_S5_O1_L75
#define AString_S5_O1_L75(x1,x2) {x2=_AString_S5_O1_L75(x1);}
#endif

#ifndef AString_S5_O1_L76
#define AString_S5_O1_L76(x1,x3) {x3=_AString_S5_O1_L76(x1);}
#endif

#ifndef AString_S5_O2_L77
#define AString_S5_O2_L77(x1,x2) {x2=_AString_S5_O2_L77(x1);}
#endif

#ifndef AString_S5_O2_L78
#define AString_S5_O2_L78(x1,x3) {x3=_AString_S5_O2_L78(x1);}
#endif

#ifndef AString_S5_O2_L79
#define AString_S5_O2_L79(x1,x3) {x3=_AString_S5_O2_L79(x1);}
#endif

#ifndef AString_S5_O3_L80
#define AString_S5_O3_L80(x1,x2) {x2=_AString_S5_O3_L80(x1);}
#endif

#ifndef AString_S5_O3_L81
#define AString_S5_O3_L81(x1,x3) {x3=_AString_S5_O3_L81(x1);}
#endif

#ifndef AString_S5_O3_L82
#define AString_S5_O3_L82(x1,x3) {x3=_AString_S5_O3_L82(x1);}
#endif

#ifndef AString_S5_O3_L83
#define AString_S5_O3_L83(x1,x3) {x3=_AString_S5_O3_L83(x1);}
#endif

#ifndef AString_S5_O4_L84
#define AString_S5_O4_L84(x1,x2) {x2=_AString_S5_O4_L84(x1);}
#endif

#ifndef AString_S5_O4_L85
#define AString_S5_O4_L85(x1,x3) {x3=_AString_S5_O4_L85(x1);}
#endif

#ifndef AString_S5_O4_L86
#define AString_S5_O4_L86(x1,x3) {x3=_AString_S5_O4_L86(x1);}
#endif

#ifndef AString_S5_O4_L87
#define AString_S5_O4_L87(x1,x3) {x3=_AString_S5_O4_L87(x1);}
#endif

#ifndef AString_S5_O4_L88
#define AString_S5_O4_L88(x1,x3) {x3=_AString_S5_O4_L88(x1);}
#endif

#ifndef AString_Sdd_L89
#define AString_Sdd_L89(x1,x2,x3,x5) {x5=_AString_Sdd_L89(x1,x2,x3);}
#endif

#endif
