.
├── April96_C++_Magazine
│ ├── !CDC1404.001
│ ├── !README
│ ├── FILENAME.TXT
│ ├── PHILLIPS
│ │ ├── CC.TIF
│ │ ├── CCSFILE.TIF
│ │ ├── CIPS.H
│ │ ├── CSTEREO.C
│ │ ├── PATTERN.C
│ │ ├── PSTEREO.C
│ │ ├── SQDEPTH.TIF
│ │ ├── SQDEQ.TIF
│ │ ├── SQSFILE.TIF
│ │ └── TIFFS.C
│ ├── PLAUGER
│ │ ├── ITERATOR
│ │ ├── REVERS1.CPP
│ │ └── REVERS2.CPP
│ ├── ROGERS
│ │ ├── EXAMPLE.C
│ │ └── EXPRESS
│ ├── SAKS
│ │ ├── DECL1.CPP
│ │ ├── DECL2.CPP
│ │ ├── DECL3.CPP
│ │ ├── PERROR.CPP
│ │ └── RESET.CPP
│ ├── SAVARD
│ │ ├── HELLO.C
│ │ └── SHARED
│ ├── SCHMIDT
│ │ ├── BOOL11.H
│ │ ├── BOOL13.H
│ │ └── V11-13.TXT
│ ├── SEEKAMP
│ │ ├── AIXKPROC.CPP
│ │ └── MYKPROC.CPP
│ ├── feature_article
│ │ ├── April_96_williams.zip
│ │ ├── WILL.BIO
│ │ ├── WILL.TXT
│ │ ├── WILLL1.C
│ │ └── WILLL2.C
│ └── template_example_from_C++_magazine
│ ├── VANCAML1.H
│ ├── VANCAML2.CPP
│ ├── VANCAML3.CPP
│ ├── VANCAML4.CPP
│ └── VANCAMP.TXT
├── Aug96_C++_Magazine
│ └── aug96.zip
├── Feb96_C++_Magazine
│ └── feb96.zip
├── Jan96_C++_Magazine
│ ├── !CDC1401.001
│ ├── !README
│ ├── FILENAME.TXT
│ ├── PERELMA
│ │ ├── SDI12.H
│ │ └── SUPPORT.CPP
│ ├── PERELMA2
│ │ ├── DPHLIST.H
│ │ ├── DPHPORT.CPP
│ │ ├── DPHPORT.H
│ │ ├── DPHTIME.CPP
│ │ ├── DPHTIME.H
│ │ ├── MAIN.CPP
│ │ ├── MAKEFILE
│ │ ├── MISC.H
│ │ ├── SDI12.CFG
│ │ ├── SDI12.CPP
│ │ └── SDI12.H
│ ├── PHILLIP2
│ │ └── BACKPROP.C
│ ├── PHILLIPS
│ │ ├── DELTAS.C
│ │ ├── INPUT.C
│ │ ├── TRAIN.C
│ │ └── WORKING.C
│ ├── SAKS
│ │ ├── DECLSPEC.TXT
│ │ └── INITDEC.TXT
│ ├── SCHMIDT
│ │ ├── BOOLACC.CPP
│ │ ├── BOOLREJ.CPP
│ │ ├── BOOLTEXT.H
│ │ ├── V1C.TXT
│ │ ├── V1CPP.TXT
│ │ ├── V2C.TXT
│ │ ├── V2CPP.TXT
│ │ ├── V3C.TXT
│ │ └── V3CPP.TXT
│ ├── VASILYEV
│ ├── WILLIAM
│ │ └── AUGVRT.C
│ └── WILLIAM2
│ ├── AUGVRT.C
│ ├── AUGVRTWU.DOC
│ ├── GETDBL.C
│ ├── MAKEFILE
│ ├── MATMPY.C
│ ├── MATPRT.C
│ ├── MPYDEFS.H
│ ├── TSTVRT.C
│ ├── TSTVRT2.C
│ └── TSTVRT3.C
├── July96_C++_Magazine
│ ├── !CDC1407.002
│ ├── BELL
│ │ ├── FORFUN.C
│ │ └── TEST.C
│ ├── COLNER
│ │ ├── HELLO.CPP
│ │ ├── HTML.CPP
│ │ ├── HTML.H
│ │ ├── STRCLASS.CPP
│ │ └── STRCLASS.H
│ ├── FILENAME.TXT
│ ├── HEYMAN
│ │ └── HEYMAN.ZIP
│ ├── LETTERS
│ │ └── LETTERS.ZIP
│ ├── PLAUGER
│ │ ├── MEMORY2.cc
│ │ ├── MEMORY3
│ │ ├── MEMORY4
│ │ ├── MEMORY5
│ │ ├── MEMORY6
│ │ └── MEMORY7
│ ├── SAKS
│ │ ├── DESPCSEQ.CPP
│ │ ├── DSPCSEQ.CPP
│ │ ├── SCANNER.H
│ │ ├── SCANNER2.H
│ │ ├── SCANNER3.H
│ │ ├── TABLE1.O
│ │ └── TABLE2.O
│ └── jul96.zip
├── June96_C++_Magazine
│ ├── !CDC1406.001
│ ├── !README
│ ├── DWYER
│ │ ├── COLISION.TST
│ │ │ ├── CLSNDATA.C
│ │ │ ├── CLSNDEFS.H
│ │ │ ├── CLSNPROB.C
│ │ │ ├── COLSN.100
│ │ │ ├── COLSNTST.C
│ │ │ ├── COLSN_A.INP
│ │ │ ├── COLSN_C.INP
│ │ │ ├── COLSN_J.INP
│ │ │ ├── COLSN_K.INP
│ │ │ ├── COLSN_R.INP
│ │ │ ├── COLSN_U.INP
│ │ │ ├── KSTEST_2.AWK
│ │ │ ├── MAKEFILE
│ │ │ ├── README.CT
│ │ │ └── SETCOLSN.C
│ │ ├── COUPON.TST
│ │ │ ├── 100.SH
│ │ │ ├── ADDFRAC.C
│ │ │ ├── CHIONCHI.AWK
│ │ │ ├── CPNCHISQ.C
│ │ │ ├── CUPNDEFS.H
│ │ │ ├── CUPNPROB.C
│ │ │ ├── CUPONTST.C
│ │ │ ├── CUPON_4.INP
│ │ │ ├── CUPON_A.INP
│ │ │ ├── CUPON_C.INP
│ │ │ ├── CUPON_H.INP
│ │ │ ├── CUPON_I.INP
│ │ │ ├── CUPON_L.INP
│ │ │ ├── CUPON_S.INP
│ │ │ ├── CUPON_U.INP
│ │ │ ├── CUPON_X.INP
│ │ │ ├── DIALOG.LST
│ │ │ ├── GENCPNDA.C
│ │ │ ├── GETGCD.C
│ │ │ ├── GETKS.SH
│ │ │ ├── MAKDAT.SH
│ │ │ ├── MAKEFILE
│ │ │ ├── MEANSD.AWK
│ │ │ ├── ONE.SH
│ │ │ ├── PLANCUPN.C
│ │ │ ├── README.CPN
│ │ │ ├── SETCUPN.C
│ │ │ └── TEN.SH
│ │ ├── DWYER.ZIP
│ │ ├── FREQ.TST
│ │ │ ├── CHI4.INP
│ │ │ ├── CHIA.INP
│ │ │ ├── CHIC.2
│ │ │ ├── CHIC.INP
│ │ │ ├── CHIF.INP
│ │ │ ├── CHIH.INP
│ │ │ ├── CHIK.INP
│ │ │ ├── CHIL.INP
│ │ │ ├── CHIM.INP
│ │ │ ├── CHIONCHI.AWK
│ │ │ ├── CHIP.INP
│ │ │ ├── CHIS.INP
│ │ │ ├── CHISQFRQ.C
│ │ │ ├── CHIT.INP
│ │ │ ├── CHIX.INP
│ │ │ ├── EXCHISQ.C
│ │ │ ├── EXECKOSM.C
│ │ │ ├── FREQDEFS.H
│ │ │ ├── FREQTST.C
│ │ │ ├── KOSM4.INP
│ │ │ ├── KOSMA.INP
│ │ │ ├── KOSMC.2
│ │ │ ├── KOSMC.INP
│ │ │ ├── KOSMF.INP
│ │ │ ├── KOSMH.INP
│ │ │ ├── KOSMK.INP
│ │ │ ├── KOSML.INP
│ │ │ ├── KOSMM.INP
│ │ │ ├── KOSMP.INP
│ │ │ ├── KOSMS.INP
│ │ │ ├── KOSMT.INP
│ │ │ ├── KOSMU.INP
│ │ │ ├── KOSMX.2
│ │ │ ├── KOSMX.INP
│ │ │ ├── KSFREQ.C
│ │ │ ├── KSPROB.AWK
│ │ │ ├── KSTEST10.AWK
│ │ │ ├── MAG.AWK
│ │ │ ├── MAKEFILE
│ │ │ ├── README.FRQ
│ │ │ ├── RUNTST.SH
│ │ │ ├── SETCHISQ.C
│ │ │ ├── SETKOSM.C
│ │ │ └── UNMEANSD.AWK
│ │ ├── GAP.TST
│ │ │ ├── 100.SH
│ │ │ ├── CHIONCHI.AWK
│ │ │ ├── GAPCHISQ.C
│ │ │ ├── GAPCOD.TXT
│ │ │ ├── GAPDEFS.H
│ │ │ ├── GAPMNSD.C
│ │ │ ├── GAPPROBS.C
│ │ │ ├── GAPTST.C
│ │ │ ├── GAP_A.INP
│ │ │ ├── GAP_C.INP
│ │ │ ├── GAP_F.INP
│ │ │ ├── GAP_H.INP
│ │ │ ├── GAP_I.INP
│ │ │ ├── GAP_K.INP
│ │ │ ├── GAP_L.INP
│ │ │ ├── GAP_M.INP
│ │ │ ├── GAP_P.INP
│ │ │ ├── GAP_S.INP
│ │ │ ├── GAP_TST.INP
│ │ │ ├── GAP_U.INP
│ │ │ ├── GAP_X.INP
│ │ │ ├── GENGAPDA.C
│ │ │ ├── GETKS.SH
│ │ │ ├── KSTEST_2.AWK
│ │ │ ├── MAKDAT.SH
│ │ │ ├── MAKEFILE
│ │ │ ├── MAXGAPLN.C
│ │ │ ├── ONE.SH
│ │ │ ├── PLANGAP.C
│ │ │ ├── PLANGAPX.C
│ │ │ ├── README.GAP
│ │ │ ├── SETGAP.C
│ │ │ ├── TEN.SH
│ │ │ ├── TSTMNSD.C
│ │ │ └── TSTPROBS.C
│ │ ├── INCL
│ │ │ ├── DEFCODES.H
│ │ │ ├── MCONF.H
│ │ │ └── MISCDEFS.H
│ │ ├── LIB
│ │ │ ├── ABRTGCLY.C
│ │ │ ├── BINCOEF.C
│ │ │ ├── BITMANIP.C
│ │ │ ├── BIT_HLRS.H
│ │ │ ├── CALCHARM.C
│ │ │ ├── CALCMNSD.C
│ │ │ ├── CHDTR.C
│ │ │ ├── CHISQDST.C
│ │ │ ├── CONST.C
│ │ │ ├── DRAND.C
│ │ │ ├── FAC.C
│ │ │ ├── FCNSLIST.1
│ │ │ ├── FCNSLIST.2
│ │ │ ├── FCNSLIST.3
│ │ │ ├── FCNSLIST.4
│ │ │ ├── GAMMA.C
│ │ │ ├── GETCHR.C
│ │ │ ├── GETDBL.C
│ │ │ ├── GETINITD.C
│ │ │ ├── GETINT.C
│ │ │ ├── GETLDBL.C
│ │ │ ├── GETLONG.C
│ │ │ ├── GETUINT.C
│ │ │ ├── IGAM.C
│ │ │ ├── IGAMI.C
│ │ │ ├── KSCALC.C
│ │ │ ├── KSINV.C
│ │ │ ├── KSMIRNOV.C
│ │ │ ├── M77RAND.C
│ │ │ ├── MAKEFILE
│ │ │ ├── MAKEFILE.DOS
│ │ │ ├── MARSAG.C
│ │ │ ├── MTHERR.C
│ │ │ ├── NDTR.C
│ │ │ ├── NDTRI.C
│ │ │ ├── POLEVL.C
│ │ │ ├── POWI.C
│ │ │ ├── QRMRAND.C
│ │ │ ├── RAND250.C
│ │ │ ├── RANDCOMB.C
│ │ │ ├── RANDMZJ.C
│ │ │ ├── RANDPORT.C
│ │ │ ├── RANDS55.C
│ │ │ └── STIRLING.C
│ │ ├── MAKEFILE
│ │ ├── MAXOFT.TST
│ │ │ ├── MAKEFILE
│ │ │ ├── MAXOFTKS.C
│ │ │ ├── MAXOFTST.C
│ │ │ ├── MAXOFT_C.INP
│ │ │ ├── MAXOF_4.INP
│ │ │ ├── MAXOF_A.INP
│ │ │ ├── MAXOF_C.INP
│ │ │ ├── MAXOF_F.INP
│ │ │ ├── MAXOF_H.INP
│ │ │ ├── MAXOF_I.INP
│ │ │ ├── MAXOF_K.INP
│ │ │ ├── MAXOF_L.INP
│ │ │ ├── MAXOF_M.INP
│ │ │ ├── MAXOF_P.INP
│ │ │ ├── MAXOF_S.INP
│ │ │ ├── MAXOF_U.INP
│ │ │ ├── MAXOF_X.INP
│ │ │ ├── MAXTDEFS.H
│ │ │ ├── README.MXT
│ │ │ └── SETMAXT.C
│ │ ├── PERMUTE.TST
│ │ │ ├── ANLZPMTN.C
│ │ │ ├── MAKEFILE
│ │ │ ├── PERMUTST.C
│ │ │ ├── PERMUT_4.INP
│ │ │ ├── PERMUT_A.INP
│ │ │ ├── PERMUT_C.INP
│ │ │ ├── PERMUT_H.INP
│ │ │ ├── PERMUT_M.INP
│ │ │ ├── PERMUT_S.INP
│ │ │ ├── PERMUT_U.INP
│ │ │ ├── PERMUT_X.INP
│ │ │ ├── PMTCHISQ.C
│ │ │ ├── PMTNDEFS.H
│ │ │ ├── README.PTT
│ │ │ ├── SETPRMUT.C
│ │ │ ├── TSTANLZ.C
│ │ │ └── TSTPMTCH.C
│ │ ├── POKER.TST
│ │ │ ├── MAKEFILE
│ │ │ ├── PKRCHISQ.C
│ │ │ ├── PLANPOKR.C
│ │ │ ├── POKERTST.C
│ │ │ ├── POKER_4.INP
│ │ │ ├── POKER_A.INP
│ │ │ ├── POKER_C.INP
│ │ │ ├── POKER_M.INP
│ │ │ ├── POKER_U.INP
│ │ │ ├── POKER_X.INP
│ │ │ ├── POKRDEFS.H
│ │ │ ├── POKRPROB.C
│ │ │ ├── README.PKR
│ │ │ └── SETPOKER.C
│ │ ├── QFLOAT
│ │ │ ├── CALC100.DOC
│ │ │ ├── CALLS.TXT
│ │ │ ├── DIVN.ASM
│ │ │ ├── MAKEFILE
│ │ │ ├── MCONF.H
│ │ │ ├── MTHERR.C
│ │ │ ├── MULR.ASM
│ │ │ ├── NEW.DOC
│ │ │ ├── QCONST.C
│ │ │ ├── QEXP.C
│ │ │ ├── QF68K.ASM
│ │ │ ├── QFLOATEX.H
│ │ │ ├── QFLOOR.C
│ │ │ ├── QFLTA.C
│ │ │ ├── QFLTB.C
│ │ │ ├── QFLTD.ASM
│ │ │ ├── QFLTI.C
│ │ │ ├── QHEAD.ASM
│ │ │ ├── QHEAD.H
│ │ │ ├── QLOG.C
│ │ │ ├── QLOG10.C
│ │ │ ├── QPOW.C
│ │ │ ├── QPROTOS.H
│ │ │ ├── QRAND.C
│ │ │ ├── QREMAIN.C
│ │ │ ├── QSQRT.C
│ │ │ ├── QSQRTA.C
│ │ │ ├── QTANH.C
│ │ │ ├── QTENS.H
│ │ │ └── SUBM.ASM
│ │ ├── READ.ME
│ │ ├── RUN.TST
│ │ │ ├── AVG.AWK
│ │ │ ├── CHIONCHI.AWK
│ │ │ ├── CNTRUNS.C
│ │ │ ├── GENCHISQ.C
│ │ │ ├── GENRUNDA.C
│ │ │ ├── MAKEFILE
│ │ │ ├── README.RUN
│ │ │ ├── RECUR.DOC
│ │ │ ├── RECUR.TXT
│ │ │ ├── ROUNDL.C
│ │ │ ├── RUNDEFS.H
│ │ │ ├── RUNMNSD.C
│ │ │ ├── RUNTST.C
│ │ │ ├── RUN_4.INP
│ │ │ ├── RUN_A.INP
│ │ │ ├── RUN_C.INP
│ │ │ ├── RUN_F.INP
│ │ │ ├── RUN_G.INP
│ │ │ ├── RUN_H.INP
│ │ │ ├── RUN_I.INP
│ │ │ ├── RUN_J.INP
│ │ │ ├── RUN_K.ERR
│ │ │ ├── RUN_K.INP
│ │ │ ├── RUN_L.INP
│ │ │ ├── RUN_M.INP
│ │ │ ├── RUN_P.INP
│ │ │ ├── RUN_R.ERR
│ │ │ ├── RUN_R.INP
│ │ │ ├── RUN_S.ERR
│ │ │ ├── RUN_S.INP
│ │ │ ├── RUN_U.INP
│ │ │ ├── SETRUN.C
│ │ │ └── TSTMNSD.C
│ │ ├── SERIAL.TST
│ │ │ ├── 100.SH
│ │ │ ├── CHIONCHI.AWK
│ │ │ ├── GETKS.SH
│ │ │ ├── MAKEFILE
│ │ │ ├── ONE.SH
│ │ │ ├── README.SRL
│ │ │ ├── SERLCOD.TXT
│ │ │ ├── SERLDEFS.H
│ │ │ ├── SERLTST.C
│ │ │ ├── SERL_4.INP
│ │ │ ├── SERL_A.INP
│ │ │ ├── SERL_C.INP
│ │ │ ├── SERL_F.INP
│ │ │ ├── SERL_H.INP
│ │ │ ├── SERL_I.INP
│ │ │ ├── SERL_J.INP
│ │ │ ├── SERL_K.INP
│ │ │ ├── SERL_L.INP
│ │ │ ├── SERL_M.INP
│ │ │ ├── SERL_P.INP
│ │ │ ├── SERL_R.INP
│ │ │ ├── SERL_S.INP
│ │ │ ├── SERL_U.INP
│ │ │ ├── SERL_W.INP
│ │ │ ├── SERL_X.INP
│ │ │ ├── SETSERL.C
│ │ │ ├── SRLCHISQ.C
│ │ │ └── TEN.SH
│ │ ├── SERLCORL.TST
│ │ │ ├── BJCOEF.C
│ │ │ ├── MAKEFILE
│ │ │ ├── SCRCHISQ.C
│ │ │ ├── SECORTST.C
│ │ │ ├── SETSCCTL.C
│ │ │ ├── SRCRDEFS.H
│ │ │ └── TSTBJCOF.C
│ │ └── SPECTRAL.TST
│ │ ├── CALCMERT.CX
│ │ ├── CKXMOD.CX
│ │ ├── DWYER01.INP
│ │ ├── DWYER02.INP
│ │ ├── DWYER03.INP
│ │ ├── DWYER04.INP
│ │ ├── DWYER05.INP
│ │ ├── DWYER06.INP
│ │ ├── DWYER07.INP
│ │ ├── EHEAD.H
│ │ ├── EUCLSTEP.CX
│ │ ├── GETCTLDA.CX
│ │ ├── GETGCD.CX
│ │ ├── INP.127
│ │ ├── INP.250
│ │ ├── INP.BOR
│ │ ├── INP.KBW
│ │ ├── INP.L10
│ │ ├── INP.L21
│ │ ├── INP.L22
│ │ ├── INP.L25
│ │ ├── INP.L26
│ │ ├── INP.L27
│ │ ├── INP.L28
│ │ ├── INP.L29
│ │ ├── INP.L30
│ │ ├── INP.L4
│ │ ├── INP.L6
│ │ ├── INP.L7
│ │ ├── INP.L8
│ │ ├── INP.LEM
│ │ ├── INP.LEX
│ │ ├── INP.M77
│ │ ├── INP.MSC
│ │ ├── INP.PGR
│ │ ├── INP.PJP
│ │ ├── INPA.L26
│ │ ├── INPA.L28
│ │ ├── INPB.L28
│ │ ├── INPCCPP.MAG
│ │ ├── INPX.L28
│ │ ├── MAKEFILE
│ │ ├── PRTSPDAT.CX
│ │ ├── PUTXFLT.CX
│ │ ├── PUTXFRAC.CX
│ │ ├── PUTXINT.CX
│ │ ├── QHEAD.H
│ │ ├── SPECDEFS.H
│ │ ├── SPECTRAL.CX
│ │ ├── SPECTRAL.DOC
│ │ ├── SPECTRAL.TXT
│ │ ├── TSTEPOW.CX
│ │ ├── TSTPUTXF.CX
│ │ ├── TSTPUTXI.CX
│ │ ├── XDOT.CX
│ │ ├── XMATPRT.CX
│ │ ├── XMOD.CX
│ │ ├── XQHEAD.H
│ │ └── XTENDEFS.H
│ ├── FILENAME.TXT
│ ├── KERZNER
│ │ └── SELECT.CPP
│ ├── PLAUGER
│ │ ├── MEMORY.cc
│ │ ├── MEMORY2.cc
│ │ ├── MEMORY2.cc~
│ │ └── MEMORY~
│ ├── SAKS
│ │ └── SAKS.ZIP
│ ├── SCHROEDE
│ │ └── SCHROEDE.ZIP
│ └── SCHULIST
│ └── SCHULIST.ZIP
├── March96_C++_Magazine
│ └── mar96.zip
├── May96_C++_Magazine
│ ├── !CDC1405.001
│ ├── !README
│ ├── ALLISON
│ │ ├── ALLISON.ZIP
│ │ ├── CONNECT.CPP
│ │ ├── CONNECT.H
│ │ ├── COUNTSET.CPP
│ │ ├── COUNTSET.H
│ │ ├── DBXFACE.H
│ │ ├── EMPLOYEE.CPP
│ │ ├── EMPLOYEE.H
│ │ ├── EMPQUERY.CPP
│ │ ├── EMPQUERY.H
│ │ ├── EMPREC~1.CPP
│ │ ├── EMPREC~1.H
│ │ ├── EMPUPD~1.CPP
│ │ ├── EMPUPD~1.H
│ │ ├── IDSET.CPP
│ │ ├── IDSET.H
│ │ ├── MAIN1.CPP
│ │ ├── MAIN2.CPP
│ │ ├── MAIN3.CPP
│ │ ├── PERSIST.H
│ │ ├── QUERY.CPP
│ │ ├── QUERY.H
│ │ ├── UPDATE.CPP
│ │ └── UPDATE.H
│ ├── BECKER
│ │ └── BECKERT1.O
│ ├── FILENAME.TXT
│ ├── HATHCOCK
│ │ ├── GLOBALS.H
│ │ ├── NETWORK.C
│ │ ├── POP3.C
│ │ ├── POPMAIL.C
│ │ ├── POPMAIL.DEF
│ │ ├── POPMAIL.H
│ │ ├── POPMAIL.RC
│ │ ├── POPMAIL.RH
│ │ ├── WINSOCK.H
│ │ └── WINSOCK.LIB
│ ├── JENSEN
│ │ └── HEAPPACK.C
│ ├── KISELYOV
│ │ ├── MYENV.CC
│ │ ├── MYENV.H
│ │ └── TCP_RELA.CC
│ ├── MERRILL
│ │ ├── MAKEFUN.C
│ │ └── SAMPLE.C
│ ├── PLAUGER
│ │ └── ITERATOR
│ ├── SAKS
│ │ ├── DECPARSE.CPP
│ │ ├── TABLE1.O
│ │ └── TABLE2.O
│ └── WILLIAMS
│ ├── MADSUB.C
│ ├── MAKEFILE
│ ├── MATDEFS.H
│ └── TSTMADSB.C
└── index.htm
62 directories, 555 files
tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher
JSON output hacked and copyleft © 2014 by Florian Sesser
Charsets / OS/2 support © 2001 by Kyosuke Tokoro